Hi, 

Activiti (http://activiti.org) is a 'superdelux process engine for
Java' (quote from http://forums.activiti.org/ ;)), which uses BPMN 2.0
and comes with Apache Licence. It has some nice management webapps, and
can be run either embedded in java application or e.g. in OSGi
environment.

I wrote simple camel component which enables enables integration with
activiti.
You can invoke camel route from process:

<serviceTask id="serviceTask" activiti:delegateExpression="${camel}"/>
(bpmn 2.0 fragment)

from("activiti:camelProcess:serviceTask")
          .to("log:pl.touk")
          .setBody().property("var1")
          .to("file:///tmp/activiti/serviceTask");

(camelProcess is name of bpmn process, var1 is variable in process) 

You can also signal process from camel route:

<receiveTask id="receive" name="Wait State"/>
(bpmn 2.0 fragment)

from( "file:///tmp/activiti/receive")
                 .convertBodyTo(String.class)
                 .setProperty("PROCESS_KEY_PROPERTY").xpath("//@key")
                 .to("activiti:camelProcess:receive");
(PROCESS_KEY_PROPERTY is business process identifier, camelProcess is
bpmn process name)

https://github.com/mproch/camel-activiti - here is the code
https://github.com/mproch/activitiCamelKarafSample - here is sample,
and here http://forums.activiti.org/en/viewtopic.php?f=4&t=630 is
description for activiti forum (it starts with some 'why is camel great
framework ;)). 

I'm not sure where does this project really belong to -  activiti or
camel (assuming of course that any community would accept this
contribution ;)), however activiti is being developing more rapidly now
(1 month release cycle) so guess it makes more sense to put it in
activiti. 

I'd be grateful for any comments/remarks

br, 
maciek prochniak

Reply via email to