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.
