Upload
hoangtuong
View
218
Download
1
Embed Size (px)
Citation preview
JBoss World 2009 | Tom Baeyens1
jBPM Explained
with Simple Use Cases
Tom BaeyensFounder and lead of jBPM, JBossSept 2nd 2009
JBoss World 2009 | Tom Baeyens2
Agenda
Business Process Management
jBPM Introduction
Developer Value
Business Value
Train ticket system
Roadmap
JBoss World 2009 | Tom Baeyens3
BPM as a management discipline
Not an IT concept
William Edwards Deming
Plan
Do
Check
Act
BPM Business Value
JBoss World 2009 | Tom Baeyens4
Assembly Lines
1723-1790, Adam Smith: The pin factory
1863-1947, Henry Ford: mass production
JBoss World 2009 | Tom Baeyens5
Government Tax Collection
JBoss World 2009 | Tom Baeyens6
Library Lending A Book
JBoss World 2009 | Tom Baeyens7
Selling A Ticket To A Concert
JBoss World 2009 | Tom Baeyens8
Even Getting Up In The Morning
JBoss World 2009 | Tom Baeyens9
Business Processes Need To Be Managed
Doesn’t mean that
People are aware
They are controlled or guided
Everyone is using the same process
Managing processes
Discipline
Organizational change needed
Know, understand and follow the business process
Thinking in processes, intra- and interbusiness
Control mechanisms
IT can help there
8/28/09 | Slide 10Tag Cloud from Gartner’s : “Hype Cycle for Business Process Management, 2008”
8/28/09 | Slide 11
JBoss World 2009 | Tom Baeyens12
jBPM Introduction
Workflow & BPM engine
Graphical diagram
Execution flow
JBoss World 2009 | Tom Baeyens13
jBPM Business Value
Improve business – IT communication
Agile
Conformance
Governance
Audit
Business Insight
JBoss World 2009 | Tom Baeyens14
jBPM Technical Perspective
State machine
Control flow including wait states
Current execution state persisted in DB
Transactionally move from one state to next
Include automated steps in transactions
JBoss World 2009 | Tom Baeyens15
jBPM Technical Value
Embeds into your application
Integrates with your transaction
Integrates with your database
Integrates with your domain model
Deploy as simple library or standalone server
Simplest way to implement asynchronous architectures
Human tasks
Asynchronous communication between systems
JBoss World 2009 | Tom Baeyens16
jBPM 4
Split normal usage from bleeding edgeAPIConfiguration
Process Virtual Machine
Rock solid
Leverages feedback of jBPM 3’shuge production usage
QA in our own labCI of {environments} * {functionalities}Support !
JBoss World 2009 | Tom Baeyens17
jPDL
jBPM’s original process language
Clean Java integration
Task management
Developers like itTransactional control flowCompact, readable XML
Non technical business analysts like itDiagram decoupled from execution semanticsBoxes and arrows
JBoss World 2009 | Tom Baeyens18
BPMN 2.0
New process language next to jPDL
Standard
Vendor neutral
Interoperability ?
Technical business analysts like it
Focus on modelling
Precise execution semantics
Directly coupled with diagram
Now in incubation
Productized in H2 2010
JBoss World 2009 | Tom Baeyens19
BPMN 2.0 Team
Joram Barrez
Lead
Signavio integration
Ronald van Kuijk
Implementation of control flow activities
Alejandro
Service aspects
Bernd Ruecker
Initial code contribution
Mentor
Koen Aers
Tooling, activity implementations
JBoss World 2009 | Tom Baeyens20
Train Ticket jPDL Use Case
JBoss World 2009 | Tom Baeyens21
Human Task
<process name="ticketProcess"> ... <task name="Accept quote" assignee="#{ticketRequest.cellPhoneNr}" >
<transition to="charge customer"/> <transition name="timeout" to="cancel"> <timer duedate="1 day"/> </transition>
</task> ...</process>
JBoss World 2009 | Tom Baeyens22
jBPM API
Configuration configuration = new Configuration();
ProcessEngine processEngine = configuration.buildProcessEngine();
ExecutionService executionService = processEngine.getExecutionService(); ProcessInstance processInstance = executionService .startProcessInstanceByKey("StateChoice");
JBoss World 2009 | Tom Baeyens23
Roadmap
Sep
Oct Dec Jan
Feb Mar Apr May
Jun
Jul
Aug
Sep
20102009
Nov
4.1 4.2 4.3 4.4 4.5
jBPM 5
BPMN 2.0jPDL
JBoss World 2009 | Tom Baeyens24
Questions ?
http://jbpm.org
http://processdevelopments.blogspot.com