Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
 
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,528 views

Published on

jBPM5 presentation at JBossWorld

Published in: Technology
  • Be the first to comment

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>

×