Sie sind auf Seite 1von 21

JBoss jBPM Overview

Koen Aers JBoss, a division of Red Hat jBPM GPD Lead

Agenda

• What is JBoss jBPM?

• Multi Language Support

• Graphical Process Designer

• BPMN Reflections

Agenda • What is JBoss jBPM? • Multi Language Support • Graphical Process Designer • BPMN

What is it ?

• JBoss jBPM is a sophisticated state machine

• JBoss jBPM delivers workflow, business process management (BPM) and service orchestration in a multi-process language platform

jBPM delivers workflow, business process management (BPM) and service orchestration in a multi-process language platform

What does it do ?

• JBoss jBPM executes long running processes that can be visualized graphically

• JBoss jBPM enables automation of business processes that coordinate between people, applications and services

• Designed for the mass market and support enterprise scale applications

• JBoss jBPM bring process automation to a much wider set of business problems ranging from embedded workflow to enterprise business process orchestration and BPM.

much wider set of business problems ranging from embedded workflow to enterprise business process orchestration and

Typical Components

Graphical Designer (eclipse based)
Graphical
Designer
(eclipse based)
@Web Console
@Web
Console
Embeddable Processes Runtime Engine Process History Runtime repository Executions
Embeddable
Processes
Runtime
Engine
Process
History
Runtime
repository
Executions
(eclipse based) @Web Console Embeddable Processes Runtime Engine Process History Runtime repository Executions

Typical Components: Designer

Typical Components: Designer
Typical Components: Designer

Agenda

• What is JBoss jBPM?

• Multi Language Support

• Graphical Process Designer

• BPMN Reflections

Agenda • What is JBoss jBPM? • Multi Language Support • Graphical Process Designer • BPMN

Flavour 1: BPEL

Service Orchestration

• Broadly accepted standard

• Well conceived specification

Quite complete

Does 1 thing well

• Web services environment

accepted standard • Well conceived specification – Quite complete – Does 1 thing well • Web

Flavour 2: jPDL

• jBPM Process Definition Language

• Graphical editor for the business user

• Java programming environment for the developer

• Ideal for Business Process Management (BPM)

Easy automation of business processes

Task management

Integration

Business Intelligence

(BPM) – Easy automation of business processes – Task management – Integration – Business Intelligence

jPDL Advantages

• Link between

Business User

Developer

• Graphical diagram for business users

• Process is basis for implementation

• Diagram is shared

submit web sale sales review fork send bill ship items wait for no payment all
submit web sale
sales review
fork
send bill
ship items
wait for
no
payment
all shipped ?
yes
join
end
is shared submit web sale sales review fork send bill ship items wait for no payment

More Flavours

• JBoss SEAM Pageflow

• But also on our wishlist

Visual programming

Easy concurrency Limited but lowering the barrier

XPDL

Pageflow • But also on our wishlist – Visual programming Easy concurrency Limited but lowering the

JBoss jBPM

• Collection of process languages

• Based on the same technology

JBoss jBPM • Collection of process languages • Based on the same technology

PPrroocceessss VViirrttuuaall MMaacchhiinnee

Software Development Languages

IoC configuration General Purpose OO Programming Languages Graph Based Execution Languages Rules languages jPDL
IoC configuration
General Purpose
OO Programming
Languages
Graph Based Execution Languages
Rules languages
jPDL
BPEL
Pageflow
E.g. Java, C#
Scripting languages
Process Virtual Machine
SQL based
query
languages
Object Oriented Programming Language
(e.g. Java, C#)
languages Process Virtual Machine SQL based query languages Object Oriented Programming Language (e.g. Java, C#)

JBoss jBPM Product View

JBoss jBPM: Platform for Process Languages

jBPM jPDL

jBPM jPDL PVM

PVM

jBPM BPEL

< X M L / >

PVM

PVM

View JBoss jBPM: Platform for Process Languages jBPM jPDL PVM jBPM BPEL < X M L

Agenda

• What is JBoss jBPM?

• Multi Language Support

• Graphical Process Designer

• BPMN Reflections

Agenda • What is JBoss jBPM? • Multi Language Support • Graphical Process Designer • BPMN

jBPM Graphical Process Designer

• Initially graphical support for JPDL

Node pluggability

• Based on Eclipse technology

Eclipse plug-in

GEF

WTP – XML

No use of EMF/GMF (yet)

• Support for Seam Pageflow

• Ultimately : Multiple language support

BPEL

XPDL

BPMN

JWT

Support for Seam Pageflow • Ultimately : Multiple language support – BPEL – XPDL – BPMN

GPD Architecture

Notational Model to GEF Mapping Editors EditParts EditPolicies jPDL Editor Pageflow Editor part1 part2 policy1
Notational Model to GEF Mapping
Editors
EditParts
EditPolicies
jPDL Editor
Pageflow Editor
part1
part2
policy1 policy2
Eclipse GEF
WTP – XML
GEF
notifies changes
jBPM GPD Notational Model
jBPM GPD Semantic Model
jPDL
Pageflow
Pageflow
node
edge
node
edge
notifies
Node
Edge
NodeContainer
Common Base Layer
changes
notifies changes
WTP – XML
Semantic Model to XML Mapping
adapts
XML Adapter
XML Adapter
XML Adapter
EMF – DOM Impl
notifies changes
notifies changes
Base XML Adapter
adapts XML Adapter XML Adapter XML Adapter EMF – DOM Impl notifies changes notifies changes Base

Agenda

• What is JBoss jBPM?

• Multi Language Support

• Graphical Process Designer

• BPMN Reflections

Agenda • What is JBoss jBPM? • Multi Language Support • Graphical Process Designer • BPMN

BPMN Reflections

• Converging standard notation

• Executable?

Token concept

• Complexity

• Compliance? => Multiple profiles

Converging standard notation • Executable? – Token concept • Complexity • Compliance? => Multiple profiles

BPMN Profiles (example)

Expert Profile

Swimlanes

Message Flow

Artifacts

Intermediate Profile

Complex Activities

Complex Events

Gateways

Basic Profile

Basic Activities

Basic Events

Sequence Flow

Complex Activities Complex Events Gateways Basic Profile Basic Activities Basic Events Sequence Flow

Conclusion

• JBoss jBPM is a platform for executing processes in multiple process languages

• JWT is a platform for graphically supporting development of processes in multiple process languages

• Natural match!

• JWT is a platform for graphically supporting development of processes in multiple process languages •
• JWT is a platform for graphically supporting development of processes in multiple process languages •