- 1.JBoss jBPM
- Business Process Management
-
- BPM as software engineering
2. Tom Baeyens
- Lead and founder of JBoss jBPM
- Consulting for numerous BPM projects
-
- InfoQ, TSS, Dzone, OnJava,
-
- http://processdevelopments.blogspot.com/
-
- JavaOne, JBossWorld, JAOO, TSS,
3. BPM as a Discipline
-
- Unrelated to software architecture
4. BPM as Software Engineering
- Aspect of software expressed as a graph
- BPMS runs process executions
5. Traditional BPM Vendors
-
- BPEL is integration technology
-
- Atomic operation is WSDL service invocations
-
- Service orchestration as solution for BPM ?
-
-
- Lost of tooling required to hide clumsy basics
-
- BPM Suite has its own software architecture
-
-
- Doesnt embed within users software architecture
6. jBPM !
-
- Use the most appropriate tech
-
-
- Java, groovy, web services, SQL
-
- Java excellent dispatcher technology
7. jBPMs Modelling Advantage
-
- Click on the button in the screen
-
- Escalate if it takes too long
-
- RESTfull webservice communication with server
-
- SEAM can invoke my ejb 3 beans
-
- EJB 3 beans have required transaction demarcation
-
- SEAM integrates with my business process layer
-
- Sending email must be done asynchronous
8. jBPMs Modelling Advantage
- No forced link between graph and transaction
-
- Flexible transaction demarcation
9. jBPMs Modelling Advantage Your App Your Architecture jBPM
Business Analyst Developer 10. jBPMs Modelling Advantage Your App
Your Architecture jBPM Business Analyst Developer 11. jBPMs
Embeddable Advantage
- Software is a combination of
- Process inside your architecture
-
- Binds to users transaction (JEE, JSE, SEAM, Spring,)
-
- Stores data in users database
-
- Links to domain model objects
-
- Test inside users test suite
12. jBPMs Embeddable Advantage
-
- Asynchronous continuations
Transaction 1 Transaction 2 13. jBPMs Embeddable Advantage
- Works with plain Java code
- High level asynchronous transactional modelling
-
- Standard Javathanks to jobexecutor
-
- Enterprise Javawithout deployment descriptor hell
14. jBPMs Use Cases
- Orchestrating Human Tasks
15.
- < process name = "TaskCandidateGroups" >
- < transition to = "review" />
- candidate-users = "johndoe, joesmoe" >
- < transition to = "wait" />
16.
- Execution execution = executionService
- .startProcessInstanceByKey( "TaskCandidates" );
- String executionId = execution.getId();
- taskService.getGroupTaskList( "johndoe" , 0, 10);
- assertEquals(1, taskList.size());
- Task task = taskList.get(0);
- assertEquals( "review" , task.getName());
- taskService.getGroupTaskList( "joesmoe" , 0, 10);
- assertEquals(1, taskList.size());
- assertEquals( "review" , task.getName());
17. Multiple Process Languages 18. jBPM Key Business Values
-
- Business analysts can work with our tool :-)
-
- Based on good communication
-
- Leaves tech things with developers
-
- Creates a common language
- First generally applicable solution forBPM as a discipline
19. jBPM Key Technical Values
- Take away the TX plumbing
-
- Get overview beyond transactions
- Learn 1 workflow/BPM technology
-
- Leverage that knowledge investment it in all your projects
-
- The one-stop-shop argument
20. jBPM Evolution
- First Activity Pluggability
- First Enterprise Embeddability
- Activity Pluggability API
Product Project 21. Current Status
-
- Productization being finished
- jBPM 4.0.0.Alpha2 is released
- jBPM 4.0.0.GA planned for July
- First scope for jBPM 4 is jBPM 3 functionality
-
- Improved node pluggability (easy extension)
-
- More integrated language coverage
22. jBPM Roadmap
- jBPM 4.0.0.Alpha1 released on time
- 4.0.0.GA minimal scope jBPM 3
1 January 1 March 1 May 1 July 1 September 1 April 1 June
4.0.0.Alpha1 4.0.0.Alpha2 4.0.0.Beta1 4.0.0.Beta2 4.0.0.CR1
4.0.0.GA 23. jBPM Improvements
- QA : From Community To Our Lab
24. jBPM Improvements
25. jBPM Improvements
-
- More flexibility inbetween minor releases
-
- Process language partitioning
26. Designer 27. Console 28. Console 29. Q&A 30. Execution
Modes 31. Execution Modes Processes Executions History JVM BPM
Engine (1) PersistentDynamic 32. Execution Modes Executions History
JVM BPM Engine Process Resources (2) PersistentProcess resource 33.
Execution Modes Executions History JVM BPM Engine Process Resources
(3) Persistent Embedded Referenced INSURANCE_CLAIMS ID STATE 34.
Execution Modes History JVM BPM Engine Process Resources (4)
Persistent Embedded Included review INSURANCE_CLAIMS ID STATE 35.
Execution Modes History JVM BPM Engine Process Resources Execution
Objects (5) Memory With Persistent History 36. Execution Modes JVM
BPM Engine Process Resources Execution Objects (6) Memory 37.
Process Concurrency