jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM...
Transcript of jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM...
![Page 1: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/1.jpg)
jBPM Migrationgenerating your process future
Eric D. SchabellJBoss Technology Evangelist @ericschabell
![Page 2: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/2.jpg)
Are you in a rush?
Here is a quickie...
![Page 3: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/3.jpg)
You put your faith in jBPM for your processes...
![Page 4: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/4.jpg)
...help us by ensuring you position projects with best
practices...
![Page 5: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/5.jpg)
...and we have a good shot at tooling your
migration to a bright future with
jBPM!
![Page 6: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/6.jpg)
Agenda
Where are my jBPM projects now?
Migration complexities in the enterprise
Status jBPM Migration Tool project
![Page 7: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/7.jpg)
jBPM 3.x
• The first productized version of jBPM– jBPM 3.2 Sep 2007 to Sep 2013
• latest SOA-P 5 == jBPM 3.2.6
• Feb 2010 to Feb 2015
– SOA-P 5.x • will contain jBPM 3.2.x
– tried, trusted, proven, rock solid enterprise component!
![Page 8: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/8.jpg)
jBPM 5.x
• The current release– released into the community 2010– supported JBoss product BRMS
![Page 9: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/9.jpg)
jBPM 6.x
• The future of JBoss BPM– release in community at Beta versions.– will be in a JBoss product.
![Page 10: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/10.jpg)
Agenda
Where are my jBPM projects now?
Migration complexities in the enterprise
Status jBPM Migration Tool project
![Page 11: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/11.jpg)
We have been architecting,
implementing and deploying jBPM
solutions in the strangest places for years now...
![Page 12: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/12.jpg)
But wait a minute...
![Page 13: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/13.jpg)
What about us...
jPDL != BPMN
![Page 14: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/14.jpg)
Best practices
![Page 15: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/15.jpg)
Start organized
• Java handlers– do you keep it clean?
• atomic unit of action per process step
• human task / admin interfaces
• exception handling (jump-to)• custom jBPM DB access
• Centralize you jBPM API access – single WS / DAO / BOM– migration made easy (or easier)?
![Page 16: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/16.jpg)
SOA interaction
• Gateway to the Enterprise– Web Services, EJB, GUI, POJO,
Exceptions, Bean Script, Rules...• jBPM API & jBPM DB
• history / tasks / reporting– single DAO– single Web Service– externalize rules calls in Web Service(s)
![Page 17: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/17.jpg)
Some best practices...
• Simplify everything (KISS)– apply OO to process design
• methods == sub-flows + context in/out
• encapsulate == sub-flows • reuse == PAR repo (maven potential)• unit testing == per node, sub-flow, flow• keep it all visible (transitions for travel only)
• exception handling (Exception Framework)
![Page 18: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/18.jpg)
Agenda
Where are my jBPM projects now?
Migration complexities in the enterprise
Status jBPM Migration Tool project
![Page 19: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/19.jpg)
What are we up to?
• Tooling targets– jPDL 3.2.x to BPMN 2 (CLI)
– community welcome for jBPM 4.x
– working with use cases• send us projects
• raise issues
– jBPM 3.x API mapping in Windup project
![Page 20: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/20.jpg)
Look under the hood
• Research phase– jaxb, smooks, XSLT
• Based on main style sheet– jpdl2-bpmn2.xsl
– modular setup– positioning ignored (gpd.xml)– large test setup in project
• See github wiki for setup
![Page 21: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/21.jpg)
Historical migration...
jpdl2bpmn
![Page 22: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/22.jpg)
More cases filled the gaps...
jpdl2bpmn
![Page 23: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/23.jpg)
Booking results...
![Page 24: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/24.jpg)
Conceptual or Pragmatic?• Ideally map concepts
– node/state: scriptTask
– decision: gateway
• Which gateway?– complex, parallel,
inclusive...
• Event/Action spoilers– running java code in
handlers
– answer: Java Node!
![Page 25: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/25.jpg)
Pragmatic choices... part I
jpdl2bpmn
![Page 26: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/26.jpg)
Pragmatic choices... part II
jpdl2bpmn
Add a gateway,but changes the
process?
![Page 27: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/27.jpg)
Pragmatic choices... part III
jpdl2bpmn
?????
![Page 28: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/28.jpg)
![Page 29: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/29.jpg)
jBPM Migration in the Cloud
$ rhc app create -a jbpmmigration -t jbossas-7 --from-code git://github.com/eschabell/openshift-jbpmmigration.git
http://jbpmmigration-$your_domain.rhcloud.com
http://jbpmmigration-$your_domain.rhcloud.com/jbpmmigration_upload-0.4
![Page 30: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/30.jpg)
Agenda
Where are my jBPM projects now?
Migration complexities in the enterprise
Status jBPM Migration Tool project
![Page 31: jBPM Migration - · PDF fileBest practices. Start organized ... • Centralize you jBPM API access ...](https://reader034.fdocuments.us/reader034/viewer/2022042505/5aa1fea17f8b9aa0108c99f1/html5/thumbnails/31.jpg)
References
jBPM5 Roadmap: https://community.jboss.org/wiki/jBPM5Roadmap
jBPM migration strategies: http://www.schabell.org/2010/03/jbpm-migration-strategies-introduction.html
Migration tool project: https://github.com/eschabell/jbpmmigration/wiki
Exception framework: https://github.com/eschabell/jbpm3_exception_framework
Migration story JUDCon 2010: http://www.schabell.org/2010/10/judcon-2010-berlin-get-your-bpm-ducks.html
2009 BPM & Workflow Handbook: http://www.schabell.org/2009/04/2009-bpm-workflow-handbook-financial.html
BPM Excellence in Practice 2010: http://www.schabell.org/2010/09/financial-crisis-front-lines-sns-bank.html