Kris Verlaenen – jBPM Lead May 5 th , 2011   jBPM5 : Bringing more Power to your Business Processes
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>
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
Upcoming SlideShare
Loading in …5
×

jBPM5 - Bringing more power to your business processes

2,424 views

Published on

jBPM5 presentation at JBossWorld

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

No Downloads
Views
Total views
2,424
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
151
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

jBPM5 - Bringing more power to your business processes

  1. 2. Kris Verlaenen – jBPM Lead May 5 th , 2011 jBPM5 : Bringing more Power to your Business Processes
  2. 3. 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
  3. 4. Why BPM? <ul><li>Visibility
  4. 5. Monitoring
  5. 6. Higher-level </li></ul><ul><li>Continuous improvement
  6. 7. Speed of development
  7. 8. Increased agility </li></ul>
  8. 9. 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
  9. 10. targeting developers and business users
  10. 11. collaboration, management and monitoring using web-based consoles
  11. 12. powerful rules and event integration </li></ul></ul>
  12. 13. From Workflow to BPM <ul><li>Core engine is a workflow engine in pure Java </li></ul><ul><ul><li>state transitions
  13. 14. lightweight
  14. 15. embeddable
  15. 16. generic, extensible </li></ul></ul>Core Engine
  16. 17. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
  17. 18. Java Interface ProcessRuntime interface <ul><li>startProcess(processId)
  18. 19. startProcess(processId, parameters)
  19. 20. signalEvent(type, event)
  20. 21. signalEvent(type, event, instanceId)
  21. 22. abortProcessInstance(instanceId)
  22. 23. getProcessInstance(instanceId)
  23. 24. … </li></ul>
  24. 25. 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”);
  25. 26. From Workflow to BPM Core Engine
  26. 27. From Workflow to BPM Core Engine BPMN 2.0 XML
  27. 28. BPMN 2.0 <ul><li>OMG specification </li><ul><li>Model
  28. 29. Notation
  29. 30. Execution semantics </li></ul><li>Understandable by all business users
  30. 31. Process, collaboration, choreography
  31. 32. Extensible </li></ul>
  32. 33. 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 >
  33. 34. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions JPA JTA
  34. 35. Persistence and Transactions <ul><li>Persistence (JPA, pluggable) </li><ul><li>Runtime persistence
  35. 36. History logging
  36. 37. Services </li></ul><li>Transactions (JTA, pluggable) </li><ul><li>Command-scoped
  37. 38. User-defined </li></ul></ul>
  38. 39. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events History Log Management Console BAM
  39. 40. Console <ul><li>Web-based management
  40. 41. Business user
  41. 42. Features </li></ul><ul><ul><li>Process instance management
  42. 43. User task lists / forms
  43. 44. Reporting </li></ul></ul>
  44. 45. From Workflow to BPM Core Engine BPMN 2.0 XML Persistence Trans- actions Events Integration Domain-specific Processes Human Task Service ESB
  45. 46. Domain-specific Processes <ul><li>Extend palette with domain-specific, declarative service nodes </li></ul><ul><ul><li>define input / output parameters
  46. 47. runtime binding </li></ul></ul>
  47. 48. Human task service <ul><li>User task
  48. 49. Human task service (WS-HT) </li></ul><ul><ul><li>Task lists
  49. 50. Task life cycle </li></ul></ul><ul><li>Task clients </li></ul><ul><ul><li>Task forms </li></ul></ul>
  50. 51. Model Deploy Execute Monitor Analyze Life Cycle Mining Analysis Optimization Simulation Testing Design Monitoring Reporting Execution Integration Deployment Management Audit Human Interaction Collaboration
  51. 52. Processes + Rules + Events
  52. 53. Combining processes and rules <ul><li>Integration </li><ul><li>From loose coupling (decision services)
  53. 54. To advanced integration (process rules) </li></ul><li>Unification </li><ul><li>Rules and processes are different types of business knowledge assets
  54. 55. Tooling (IDE, repository, management) </li></ul></ul>
  55. 56. Knowledge Repository <ul><li>Guvnor as knowledge repository </li></ul><ul><ul><li>Processes
  56. 57. Rules
  57. 58. Task and process forms
  58. 59. Model </li></ul></ul><ul><li>Web-based process editor (Oryx)
  59. 60. Build, deploy, test, manage and collaboration features </li></ul>
  60. 61. Architecture <ul><li>From “embedded” to “as a service”
  61. 62. Command-based
  62. 63. Different underlying technologies </li><ul><li>Java component (embedded, JNDI)
  63. 64. REST service
  64. 65. Web service
  65. 66. EJB </li></ul><li># of (independent) session </li></ul>
  66. 67. TITLE SLIDE: HEADLINE Presenter name Title, Red Hat Date Demo
  67. 68. Roadmap <ul><li>jBPM 5.0: Februari 2011
  68. 69. jBPM 5.1: NOW ... </li><ul><li>Improve designer to support full round-tripping
  69. 70. New Eclipse BPMN2 editor
  70. 71. Lots of small feature improvements and bug fixes </li></ul><li>jBPM 5.2 – jBPM 6.x </li><ul><li>Simulation / testing / replay
  71. 72. Flexible, adaptive, goal-oriented processes
  72. 73. Integrated “no-code” tooling (form builder, etc.) </li></ul></ul>
  73. 74. jBPM5: What, where? <ul><li>jBPM home page
  74. 75. Source http://github.com/droolsjbpm/jbpm
  75. 76. Hudson http://hudson.jboss.org/hudson/job/jBPM
  76. 77. Blog http://kverlaen.blogspot.com/
  77. 78. #jbpm on irc.codehaus.org
  78. 79. [email_address]
  79. 80. jBPM user forum </li></ul>

×