BeJUG session about Activiti, Tom Baeyens & Joram Barrez, March 31
Business process
– management view : flow chart
– technical : make it runnable
BPMN 2.0
– OMG standard: shapes, execution, semantics, XML format,…
Large pool of people knowing BPMN
many editors eg Visio, Aris,…
–> executable on Activiti
Activiti
– 100% java
– open source (APache)
– lightweight
– performant
– embeddable
Diagram as input
API (startProcess etc, and many forms as output)
Manual steps + automatic steps
Developers are crucial for a BPM process
– almost always coding of steps is needed
Custom tasks : implement JavaDelegate (use in a ServiceTask).
Activiti allows unit testing of processes
– @Deployment annotation loads the process (based on test class name etc)
Timers
– stop and other process or parallell process
Service bean & spring integration:
– activiti:method-expr=”${loanRequestBean.newLoanRequest(customerName, amount)}”
– activiti:result-variable-name=”loanRequest”
– loanRequestBean is a Spring or CDI bean
CDI/Spring annotations:
– @ProcessScope on class
– @StartProcess on method
– …
Activiti = many parts, including the best BPM engine
Activiti Modeler : web application for modelling BPMN 2.0 processes
Activiti Explorer : see tasks/process, run tasks
Activiti Probe : system administration
Activiti cycle : BPM collaboration done right
Activiti KickStart : allow very easy creation of processes, simple processes or rapid prototyping
Activiti REST API
Activiti Eclipse designer : modelling BPMN 2.0 processes in Eclipse
Mobile Activiti
Android client
Grails integration
Software development problem
– discuss requirements
– bild what they want
– show results
– re-iterate
–> you want faster prototyping
Process engine : combine automatic and manual steps
Automatic steps
– Java or scripting
– WS
– add activiti types automatically in designer
– SAAS, on-premise back-office integration : developer work
Why use process engine
– overview diagram
– rapid prototyping
– fast implementation, many automatic activities
– business benefit: improve communication between business and developers
Why Activiti?
– BPMN .0
– liberal OS license
– large and thriving community
Collaboration
– analyst build abstract process (requirement)
– developer makes that process executable (software)
Activiti cycle
– Collaboration for process solutions, using repositories (Alfresco, svn, jira, …)
– Link and discuss artifacts from different repos
– lifecycle guidance
– revamped in 5.4 (released April 1, no joke)
ACM and BPM, adaptive vs structured, see http://column2.com
Activiti will be integrated in Alfresco. A first development release with embedded Activiti is available now. It will be available in the next community release in August. This should then result in a new enterprise version in November which contains the Activiti integration.
The full talk was recorded and should become available on Parleys soon.
Leave a Reply