jBPM at JBossWorld Chicago 2009

2,288 views
2,195 views

Published on

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,288
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
326
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

jBPM at JBossWorld Chicago 2009

  1. 1. jBPM Explained with Simple Use Cases Tom Baeyens Founder and lead of jBPM, JBoss Sept 2 nd 2009
  2. 2. Agenda <ul><li>Business Process Management </li></ul><ul><li>jBPM Introduction </li></ul><ul><ul><li>Developer Value </li></ul></ul><ul><ul><li>Business Value </li></ul></ul><ul><li>Train ticket system </li></ul><ul><li>Roadmap </li></ul>
  3. 3. <ul><li>BPM as a management discipline </li></ul><ul><ul><li>Not an IT concept </li></ul></ul><ul><li>William Edwards Deming </li></ul><ul><ul><li>Plan </li></ul></ul><ul><ul><li>Do </li></ul></ul><ul><ul><li>Check </li></ul></ul><ul><ul><li>Act </li></ul></ul>BPM Business Value
  4. 4. Assembly Lines <ul><li>1723-1790, Adam Smith: The pin factory </li></ul><ul><li>1863-1947, Henry Ford: mass production </li></ul>
  5. 5. Government Tax Collection
  6. 6. Library Lending A Book
  7. 7. Selling A Ticket For A Concert
  8. 8. Even Getting Up In The Morning
  9. 9. Business Processes <ul><li>Business process </li></ul><ul><ul><li>Organized way of doing things </li></ul></ul><ul><ul><li>Reach certain goal </li></ul></ul><ul><li>Any company - any product - any service </li></ul><ul><ul><li>They all have business processes </li></ul></ul>
  10. 10. Business Processes Need To Be Managed <ul><li>BUT… doesn’t mean that </li></ul><ul><ul><li>People are aware </li></ul></ul><ul><ul><li>They are controlled or guided </li></ul></ul><ul><ul><li>Everyone is using the same process </li></ul></ul><ul><li>Managing a process requires </li></ul><ul><ul><li>Everyone knows what to do </li></ul></ul><ul><ul><li>Enforcement </li></ul></ul><ul><ul><li>Organizational changes </li></ul></ul><ul><ul><li>Measuring key performance indicators </li></ul></ul><ul><li>jBPM can help </li></ul>
  11. 11. jBPM Business Value <ul><li>Agile </li></ul><ul><ul><li>Improve collaboration between business & IT </li></ul></ul><ul><ul><li>Faster development </li></ul></ul><ul><li>Conformance </li></ul><ul><ul><li>SLA’s </li></ul></ul><ul><li>Governance </li></ul><ul><ul><li>What software artifact must be changed for this change ? </li></ul></ul><ul><li>Audit </li></ul><ul><ul><li>Who did what and when ? </li></ul></ul><ul><li>Business Insight </li></ul><ul><ul><li>Where are the bottlenecks ? </li></ul></ul>
  12. 12. jBPM Introduction <ul><li>BPM System (aka BPM engine or workflow engine) </li></ul><ul><li>Executable business process </li></ul><ul><ul><li>Diagram </li></ul></ul><ul><ul><li>Tech details </li></ul></ul><ul><li>Deploy, run, collect history </li></ul>
  13. 13. jBPM Technical Perspective <ul><li>Embeds into your application </li></ul><ul><ul><li>Integrates with your transaction </li></ul></ul><ul><ul><li>Integrates with your database </li></ul></ul><ul><ul><li>Integrates with your domain model </li></ul></ul><ul><li>Deploy as </li></ul><ul><ul><li>Simple library </li></ul></ul><ul><ul><li>Standalone server </li></ul></ul>
  14. 14. jBPM Technical Perspective <ul><li>API exposes DB contents </li></ul><ul><ul><li>Process repository </li></ul></ul><ul><ul><li>Runtime state of process instances </li></ul></ul><ul><ul><li>Task lists </li></ul></ul><ul><ul><li>History </li></ul></ul><ul><ul><ul><li>Audit </li></ul></ul></ul><ul><ul><ul><li>Statistics </li></ul></ul></ul><ul><li>Same API for all environments </li></ul>
  15. 15. Processes As Part Of Software Development Software Project Executable Business Process Non-tech Business Analyst Developer <details /> Java, XML, Buildscripts, Tests, … EAP SOA-P JBoss Tomcat JDK 5 Oracle, MySQL, PostgreSQL jBPM Your App Abstract Business Process
  16. 16. It’s “Just” A State Machine <ul><li>Extract state management from your code </li></ul><ul><li>Decorate your process with POJO java logic </li></ul><ul><li>Let jBPM deal with </li></ul><ul><ul><li>Transactions </li></ul></ul><ul><ul><li>Async messages </li></ul></ul><ul><ul><li>Timers </li></ul></ul>
  17. 17. jBPM 4 <ul><li>Split normal usage from bleeding edge </li></ul><ul><ul><li>API </li></ul></ul><ul><ul><li>Configuration </li></ul></ul><ul><ul><li>Docs </li></ul></ul><ul><li>Process Virtual Machine </li></ul><ul><li>Leverages feedback of jBPM 3’s huge production usage </li></ul><ul><li>QA in our own lab </li></ul><ul><ul><li>CI of {jdk} * {db} * {server} * {functionalities} </li></ul></ul><ul><ul><li>Support ! </li></ul></ul>
  18. 18. jPDL <ul><li>jBPM’s original process language </li></ul><ul><li>Clean and easy Java integration </li></ul><ul><li>Task management out of the box </li></ul><ul><li>Developers like it </li></ul><ul><ul><li>Transactional control flow </li></ul></ul><ul><ul><li>Compact, readable XML </li></ul></ul><ul><li>Non technical business analysts like it </li></ul><ul><ul><li>Diagram decoupled from execution semantics </li></ul></ul><ul><ul><li>Boxes and arrows </li></ul></ul>
  19. 19. BPMN 2.0 <ul><li>New process language next to jPDL </li></ul><ul><li>Standard </li></ul><ul><ul><li>Vendor neutral </li></ul></ul><ul><ul><li>Interoperability ? </li></ul></ul><ul><li>Technical business analysts like it </li></ul><ul><ul><li>Focus on modelling </li></ul></ul><ul><ul><li>Precise execution semantics </li></ul></ul><ul><ul><li>Directly coupled with diagram </li></ul></ul><ul><li>Now in incubation </li></ul><ul><li>Productized in H2 2010 </li></ul>
  20. 20. BPMN 2.0 Team <ul><li>Joram Barrez (jBPM core dev) </li></ul><ul><ul><li>Lead </li></ul></ul><ul><ul><li>Signavio integration </li></ul></ul><ul><li>Ronald van Kuijk (external contributor with years of business experience) </li></ul><ul><ul><li>Implementation of control flow activities </li></ul></ul><ul><li>Alejandro Guizar (jBPM core dev) </li></ul><ul><ul><li>Service aspects </li></ul></ul><ul><li>Bernd Ruecker (owner of Camunda – the Business Process Company) </li></ul><ul><ul><li>Initial code contribution </li></ul></ul><ul><ul><li>Mentor </li></ul></ul><ul><li>Koen Aers (jBPM core dev) </li></ul><ul><ul><li>Tooling, activity implementations </li></ul></ul>
  21. 21. Taking The Train NEEDS SHOW REQUIRES WANTS BUY
  22. 22. Taking The Train 2.0 <ul><li>The Problem </li></ul><ul><ul><li>Using coins, ticket machines, conductors, ... sooooo 2008 </li></ul></ul><ul><li>The solution </li></ul>JBPM on Rails
  23. 23. Train Ticket jPDL Use Case 1. Ticket request 2. Price Quote 3. Accept Other Train System (EJB)
  24. 24. Modeling the process <ul><li>Business analyst (BA) </li></ul><ul><ul><li>Weapons: Word, Excel, Browser </li></ul></ul><ul><ul><li>Eclipse designer is 'a bridge too far' </li></ul></ul><ul><li>jBPM solution </li></ul><ul><ul><li>Collaboration with Signavio </li></ul></ul><ul><ul><ul><li>http://www.signavio.com </li></ul></ul></ul><ul><ul><li>Webbased BPMN editor </li></ul></ul><ul><ul><ul><li>Stored as a jPDL process </li></ul></ul></ul>BA Dev import
  25. 25. Human Task <ul><li>< process name = &quot;ticketProcess&quot; > </li></ul><ul><li>... </li></ul><ul><li>< task name = &quot;Accept quote&quot; </li></ul><ul><li>assignee = &quot;#{ticketRequest.cellPhoneNr}&quot; > </li></ul><ul><li>< transition to = &quot;charge customer&quot; /> </li></ul><ul><li>< transition name = &quot;timeout&quot; to = &quot;cancel&quot; > </li></ul><ul><li>< timer duedate = &quot;1 day&quot; /> </li></ul><ul><li></ transition > </li></ul><ul><li></ task > </li></ul><ul><li>... </li></ul><ul><li></ process > </li></ul>
  26. 26. jBPM API <ul><li>Configuration configuration = new Configuration(); </li></ul><ul><li>ProcessEngine processEngine = configuration.buildProcessEngine(); </li></ul><ul><li>ExecutionService executionService = </li></ul><ul><li>processEngine.getExecutionService(); </li></ul><ul><li>ProcessInstance processInstance = </li></ul><ul><li>executionService </li></ul><ul><li>.startProcessInstanceByKey( &quot;ticketProcess&quot; ); </li></ul>
  27. 27. Demo
  28. 28. Roadmap Sep Oct Dec Jan Feb Mar Apr May Jun Jul Aug Sep 2010 2009 Nov 4.1 4.2 4.3 4.4 4.5 jBPM 5 BPMN 2.0 jPDL Just Released !
  29. 29. Getting started <ul><li>I just know you're excited to give jBPM a try </li></ul><ul><li>You can do it tonight </li></ul><ul><ul><li>Just before you go to sleep </li></ul></ul><ul><ul><li>Or in your bed? </li></ul></ul><ul><li>Last demo movie </li></ul><ul><ul><li>jBPM demo setup in less than a minute! </li></ul></ul><ul><ul><li>Install server, jBPM, example processes </li></ul></ul><ul><ul><li>jBPM-console, signavio, ... </li></ul></ul>
  30. 30. Questions ? <ul><li>http://jbpm.org </li></ul><ul><li>http://processdevelopments.blogspot.com </li></ul>

×