Kris Verlaenen – jBPM Lead October, 2011 jBPM5 : Bringing more Power to your Business Processes Using jBPM to bring more p...
Overview <ul><li>What is BPM?
Overview of jBPM5
From Workflow to BPM
Extra features
Social, Cloud and Mobile
Roadmap </li></ul>
What is BPM? A  business process  is a process that describes the order in which a series of steps need to be executed, us...
Why BPM? <ul><li>Visibility
Monitoring
Higher-level </li></ul><ul><li>Continuous improvement
Speed of development
Increased agility </li></ul>
Key Characteristics of jBPM5 <ul><li>Open-source business process management project offering: </li></ul><ul><ul><li>gener...
targeting developers and business users
collaboration, management and monitoring using web-based consoles
powerful rules and event integration </li></ul></ul>
Core Services Business Analyst End User Developer Rules Your Services Core Engine Guvnor Repository Eclipse Editor Web-Bas...
From Workflow to BPM <ul><li>Core engine is a workflow engine in pure Java </li></ul><ul><ul><li>state transitions
lightweight
embeddable
generic, extensible </li></ul></ul>Core Engine
Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
Java Interface ProcessRuntime interface <ul><li>startProcess(processId)
startProcess(processId, parameters)
signalEvent(type, event)
signalEvent(type, event, instanceId)
abortProcessInstance(instanceId)
getProcessInstance(instanceId)
… </li></ul>
From Workflow to BPM Core Engine
From Workflow to BPM Core Engine BPMN 2.0 XML
BPMN 2.0 <ul><li>OMG specification </li><ul><li>Model
Notation
Execution semantics </li></ul><li>Understandable by all business users
Process, collaboration, choreography
Extensible </li></ul>
BPMN 2.0 Example < definitions  ... > < process  id=&quot;com.sample.bpmn.hello&quot; name=&quot;Hello World&quot; > < sta...
Java Example // (1) Create knowledge base and add process definition KnowledgeBuilder kbuilder = ... kbuilder.add( ..., &q...
 
 
From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions JPA JTA
Persistence and Transactions <ul><li>Persistence (JPA, pluggable) </li><ul><li>Runtime persistence
History logging
Services </li></ul><li>Transactions (JTA, pluggable) </li><ul><li>Command-scoped
Upcoming SlideShare
Loading in …5
×

JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes

