Kris Verlaenen – jBPM Lead June 17 th , 2011   jBPM5 : Bringing more Power to your Business Processes
Overview <ul><li>What is BPM?
Overview of jBPM5
Flexible processes
Demo
Roadmap </li></ul>
What is BPM?
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>
Overview of jBPM5
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>
Java Example // (1) Create knowledge base and add process definition KnowledgeBuilder kbuilder = ... kbuilder.add( ..., &q...
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...
 
 
Upcoming SlideShare
Loading in...5
×

jBPM5 (Argentina workshop)

2,656

Published on

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

No Downloads
Views
Total Views
2,656
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
209
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "jBPM5 (Argentina workshop)"

  1. 1. Kris Verlaenen – jBPM Lead June 17 th , 2011 jBPM5 : Bringing more Power to your Business Processes
  2. 2. Overview <ul><li>What is BPM?
  3. 3. Overview of jBPM5
  4. 4. Flexible processes
  5. 5. Demo
  6. 6. Roadmap </li></ul>
  7. 7. What is BPM?
  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. Overview of jBPM5
  15. 15. 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
  16. 16. targeting developers and business users
  17. 17. collaboration, management and monitoring using web-based consoles
  18. 18. powerful rules and event integration </li></ul></ul>
  19. 19. 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
  20. 20. From Workflow to BPM <ul><li>Core engine is a workflow engine in pure Java </li></ul><ul><ul><li>state transitions
  21. 21. lightweight
  22. 22. embeddable
  23. 23. generic, extensible </li></ul></ul>Core Engine
  24. 24. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
  25. 25. Java Interface ProcessRuntime interface <ul><li>startProcess(processId)
  26. 26. startProcess(processId, parameters)
  27. 27. signalEvent(type, event)
  28. 28. signalEvent(type, event, instanceId)
  29. 29. abortProcessInstance(instanceId)
  30. 30. getProcessInstance(instanceId)
  31. 31. … </li></ul>
  32. 32. 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”);
  33. 33. From Workflow to BPM Core Engine
  34. 34. From Workflow to BPM Core Engine BPMN 2.0 XML
  35. 35. BPMN 2.0 <ul><li>OMG specification </li><ul><li>Model
  36. 36. Notation
  37. 37. Execution semantics </li></ul><li>Understandable by all business users
  38. 38. Process, collaboration, choreography
  39. 39. Extensible </li></ul>
  40. 40. 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 >
  41. 43. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions JPA JTA
  42. 44. Persistence and Transactions <ul><li>Persistence (JPA, pluggable) </li><ul><li>Runtime persistence
  43. 45. History logging
  44. 46. Services </li></ul><li>Transactions (JTA, pluggable) </li><ul><li>Command-scoped
  45. 47. User-defined </li></ul></ul>
  46. 48. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events History Log Management Console BAM
  47. 49. Console <ul><li>Web-based management
  48. 50. Business user
  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. Human task service <ul><li>User task
  56. 61. Human task service (WS-HT) </li></ul><ul><ul><li>Task lists
  57. 62. Task life cycle </li></ul></ul><ul><li>Task clients </li></ul><ul><ul><li>Task forms </li></ul></ul>
  58. 63. Flexible Processes
  59. 65. What is flexibility? “ The quality of being adaptable or variable”
  60. 66. Flexibility = Variability + Change
  61. 67. Exceptional Control Flow 90% 5% 3% 2%
  62. 68. Exceptional Control Flow 90% Rule1 When ... Then ... Rule2 When ... Then ... Rule3 When ... Then ... 5% 3% 2%
  63. 69. Processes + Rules + Events
  64. 70. Combining processes and rules <ul><li>Integration </li><ul><li>From loose coupling (decision services)
  65. 71. To advanced integration (process rules) </li></ul><li>Unification </li><ul><li>Rules and processes are different types of business knowledge assets
  66. 72. Tooling (IDE, repository, management) </li></ul></ul>
  67. 73. Decision Service <ul><li>Different life cycle (agility)
  68. 74. Larger scope (reusable)
  69. 75. Higher-level
  70. 76. Loosely-coupled </li></ul>
  71. 77. Example: Clinical DSS
  72. 78. Example: Build Management Source: Hudson Execution and Scheduling Architecture
  73. 79. Example: Build Management Source: Hudson Execution and Scheduling Architecture
  74. 80. Roadmap <ul><li>jBPM 5.0: Februari 2011
  75. 81. jBPM 5.1: NOW ... </li><ul><li>Improve designer to support full round-tripping
  76. 82. New Eclipse BPMN2 editor
  77. 83. Lots of small feature improvements and bug fixes </li></ul><li>jBPM 5.2 – jBPM 6.x </li><ul><li>Simulation / testing / replay
  78. 84. Flexible, adaptive, goal-oriented processes
  79. 85. Integrated “no-code” tooling (form builder, etc.) </li></ul></ul>
  80. 86. jBPM5: What, where? <ul><li>jBPM home page
  81. 87. Source http://github.com/droolsjbpm/jbpm
  82. 88. Hudson http://hudson.jboss.org/hudson/job/jBPM
  83. 89. Blog http://kverlaen.blogspot.com/
  84. 90. #jbpm on irc.codehaus.org
  85. 91. [email_address]
  86. 92. jBPM user forum </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×