BPMN2 and jBPM5

  • 2,762 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,762
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
206
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BPMN2 and jBPM5 Kris Verlaenen jBPM5 Lead
  • 2. Overview
    • Rules and Processes
    • 3. jBPM5
    • 4. Guvnor
    • 5. Flexible and adaptive processes
  • 6. What is a business process? 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. Combining processes and rules
    • Integration
      • From loose coupling (decision services)
      • 12. To advanced integration (process rules)
    • Unification
      • Rules and processes are different types of business knowledge assets
      • 13. Tooling (IDE, repository, management)
  • 14. RuleFlow
  • 15.
    • RuleFlow : describing the order in which rule groups should be evaluated
    • 16. Process Rules : Evaluate constraints
    • 17. RuleSet : Evaluating a set of rules in your process (= local decision service)
    • 18. Assignment rules
    • 19. Describing exceptional situations using rules
    • 20. Modularizing concerns using rules
    • 21. Using rules to dynamically alter the behavior of the process
    Rules and Process Integration
  • 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. Vision jBPM as the process engine in a knowledge-oriented platform for developers and business users
  • 24. Key Characteristics of jBPM5
    • Open-source business process management project offering:
      • generic process engine supporting native BPMN 2.0 execution
      • 25. targeting developers and business users
      • 26. collaboration, management and monitoring using web-based consoles
      • 27. powerful rules and event integration
  • 28. From Workflow to BPM
    • Core engine is a workflow engine in pure Java
    Core Engine
  • 32. Core Engine Knowledge Base Stateful Knowledge Session Process Definition Process Instance
  • 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. Java Interface ProcessRuntime interface
    • startProcess(processId)
    • 35. startProcess(processId, parameters)
    • 36. signalEvent(type, event)
    • 37. signalEvent(type, event, instanceId)
    • 38. abortProcessInstance(instanceId)
    • 39. getProcessInstance(instanceId)
    • 40.
  • 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. Domain-specific Services
    • Extend palette with domain-specific, declarative service nodes
      • define input / output parameters
      • 43. runtime binding
  • 44. Guvnor
    • Guvnor as knowledge repository
      • BPMN2 processes
      • 45. Task and process forms
      • 46. Model
    • Web-based process editor (Oryx)
    • 47. Build, deploy, test, manage and collaboration features
  • 48. Other Features
    • Persistence / transactions
    • Human Task Service
    • 51. Eclipse plugin
    • 52. Web-based management console
    • 53. Installer
  • 54. Flexible and Adaptive Processes Traditional workflow systems have problems with change, complexity, flexibility, data-intensive applications, etc.
    • Adaptive Case Management (ACM)
    • 55. Unstructured, non-lineair or flexible processes
    • 56. Event-driven BPM (edBPM)
  • 57. Processes + Rules + Events
  • 58. Flexible processes
  • 59. jBPM5: What, where?
    • jBPM 5.0 (Feb 7th, 2011)
    • jBPM home page
    • 60. Source http://github.com/krisv/jbpm
    • 61. Blog http://kverlaen.blogspot.com/
    • 62. #jbpm on irc.codehaus.org
    • 63. [email_address]
    • 64. jBPM user forum
  • 65. BPMN2 and jBPM5 Kris Verlaenen jBPM5 Lead