Activiti, Tom Baeyens & Joram Barrez
BPMN 2.0
liberal license : Apache
Born May 17, 2010
– including Alfresco, Springsource, Signavio, Camunda,…
– seperate brand and project
BPMN 2.0 : OMG standard : shapes, execution semantics, file format
General endorsement
Activiti thinks of BPM as the domain specific language.
Out-of-the-box : control flow, functional activity types, everything you expect from a typical BPM system
Activiti is an embeddable process engine, using any java environment, any appserver (or none), any DB,…
Embed in your db, your tx, your domain model, your tests, your spring application context
Moving parts :
– BPM engine
– Activiti modeler : modelling processes in the browser
– Activiti explorer : task management application (process instance inspection and reporting coming)
– Activiti probe : system administration: status oveview, stuck jobs, deploy new processes,…
– Activiti cycle : BPM collaboration done right
– Activiti REST API
– Activiti Eclipse designer, also include BPMN extensions, pluggable activiti support (use your own steps in the designer)
– iPhone client, Android client coming up
– Grails integration
custom step : “implements JavaDelegation” and implement “execute(DelegateExecution)()” method.
Real-life demo
demo code will be online soon
uses CMIS (content management integration service) to talk to Alfresco (OpenCMIS).
Unit test support, made even easier by extening ActivityTestCase, allowing @Deployment(resources=”blabla.xml”) on test
Query API
– no need to learn internal data model
– access deployments and process definitions, process instances and executions, history, variables, tasks, jobs, users,…
Spring integration
– Process engine as spring bean
– Delegate to spring beans, e.g. serviceTask reference to spring bean
Method expressions and JPA
Pluggable way of handling forms, used form example to integrate with flex forms, + 2 ways of forms : rendered by form or do form rendering outside of the engine with process being passed. GWT integration documented on wiki.