[rules-users] First experience with Drools 'BPM' ruleflow : some questions

Kris Verlaenen kris.verlaenen at cs.kuleuven.be
Tue Sep 29 08:35:21 EDT 2009


Thierry,

Thanks for the feedback, comments inline!

Quoting Thierry <thierry.lejealle at capgemini.com>:

> [...] I just miss the possibility to map an ActionClass when I 
> want to do something requiring many java code lines. Otherwise it
> seems overall better.
Having lots of Java code in your process usually isn't a good idea (as
you embed implementation details in your process.  Take a look at
pluggable work items: they allow you to extend your palette with
domain-specific nodes and have the Java code that handles the
implementation in handler classes:
https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-flow/html/ch.Domain_Specific_Processes.html

> Is there a way to render the process model more user friendly toward
> more 'business' people ? [...] A graphical editor would be very
> nice.
You're kidding, right? ;) How do you define your processes now, through
XML directly?  There is an Eclipse plugin that allows you to create
processes graphically using drag-and-drop of course.  And you can expect
a web-based one in the future (business people seem to like that).

> Is there a way to change a node type (other than XML hacking...) I
> wanted to test my process using action nodes. If I want to change
> them to ruleset or human task how can I do it ?
Sorry, that is currently not supported in the editor, you'll need to
draw the new node and relink connections.

> Are they tool to facilitate process simulation ?
Simulation is being worked on, at this point there is a lot of advanced
debugging though, so you can inspect the state of your instances
(including visual annotation of the process graph).
https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/docs/drools-flow/html/ch10.html

> Are they way to generate Human Task test screen ?
There is an Eclipse plugin that allows you to query for human tasks and
complete them, for testing purposes.  Similarly, there is a simple Swing
GUI that can be used to see the work items generated by the process and
complete them: 

> Is it possible to instanciante a process variable in a node ? 
Yes, use kcontext.setVariable(name, value);

> Bugs ? As it's my first try I wouldn't report them until sure it's
> bugs (and they're not yet reported !)
>  - In my first process I just clicked on 'OK' to enter constraints on
> split 
> node (I had one on always true, and every other blank). That removed
> the 
> process compil error. But generated a null pointer error at run time.
> I wished 
> the error would give me the node name. I wished those null pointer
> error were 
> detected in the process check phase. The possibility to have 'blank'
> constraints just to test other part of the process would be nice.
I will check this, it should indeed discover the null constraint before
execution and provide a valid error message.

>  - I have a split note with constraints going towards actions node. I
> realize 
> one action node is useless and wants to map directly toward the next
> node in 
> taht line (to remove the useless action node). Dragging the
> connection removes 
> the constraits... Too bad :(
Yes, that is because constraints are linked to connections ...

>  - I got StackOverflow doing unintentionaly a loop in my process. I
> wished the engine would allow a special exit conditions on those case !
True, something we should look at in the future.

Kris

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the rules-users mailing list