22
BPMN2 and jBPM5 Kris Verlaenen jBPM5 Lead

BPMN2 and jBPM5

Embed Size (px)

Citation preview

Page 1: BPMN2 and jBPM5

BPMN2 and jBPM5

Kris VerlaenenjBPM5 Lead

Page 2: BPMN2 and jBPM5

Overview

Rules and Processes

jBPM5

Guvnor

Flexible and adaptive processes

Page 3: BPMN2 and jBPM5

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

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

RuleFlow

Page 6: BPMN2 and jBPM5

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

Mining

Analysis

Optimization

SimulationTesting

Design

Monitoring

Reporting

Execution

Integration

Deployment

Management Audit

HumanInteraction

Collaboration

Model

Deploy

ExecuteMonitor

Analyze

LifeCycle

Page 8: BPMN2 and jBPM5

Vision

jBPM as the process engine in a knowledge-oriented platform for developers and business users

Page 9: BPMN2 and jBPM5

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

From Workflow to BPM

Core engine is a workflow engine in pure Javastate transitions

lightweight

embeddable

generic, extensible

CoreEngine

Page 11: BPMN2 and jBPM5

Core Engine

KnowledgeBase

StatefulKnowledge

Session

ProcessDefinition

ProcessInstance

Page 12: BPMN2 and jBPM5

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

Java Interface

ProcessRuntime interfacestartProcess(processId)startProcess(processId, parameters)signalEvent(type, event)signalEvent(type, event, instanceId)abortProcessInstance(instanceId)getProcessInstance(instanceId)…

Page 14: BPMN2 and jBPM5

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

Domain-specific Services

Extend palette with domain-specific, declarative service nodes

define input / output parameters

runtime binding

Page 16: BPMN2 and jBPM5

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

Other Features

Persistence / transactionsCommand-based

JPA / JTA

Pluggable

Human Task Service

Eclipse plugin

Web-based management console

Installer

Page 18: BPMN2 and jBPM5

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

19

Processes + Rules + Events

Page 20: BPMN2 and jBPM5

Flexible processes

Page 21: BPMN2 and jBPM5

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

[email protected]

jBPM user forum

Page 22: BPMN2 and jBPM5

BPMN2 and jBPM5

Kris VerlaenenjBPM5 Lead