6,438
-1

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,438
On Slideshare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
190
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes

  1. 1. Kris Verlaenen – jBPM Lead October, 2011 jBPM5 : Bringing more Power to your Business Processes Using jBPM to bring more power to your Business Processes
  2. 2. Overview <ul><li>What is BPM?
  3. 3. Overview of jBPM5
  4. 4. From Workflow to BPM
  5. 5. Extra features
  6. 6. Social, Cloud and Mobile
  7. 7. Roadmap </li></ul>
  8. 8. What is BPM? A business process is a process that describes the order in which a series of steps need to be executed, using a flow chart. Business Process Management
  9. 9. Why BPM? <ul><li>Visibility
  10. 10. Monitoring
  11. 11. Higher-level </li></ul><ul><li>Continuous improvement
  12. 12. Speed of development
  13. 13. Increased agility </li></ul>
  14. 14. Key Characteristics of jBPM5 <ul><li>Open-source business process management project offering: </li></ul><ul><ul><li>generic process engine supporting native BPMN 2.0 execution
  15. 15. targeting developers and business users
  16. 16. collaboration, management and monitoring using web-based consoles
  17. 17. powerful rules and event integration </li></ul></ul>
  18. 18. Core Services Business Analyst End User Developer Rules Your Services Core Engine Guvnor Repository Eclipse Editor Web-Based Designer History Log Task Service jBPM Console Your Application Form Designer
  19. 19. From Workflow to BPM <ul><li>Core engine is a workflow engine in pure Java </li></ul><ul><ul><li>state transitions
  20. 20. lightweight
  21. 21. embeddable
  22. 22. generic, extensible </li></ul></ul>Core Engine
  23. 23. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
  24. 24. Java Interface ProcessRuntime interface <ul><li>startProcess(processId)
  25. 25. startProcess(processId, parameters)
  26. 26. signalEvent(type, event)
  27. 27. signalEvent(type, event, instanceId)
  28. 28. abortProcessInstance(instanceId)
  29. 29. getProcessInstance(instanceId)
  30. 30. … </li></ul>
  31. 31. From Workflow to BPM Core Engine
  32. 32. From Workflow to BPM Core Engine BPMN 2.0 XML
  33. 33. BPMN 2.0 <ul><li>OMG specification </li><ul><li>Model
  34. 34. Notation
  35. 35. Execution semantics </li></ul><li>Understandable by all business users
  36. 36. Process, collaboration, choreography
  37. 37. Extensible </li></ul>
  38. 38. BPMN 2.0 Example < definitions ... > < process id=&quot;com.sample.bpmn.hello&quot; name=&quot;Hello World&quot; > < startEvent id=&quot;_1&quot; name=&quot;StartProcess&quot; /> < sequenceFlow sourceRef=&quot;_1&quot; targetRef=&quot;_2&quot; /> < scriptTask id=&quot;_2&quot; name=&quot;Hello&quot; > < script >System.out.println(&quot;Hello World&quot;);</ script > </ scriptTask > < sequenceFlow sourceRef=&quot;_2&quot; targetRef=&quot;_3&quot; /> < endEvent id=&quot;_3&quot; name=&quot;EndProcess&quot; /> </ process > </ definitions > < definitions ... > < process id=&quot;com.sample.bpmn.hello&quot; name=&quot;Hello World&quot; > < startEvent id=&quot;_1&quot; name=&quot;StartProcess&quot; /> < sequenceFlow sourceRef=&quot;_1&quot; targetRef=&quot;_2&quot; /> < scriptTask id=&quot;_2&quot; name=&quot;Hello&quot; > < script >System.out.println(&quot;Hello World&quot;);</ script > </ scriptTask > < sequenceFlow sourceRef=&quot;_2&quot; targetRef=&quot;_3&quot; /> < endEvent id=&quot;_3&quot; name=&quot;EndProcess&quot; /> </ process > </ definitions >
  39. 39. Java Example // (1) Create knowledge base and add process definition KnowledgeBuilder kbuilder = ... kbuilder.add( ..., &quot;sample.bpmn&quot;, ResourceType.BPMN2); KnowledgeBase kbase = kbuilder.newKnowledgeBase(); // (2) Create new stateful knowledge session StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); // (3) Start a new process instance ksession.startProcess(“com.sample.bpmn.hello”);
  40. 42. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions JPA JTA
  41. 43. Persistence and Transactions <ul><li>Persistence (JPA, pluggable) </li><ul><li>Runtime persistence
  42. 44. History logging
  43. 45. Services </li></ul><li>Transactions (JTA, pluggable) </li><ul><li>Command-scoped
  44. 46. User-defined </li></ul></ul>
  45. 47. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events History Log Management Console BAM
  46. 48. Console <ul><li>Web-based management
  47. 49. Business user
  48. 50. REST api
  49. 51. Features </li></ul><ul><ul><li>Process instance management
  50. 52. User task lists / forms
  51. 53. Reporting </li></ul></ul>
  52. 57. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events Integration Domain-specific Processes Human Task Service ESB
  53. 58. Domain-specific Processes <ul><li>Extend palette with domain-specific, declarative service nodes </li></ul><ul><ul><li>define input / output parameters
  54. 59. runtime binding </li></ul></ul>
  55. 60. Domain-specific Processes <ul><li>Why? </li><ul><li>Domain-specific
  56. 61. Declarative
  57. 62. High-level
  58. 63. Context-defined </li></ul></ul><ul><li>Other examples </li><ul><li>Human task
  59. 64. Java method
  60. 65. WS, Rest
  61. 66. Email, Twitter
  62. 67. FTP, RSS, Jabber
  63. 68. Finder, Exec, Archive
  64. 69. Google Calendar
  65. 70. YOUR SERVICES ! </li></ul></ul>Repository !
  66. 71. Service Repository
  67. 72. Human task service <ul><li>User task
  68. 73. Human task service (WS-HT) </li></ul><ul><ul><li>Task lists
  69. 74. Task life cycle </li></ul></ul><ul><li>Task clients </li></ul><ul><ul><li>Task forms </li></ul></ul>
  70. 75. SwitchYard <ul><li>SwitchYard BPM component </li></ul>Lightweight service delivery framework providing full life cycle support for developing, deploying, and managing service-oriented applications
  71. 76. Extra features <ul><li>Process instance migration
  72. 77. jBPM installer
  73. 78. JUnit testing
  74. 79. Spring
  75. 80. OSGi
  76. 81. Migration from jBPM3(/4) </li></ul>
  77. 82. Examples <ul><li>Evaluation
  78. 83. Examples module </li><ul><li>Looping
  79. 84. Multi-instances
  80. 85. Human tasks (including user / group assignment, delegation, forms, etc.)
  81. 86. Process + rules integration </li></ul></ul>
  82. 89. JBoss SOA-P 5 JBoss BPMS / BRMS 5.3 3 3.2 5 4 6 7 Enterprise versions provide long-term support, regular releases including fixes, new features, and new platforms certifications. New community features may be backported to Enterprise versions Example: jBPM Community and Enterprise Product While community projects continue to rapidly evolve, enterprise middleware products focus on long term stability. Enterprise versions provide long-term support, regular releases including fixes, new features, and new platforms certifications. jBPM Community Flow JBoss Enterprise Product Delivery Model
  83. 90. Ready for the future? Traditional BPM systems have problems with change, complexity, flexibility, data-intensive applications, etc. <ul><li>Adaptive Case Management (ACM)
  84. 91. Unstructured, non-lineair or flexible processes
  85. 92. Event-driven BPM (edBPM) </li></ul>
  86. 93. Example: Clinical DSS
  87. 94. Combining Processes, Rules and Events <ul><li>Integration </li><ul><li>From loose coupling
  88. 95. To advanced integration </li></ul><li>Unification </li><ul><li>Processes and (event) rules are different types of business knowledge assets
  89. 96. Tooling (IDE, repository, management) </li></ul></ul>
  90. 97. JBoss AS 7 <ul><li>Blazingly fast
  91. 98. Lightweight
  92. 99. Modular core
  93. 100. jBPM5 on AS7: Lightning ! </li></ul>
  94. 101. OpenShift <ul><li>Based on Open Source
  95. 102. Innovation
  96. 103. Choice
  97. 104. Java, PHP, Ruby, Python, Perl & more
  98. 105. Express, Flex, Power
  99. 106. Amazon EC2 </li></ul>
  100. 107. jBPM Everywhere <ul><li>Run jBPM5 natively on Android </li></ul>
  101. 108. Roadmap <ul><li>jBPM 5.1: June 2011
  102. 109. jBPM 5.2: November 2011 </li><ul><li>Simulation / testing / replay
  103. 110. No-code tooling
  104. 111. Domain-specific service repository
  105. 112. Form builder
  106. 113. New BPMN2 Eclipse editor </li></ul></ul>
  107. 114. Form Builder <ul><li>Generate form for process / task
  108. 115. Graphically design process (D&D)
  109. 116. Triggers, validation
  110. 117. Integrated into Guvnor </li></ul>
  111. 118. Eclipse BPMN2 editor http://eclipse.org/projects/project.php?id=soa.bpmn2-modeler
  112. 119. jBPM5: What, where? <ul><li>jBPM home page
  113. 120. Source http://github.com/droolsjbpm/jbpm
  114. 121. Hudson http://hudson.jboss.org/hudson/job/jBPM
  115. 122. Blog http://kverlaen.blogspot.com/
  116. 123. #jbpm on irc.codehaus.org
  117. 124. [email_address]
  118. 125. jBPM user forum </li></ul>
  119. 126. Kris Verlaenen – jBPM Lead September, 2011 jBPM5 : Bringing more Power to your Business Processes Generic Overview of BPM and jBPM5

×