bpmn2 and jbpm5
TRANSCRIPT
![Page 1: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/1.jpg)
BPMN2 and jBPM5
Kris VerlaenenjBPM5 Lead
![Page 2: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/2.jpg)
Overview
Rules and Processes
jBPM5
Guvnor
Flexible and adaptive processes
![Page 3: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/3.jpg)
What is a business process?
State
Sequence
Long-lived
Persistence
Generic
More stable
A business process is a process that describesthe order in which a series of steps need to be executed,
using a flow chart.
![Page 4: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/4.jpg)
Combining processes and rules
IntegrationFrom loose coupling (decision services)
To advanced integration (process rules)
UnificationRules and processes are different types of
business knowledge assets
Tooling (IDE, repository, management)
![Page 5: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/5.jpg)
RuleFlow
![Page 6: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/6.jpg)
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
Rules and Process Integration
![Page 7: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/7.jpg)
Mining
Analysis
Optimization
SimulationTesting
Design
Monitoring
Reporting
Execution
Integration
Deployment
Management Audit
HumanInteraction
Collaboration
Model
Deploy
ExecuteMonitor
Analyze
LifeCycle
![Page 8: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/8.jpg)
Vision
jBPM as the process engine in a knowledge-oriented platform for developers and business users
![Page 9: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/9.jpg)
Key Characteristics of jBPM5
Open-source business process management project offering:generic process engine supporting native BPMN 2.0 execution
targeting developers and business users
collaboration, management and monitoring using web-based consoles
powerful rules and event integration
![Page 10: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/10.jpg)
From Workflow to BPM
Core engine is a workflow engine in pure Javastate transitions
lightweight
embeddable
generic, extensible
CoreEngine
![Page 11: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/11.jpg)
Core Engine
KnowledgeBase
StatefulKnowledge
Session
ProcessDefinition
ProcessInstance
![Page 12: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/12.jpg)
BPMN 2.0 Example
<definitions ... >
<process id="com.sample.bpmn.hello" name="Hello World" >
<startEvent id="_1" name="StartProcess" />
<sequenceFlow sourceRef="_1" targetRef="_2" />
<scriptTask id="_2" name="Hello" >
<script>System.out.println("Hello World");</script>
</scriptTask>
<sequenceFlow sourceRef="_2" targetRef="_3" />
<endEvent id="_3" name="EndProcess" />
</process>
</definitions>
![Page 13: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/13.jpg)
Java Interface
ProcessRuntime interfacestartProcess(processId)startProcess(processId, parameters)signalEvent(type, event)signalEvent(type, event, instanceId)abortProcessInstance(instanceId)getProcessInstance(instanceId)…
![Page 14: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/14.jpg)
Java Example
// (1) Create knowledge base and add process definition
KnowledgeBuilder kbuilder = ...
kbuilder.add( ..., "sample.bpmn", 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”);
![Page 15: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/15.jpg)
Domain-specific Services
Extend palette with domain-specific, declarative service nodes
define input / output parameters
runtime binding
![Page 16: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/16.jpg)
Guvnor
Guvnor as knowledge repositoryBPMN2 processes
Task and process forms
Model
Web-based process editor (Oryx)
Build, deploy, test, manage and collaboration features
![Page 17: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/17.jpg)
Other Features
Persistence / transactionsCommand-based
JPA / JTA
Pluggable
Human Task Service
Eclipse plugin
Web-based management console
Installer
![Page 18: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/18.jpg)
Flexible and Adaptive Processes
Traditional workflow systems have problems with change, complexity,
flexibility, data-intensive applications, etc.
Adaptive Case Management (ACM)Unstructured, non-lineair or flexible processesEvent-driven BPM (edBPM)
![Page 19: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/19.jpg)
19
Processes + Rules + Events
![Page 20: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/20.jpg)
Flexible processes
![Page 21: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/21.jpg)
jBPM5: What, where?
jBPM 5.0 (Feb 7th, 2011)
jBPM home page
Source http://github.com/krisv/jbpm
Blog http://kverlaen.blogspot.com/
#jbpm on irc.codehaus.org
jBPM user forum
![Page 22: BPMN2 and jBPM5](https://reader034.vdocuments.net/reader034/viewer/2022050613/541f67257bef0ab16e8b5d36/html5/thumbnails/22.jpg)
BPMN2 and jBPM5
Kris VerlaenenjBPM5 Lead