BPMN2 and jBPM5 Kris Verlaenen jBPM5 Lead
Overview <ul><li>Rules and Processes
jBPM5
Guvnor
Flexible and adaptive processes </li></ul>
What is a business process? <ul><li>State
Sequence
Long-lived </li></ul><ul><li>Persistence
Generic
More stable </li></ul>A  business process  is a process that describes the order in which a series of steps need to be exe...
Combining processes and rules <ul><li>Integration </li><ul><li>From loose coupling (decision services)
To advanced integration (process rules) </li></ul><li>Unification </li><ul><li>Rules and processes are different types of ...
Tooling (IDE, repository, management) </li></ul></ul>
RuleFlow
<ul><li>RuleFlow : describing the order in which rule groups should be evaluated
Process   Rules : Evaluate constraints
RuleSet : Evaluating a set of rules in your process (= local decision service)
Assignment  rules
Describing  exceptional  situations using rules
Modularizing  concerns using rules
Using rules to  dynamically   alter  the behavior of the process </li></ul>Rules and Process Integration
Model Deploy Execute Monitor Analyze Life Cycle Mining Analysis Optimization Simulation Testing Design Monitoring Reportin...
Upcoming SlideShare
Loading in...5
×

BPMN2 and jBPM5

2,947

Published on

How business processes and business rules can be combined to offer adaptive and flexible business processes in jBPM5, using BPMN 2.0

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

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

No notes for slide

Transcript of "BPMN2 and jBPM5"

  1. 1. BPMN2 and jBPM5 Kris Verlaenen jBPM5 Lead
  2. 2. Overview <ul><li>Rules and Processes
  3. 3. jBPM5
  4. 4. Guvnor
  5. 5. Flexible and adaptive processes </li></ul>
  6. 6. What is a business process? <ul><li>State
  7. 7. Sequence
  8. 8. Long-lived </li></ul><ul><li>Persistence
  9. 9. Generic
  10. 10. More stable </li></ul>A business process is a process that describes the order in which a series of steps need to be executed, using a flow chart.
  11. 11. Combining processes and rules <ul><li>Integration </li><ul><li>From loose coupling (decision services)
  12. 12. To advanced integration (process rules) </li></ul><li>Unification </li><ul><li>Rules and processes are different types of business knowledge assets
  13. 13. Tooling (IDE, repository, management) </li></ul></ul>
  14. 14. RuleFlow
  15. 15. <ul><li>RuleFlow : describing the order in which rule groups should be evaluated
  16. 16. Process Rules : Evaluate constraints
  17. 17. RuleSet : Evaluating a set of rules in your process (= local decision service)
  18. 18. Assignment rules
  19. 19. Describing exceptional situations using rules
  20. 20. Modularizing concerns using rules
  21. 21. Using rules to dynamically alter the behavior of the process </li></ul>Rules and Process Integration
  22. 22. Model Deploy Execute Monitor Analyze Life Cycle Mining Analysis Optimization Simulation Testing Design Monitoring Reporting Execution Integration Deployment Management Audit Human Interaction Collaboration
  23. 23. Vision jBPM as the process engine in a knowledge-oriented platform for developers and business users
  24. 24. 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
  25. 25. targeting developers and business users
  26. 26. collaboration, management and monitoring using web-based consoles
  27. 27. powerful rules and event integration </li></ul></ul>
  28. 28. From Workflow to BPM <ul><li>Core engine is a workflow engine in pure Java </li></ul><ul><ul><li>state transitions
  29. 29. lightweight
  30. 30. embeddable
  31. 31. generic, extensible </li></ul></ul>Core Engine
  32. 32. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
  33. 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 >
  34. 34. Java Interface ProcessRuntime interface <ul><li>startProcess(processId)
  35. 35. startProcess(processId, parameters)
  36. 36. signalEvent(type, event)
  37. 37. signalEvent(type, event, instanceId)
  38. 38. abortProcessInstance(instanceId)
  39. 39. getProcessInstance(instanceId)
  40. 40. … </li></ul>
  41. 41. 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”);
  42. 42. Domain-specific Services <ul><li>Extend palette with domain-specific, declarative service nodes </li></ul><ul><ul><li>define input / output parameters
  43. 43. runtime binding </li></ul></ul>
  44. 44. Guvnor <ul><li>Guvnor as knowledge repository </li></ul><ul><ul><li>BPMN2 processes
  45. 45. Task and process forms
  46. 46. Model </li></ul></ul><ul><li>Web-based process editor (Oryx)
  47. 47. Build, deploy, test, manage and collaboration features </li></ul>
  48. 48. Other Features <ul><li>Persistence / transactions </li><ul><li>Command-based
  49. 49. JPA / JTA
  50. 50. Pluggable </li></ul><li>Human Task Service
  51. 51. Eclipse plugin
  52. 52. Web-based management console
  53. 53. Installer </li></ul>
  54. 54. Flexible and Adaptive Processes Traditional workflow systems have problems with change, complexity, flexibility, data-intensive applications, etc. <ul><li>Adaptive Case Management (ACM)
  55. 55. Unstructured, non-lineair or flexible processes
  56. 56. Event-driven BPM (edBPM) </li></ul>
  57. 57. Processes + Rules + Events
  58. 58. Flexible processes
  59. 59. jBPM5: What, where? <ul><li>jBPM 5.0 (Feb 7th, 2011) </li></ul><ul><li>jBPM home page
  60. 60. Source http://github.com/krisv/jbpm
  61. 61. Blog http://kverlaen.blogspot.com/
  62. 62. #jbpm on irc.codehaus.org
  63. 63. [email_address]
  64. 64. jBPM user forum </li></ul>
  65. 65. BPMN2 and jBPM5 Kris Verlaenen jBPM5 Lead
  1. A particular slide catching your eye?

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

×