OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

cam message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Re: [cam] RE: Drools and CAM


I look forward to Marks' comments.

I'm wondering if he is west coast based - giving us an 8 hour time spread

What I'm envisioning using DROOLS for is complex business logic.  For
example - in the grants application processing we have implemented in java -
an applicant can resubmit their application.  Then the validation runs
something like this -

if (resubmission) and (prior grant # entered) and (phase2 submission)
check prior grant
  if (for this applicants organization) and
  if (not awarded) and (pending or in review)
  and (was submitted in previous council round)
  action - mark prior application as superceded

Needless to say this is not doable with XPath alone - requiring queries to
the database - and checking of various conditions and values between the
backend data and the XML data.


----- Original Message ----- 
From: <martin.me.roberts@bt.com>
To: <mproctor@codehaus.org>; <david@drrw.info>
Cc: <TANVEER_ASHIQUE@bah.com>; <cam@lists.oasis-open.org>
Sent: Monday, January 02, 2006 7:36 AM
Subject: [cam] RE: Drools and CAM


 In JCAM I have built in a mechanism to have DROOLS perform the
DataValidation section of the CAM Spec.  The idea is that by passing in a
set of nodes described by an XPath it would be posible to invoke a script
that would then work with the nodes supplied.
This is done by describing a Java Class that allows the nodes to be added to
the DROOLS working memory and allow the consequences to interact with the
nodes by changing values etc.
It seems to work reasonably well and is very simple to implement.

I am also toying with the idea of using the DROOLS ApplicationData construct
to allow the rules engine to be passed the either the template or the
xmlfile.  This would enable DROOLS to manipulate the complete tree and
possibly transform the output based on the rules.  The other extension would
be to allow the DROOLS to be passed an empty document that it could use to
hang new constructs off based on the rules firing.

One of the questions I have is what rules might be applied.  Without some
clear examples it if not easy to know how to integrate the tool.  It seems
to me that DROOLS could be used in two parts of the CAM template -
DataValidations and External Mappings.

One further thing I am investigating for jCAM is the use of PicoContainer as
a method to allow the other processors to be included into the processor.
The idea being that for each section of the CAM template a processor would
be passed three possible things - the XML file being processed, the Assembly
Structure after the Business Rules hade been applied and the section of the
CAM template the applied to the processor being plugin.  The advantage of
this method is that we can get the whole of the CAM Spec done by different
people yet all work with the same tool.  It also means that somebody can
change the default processor with another without affecting the other bits.
For example if I get the split right we should be able to allow schema based
includes without disrupting the rest of the tool.

Happy New Year



From: Mark Proctor [mailto:mproctor@codehaus.org]
Sent: Mon 02/01/2006 05:46
To: David RR Webber (XML)
Cc: TANVEER_ASHIQUE@bah.com; CAM TC; Roberts,MME,Martin,XBX R
Subject: Re: Drools and CAM

Sure no problem, we are always there - just letting you know, in case you
need any help with Drools.

David RR Webber (XML) wrote:


We'll see who it goes.  My time is extremely short this week - will attend
to the PPT first.  Maybe some of the other folks on the list may want to hop
over for a chat....

Thanks, DW

-------- Original Message --------
Subject: Re: Drools and CAM
From: Mark Proctor <mproctor@codehaus.org> <mailto:mproctor@codehaus.org>
Date: Sun, January 01, 2006 10:38 pm
To: "David Webber (XML)" <david@drrw.info> <mailto:david@drrw.info>
Cc: TANVEER_ASHIQUE@bah.com, CAM TC <cam@lists.oasis-open.org>
<mailto:cam@lists.oasis-open.org> , Martin
Roberts <martin.me.roberts@bt.com> <mailto:martin.me.roberts@bt.com>

IRC isn't a list it's a live chat room where you can talk to me and the
other developers - no need to subscribe, just pop in and have a chat :)

David Webber (XML) wrote:


Your PPT is a great introduction to the world of rule engines and

My own background is heavily Prolog - for 15 years.  I missed seeing
constraint based solutioning - but I guess DROOLS has to leave
somethings to
those old purpose built engines!  And besides DROOLS could always
collaborate with a Prolog engine as a close cousin.... ; -)

On to CAM and DROOLS.  I have some PPT slides I will share during the
once I've cleaned them up for external perusal.

Basically the notion is to use the mechanisms in CAM - that is
essentially a
domain expert agent in XML structures and metadata - and provide an
interface directly in CAM to DROOLS and back again.  Then we're adding
ability to persist to SQL databases in CAM directly from the XML source
using simple XML syntax based assignment instructions.

This should allow people who are not DROOLS experts - to create a
business-centric solution that quickly handles basic ebusiness
transactions - while allowing extended rules to be layered into this -
software staff - that handle decreet rules and tests that are beyond the
scope of the base CAM function set.

This gives people the best of both worlds - a purpose built business XML
expert agent - coupled to the extensible DROOLS engine.

Your snippet of DROOLS V3 shows that this is all heading in the right

We've been experimenting with:
<as:includeScript location="{url/my.drl}"/>
<as:executeScript name="{name.drl}" parm="\\xpath\locator\*"/>

as a first pass to provide linkage between the two.

I am definately interested in discussing this with the DROOLS community
where CAM can provide a pluggable XML handler toolkit for DROOLS users?

Beyond all this - DROOLS also looks like a good means to implement a
machine for BPSS (and JBOSS driven BPM) as envisioned in our BCM
architecture work - but we'll solve one problem at a time here!

I'm a bit allergic to signing up for IRC lists - my daily bandwidth is
severally constrained already - but we can definately look at sharing
collaboration resources - possibly a wiki area - where ideas and test
components can be posted..?

Thanks, DW

----- Original Message ----- 
From: "Mark Proctor" <mproctor@codehaus.org> <mailto:mproctor@codehaus.org>
To: <david@drrw.info> <mailto:david@drrw.info> ; <TANVEER_ASHIQUE@bah.com>
Sent: Sunday, January 01, 2006 2:24 PM
Subject: Drools and CAM

David, Tanveer,

GoogleAlert brought your postings to my attention. We have big plans for
Drools 3.0, which will be available at the end of Q1 - see the slides at


for more details.

In the mean time if there is anything more we can do to assist or you
just want a general chat, we are always on the irc server #drools at
irc.codehaus.org - we provide a web gateway at http://irc.codehaus.org
if you do not want to install an IRC client.


To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  You may a link to this group and all your TCs in OASIS

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]