Hello Kris,
thank you for your detailed response, this makes Drols Flow an even more
appealing solution for data-driven processes.
Yes, if you execute your processes in advanced mode, we are
translating
procedural constructs like sequence into a more declarative rule like the
one you described as an example. Note we are currently not doing that for
all procedural constructs (like branch / joins) but we plan to extend these
integration points over time.
JOpera might be worth a look. It uses a ECA-driven approach and support a range of
control patterns [1] via dependency conditions [2].
This does allow you to execute a process without having explicit connections
between all nodes. We like to describe this as process fragments, where you
have small, not-connected flow fragments and where the rules or the user can
define when each fragment should be executed, etc. This could then be
event-based, data-based, user-triggered, etc. Instead of the process
controlling everything, we see this as an inversion where your rules will be
controlling the process fragments.
Could this be expressed in the process XML, while it explicitely states
"connections"
between the tasks ?
This is however still work in progress
(meaning a lot is already possible if you dive into it, but we definitely
need to extend the tooling etc. to better harness this power before we
unleash this to our users). I'm hoping to do a blog entry about this soon,
to show some direction. If you're interested in this, it's also related to
flexible or ad-hoc processes, adaptible case management, etc.
Yes please, I'd like to continue this topic.
Drools currently targets the Java space primarly. But this doesn't mean you
can't use if for XML processing. At this stage, this could become rather
complex as we don't provide high-level constructs yet to manipulate this XML
data, so you'd have to either build this yourself or do more low-level XML
manipulation. As part of our move to BPMN2, we are however planning to
seriously enhance this, by adding XPath as a constraint language dialect,
better web service integration (as part of our integration with the ESB and
the entire SOA platform), etc.
SCXML [3] has the notion of a pluggable data- and expression langauge model and
[4] offers an XML/Xpath support. This results in an elegant way of specifing
state (task) activation through data-driven transitions:
<state id="frist">
<datamodel>
<data id="input">
<input> <!-- will change e.g. through incomming events/interaction -->
<source/>
<content/>
</input>
</data>
</datamodel>
<transition cond="$input/content != ''"
target="second"/>
</state>
<state id="second"/>
On the other side SCXML requires a design-time decision on state coordination
(state vs. parallel elements) which makes it unsuitable for adaptive worklflows.
Having at least XPath as a constraint language operating on whatever data model
(e.g. Java beans) would be great!
Best regards
Jaro
[1]
http://www.workflowpatterns.com/patterns/control/index.php
[2]
http://www.jopera.org/docs/help/jop_9.html
[3]
http://www.w3.org/TR/scxml/
[4]
http://commons.apache.org/scxml/index.html
----- Original Message -----
From: "Jaroslav Pullmann" <jaroslav.pullmann(a)fit.fraunhofer.de>
To: <rules-users(a)lists.jboss.org>
Sent: Friday, February 26, 2010 2:47 PM
Subject: [rules-users] Drools Flow / Declarative process definition
> Dear Drools team,
>
> I like much the approach of Drools Flow and would appreciate to learn
> more.
>
> The documentation states the extended rule engine having knowledge of the
> process model
> and instance state derives the next process execution step. I am
> wondering, whether the
> overall flow is reactive, even the procedural constructs like sequence,
> branching/joining
> are implemented through firing rule actions ? For example, does Drools
> Flow converts the
> sequence of steps A -> B into sth. like "when A.passed then B.start()"
?
>
> When the prevoius holds, does Drools Flow allows to create (desgin) and
> execute declarative processes
> omiting any explicit sequencing ? The steps/tasks were ordered partially
> by data- or event-based
> dependency conditions or even activated independently of each other.
>
> Drools Flow/Expert provide a thight integration with Java (e.g.
> representing facts as Java classes).
> Are there future plans for supporting a higher-level processing with
> XML/XPath/XQuery like in YAWL ?
>
> Many thanks
> Jaro
>
>
>
>
> --
> Jaroslav Pullmann
> Web Compliance Center - Fraunhofer FIT
> Schloss Birlinghoven, D-53757 Sankt Augustin, Germany
> Phone: +49-2241-142623 Fax: +49-2241-142065
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
Disclaimer:
http://www.kuleuven.be/cwis/email_disclaimer.htm
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Jaroslav Pullmann
Web Compliance Center - Fraunhofer FIT
Schloss Birlinghoven, D-53757 Sankt Augustin, Germany
Phone: +49-2241-142623 Fax: +49-2241-142065