EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM

2,090 views
1,993 views

Published on

A Business Process Management System (BPMS) offers you the capabilities to better manage and streamline your business processes. JBoss jBPM continues its vision in this area by offering a lightweight process engine for executing business processes, combined with the necessary services and tooling to support business processes in their entire lifecycles. This allows not only developers but also business users to manage your business processes more efficiently.

A lot has happened in the BPM area over the last few years, with the introduction of the BPMN 2.0 standard, the increasing interest in more dynamic and adaptive processes, integration with business rules and event processing, case management, etc. In this session, we will show you how jBPM5 tackles these challenges, disucss migration to this new plaform and give you an overview of its most important features.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,090
On SlideShare
0
From Embeds
0
Number of Embeds
369
Actions
Shares
0
Downloads
84
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • JBoss Enteprise BRMS (new in 2009) Enables critical business rules to be managed in a more centralized manner (e.g. Insurance = policy risk assess and pricing; Heathcare = claims processing annual regulatory changes) Avoids need to otherwise re-code business rules redundantly in multiple applications Leverages JBoss Rules execution engine which has been available for years Adds new browser-based Rules Mgmt app, enabling business users to participate in the review, editing, and maintenance of business rule changes Also adds Repository to provide version management of multiple sets of business rules Supports the deployment of business rules to JBoss middleware platforms and non-JBoss runtime environments
  • EMEA Partner Summit: jBPM 5 - Bringing More Power to BPM

    1. 1. jBPM5 Bringing More Power to your Business Processes Eric D. Schabell JBoss Solution Architect 07 June 2011
    2. 2. Overview <ul><li>What is BPM?
    3. 3. Overview jBPM5
    4. 4. Flexible processes
    5. 5. Integration into architecture
    6. 6. Migrations </li></ul>
    7. 7. 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
    8. 8. Why BPM? <ul><li>Visibility
    9. 9. Monitoring
    10. 10. Higher-level </li></ul><ul><li>Continuous improvement
    11. 11. Speed of development
    12. 12. Increased agility </li></ul>
    13. 13. Overview <ul><li>What is BPM?
    14. 14. Overview jBPM5
    15. 15. Flexible processes
    16. 16. Integration into architecture
    17. 17. Migrations
    18. 18. Roadmap </li></ul>
    19. 19. 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
    20. 20. targeting developers and business users
    21. 21. collaboration, management and monitoring using web-based consoles
    22. 22. powerful rules and event integration </li></ul></ul>
    23. 23. From Workflow to BPM <ul><li>Core engine is a workflow engine in pure Java </li></ul><ul><ul><li>state transitions
    24. 24. lightweight
    25. 25. embeddable
    26. 26. generic, extensible </li></ul></ul>Core Engine
    27. 27. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
    28. 28. 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”);
    29. 29. Java Interface ProcessRuntime interface <ul><li>startProcess(processId)
    30. 30. startProcess(processId, parameters)
    31. 31. signalEvent(type, event)
    32. 32. signalEvent(type, event, instanceId)
    33. 33. abortProcessInstance(instanceId)
    34. 34. getProcessInstance(instanceId)
    35. 35. … </li></ul>
    36. 36. From Workflow to BPM Core Engine BPMN 2.0 XML Eclipse BPMN2 Editor Oryx Web- Based Editor
    37. 37. BPMN 2.0 <ul><li>OMG specification </li><ul><li>Model
    38. 38. Notation
    39. 39. Execution semantics </li></ul><li>Understandable by all business users
    40. 40. Process, collaboration, choreography
    41. 41. Extensible </li></ul>
    42. 42. jBPM5 and BPMN2 <ul><li>Focus on executable processes </li><ul><li>Java environment
    43. 43. Native execution </li></ul><li>Subset </li><ul><li>Common Executable ++ </li></ul><li>High-level and domain-specific
    44. 44. Minimal custom extensions </li></ul>
    45. 45. 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 >
    46. 46. BPEL Vs BPMN <ul><li>Red Hat does not intend to create 2 BPM solutions
    47. 47. BPMN2 is the strategic direction
    48. 48. BPEL requirements will be fulfilled with implementation.
    49. 49. Project Riftsaw – implementation of BPEL will be included in SOA-P 5.x
    50. 50. Future BPM solutions will be built on BPMN2 standards
    51. 51. JBoss BPM platform is our answer to all process flow / workflow solutions </li></ul>
    52. 52. BPMN2 positioning BPMN2 Model
    53. 53. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions JPA JTA
    54. 54. Persistence and Transactions <ul><li>Persistence (JPA, pluggable) </li><ul><li>Runtime persistence
    55. 55. History logging
    56. 56. Services </li></ul><li>Transactions (JTA, pluggable) </li><ul><li>Command-scoped
    57. 57. User-defined </li></ul></ul>
    58. 58. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events History Log Management Console BAM
    59. 59. Console <ul><li>Web-based management
    60. 60. Business user
    61. 61. Features </li></ul><ul><ul><li>Process instance management
    62. 62. User task lists / forms
    63. 63. Reporting </li></ul></ul>
    64. 64. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events Integration Domain-specific Processes Human Task Service ESB
    65. 65. Domain-specific Processes <ul><li>Extend palette with domain-specific, declarative service nodes </li></ul><ul><ul><li>define input / output parameters
    66. 66. runtime binding </li></ul></ul>
    67. 67. Example: Notification [ [ &quot; name &quot; : &quot;Notification&quot;, &quot; parameters &quot; : [ &quot;Message&quot; : new StringDataType(), &quot;From&quot; : new StringDataType(), &quot;To&quot; : new StringDataType(), &quot;Priority&quot; : new StringDataType(), ], &quot; displayName &quot; : &quot;Notification&quot;, &quot; icon &quot; : &quot;icons/notification.gif&quot; ] ]
    68. 68. Example: Notification class NotificationHandler implements WorkItemHandler { public void executeWorkItem(WorkItem wI, WorkItemManager manager) { String from = (String) wI. getParameter (&quot;From&quot;); String to = (String) wI. getParameter (&quot;To&quot;); String m = (String) wI. getParameter (&quot;Message&quot;); // send email EmailService service = ...; service.sendEmail(from, to, &quot;Notification&quot;, m); manager. completeWorkItem (wI.getId(), null); } }
    69. 69. Human task service <ul><li>User task
    70. 70. Human task service (WS-HT) </li></ul><ul><ul><li>Task lists
    71. 71. Task life cycle </li></ul></ul><ul><li>Task clients </li></ul><ul><ul><li>Task forms </li></ul></ul>
    72. 72. Overview <ul><li>What is BPM?
    73. 73. Overview jBPM5
    74. 74. Flexible processes
    75. 75. Integration into architecture
    76. 76. Migrations </li></ul>
    77. 77. What is flexibility? “ The quality of being adaptable or variable”
    78. 78. Exceptional Control Flow 90% 5% 3% 2%
    79. 79. Exceptional Control Flow 90% Rule1 When ... Then ... Rule2 When ... Then ... Rule3 When ... Then ... 5% 3% 2%
    80. 80. Processes + Rules + Events
    81. 81. Combining processes and rules <ul><li>Integration </li><ul><li>From loose coupling (decision services)
    82. 82. To advanced integration (process rules) </li></ul><li>Unification </li><ul><li>Rules and processes are different types of business knowledge assets
    83. 83. Tooling (IDE, repository, management) </li></ul></ul>
    84. 84. Example: Clinical DSS
    85. 85. Overview <ul><li>What is BPM?
    86. 86. Overview jBPM5
    87. 87. Flexible processes
    88. 88. Integration into architecture
    89. 89. Migrations </li></ul>
    90. 90. Architecture <ul><li>From “embedded” to “as a service”
    91. 91. Command-based
    92. 92. Different underlying technologies </li><ul><li>Java component (embedded, JNDI)
    93. 93. REST service
    94. 94. Web service
    95. 95. EJB </li></ul><li># of (independent) session </li></ul>
    96. 96. REST API
    97. 97. Integration
    98. 98. Integration jBPM / BRMS
    99. 99. Integration jBPM / BRMS
    100. 100. Integration jBPM / BRMS
    101. 101. Web based artifact management <ul><li>BRM as knowledge repository </li></ul><ul><ul><li>BPMN2 processes
    102. 102. Task and process forms
    103. 103. Model </li></ul></ul><ul><li>Web-based process editor (Oryx)
    104. 104. Build, deploy, test, manage and collaboration features </li></ul>
    105. 105. Overview <ul><li>What is BPM?
    106. 106. Overview jBPM5
    107. 107. Flexible processes
    108. 108. Integration into architecture
    109. 109. Migrations </li></ul>
    110. 110. We have been architecting, implementing and deploying jBPM solutions in the strangest places for years now...
    111. 111. What about us... jPDL != BPMN
    112. 112. What are we up to? <ul><li>Tooling targets </li><ul><li>jPDL 3.2.x to BPMN 2 (CLI)
    113. 113. community welcome for jBPM 4.x
    114. 114. working with use cases </li><ul><li>send us projects
    115. 115. raise issues </li></ul><li>jBPM 3.x API mapping </li></ul></ul>
    116. 116. Historical migration...
    117. 117. References <ul><li>jBPM5 community: http://www.jboss.org/jbpm
    118. 118. jBPM5 source: http://github.com/droolsjbpm/jbpm
    119. 119. jBPM5 Hudson: http://hudson.jboss.org/hudson/job/jBPM
    120. 120. Blog: http://kverlaen.blogspot.com
    121. 121. #jbpm on irc.codhaus.org / [email_address]
    122. 122. jBPM user forums: http://community.jboss.org/en/jbpm?view=discussions </li></ul><ul><li>jBPM migration strategies: http://www.schabell.org/2010/03/jbpm-migration-strategies-introduction.html
    123. 123. Migration tool project: https://github.com/eschabell/jbpmmigration/wiki
    124. 124. Migration story JUDCon 2010: http://www.schabell.org/2010/10/judcon-2010-berlin-get-your-bpm-ducks.html
    125. 125. Migration project update JUDCon 2011: http://www.schabell.org/2011/05/judcon-2011-jbpm-migration-tooling-no.html </li></ul>
    126. 126. Questions?

    ×