jbpm at jbossworld chicago 2009
TRANSCRIPT
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 For A Concert
JBoss World 2009 | Tom Baeyens8
Even Getting Up In The Morning
JBoss World 2009 | Tom Baeyens9
Business Processes
Business process Organized way of doing things Reach certain goal
Any company - any product - any service They all have business processes
JBoss World 2009 | Tom Baeyens10
Business Processes Need To Be Managed
BUT… doesn’t mean that People are aware They are controlled or guided Everyone is using the same process
Managing a process requires Everyone knows what to do Enforcement Organizational changes Measuring key performance indicators
jBPM can help
JBoss World 2009 | Tom Baeyens11
jBPM Business Value
Agile Improve collaboration between business & IT Faster development
Conformance SLA’s
Governance What software artifact must be changed for this change ?
Audit Who did what and when ?
Business Insight Where are the bottlenecks ?
JBoss World 2009 | Tom Baeyens12
jBPM Introduction
BPM System (aka BPM engine or workflow engine) Executable business process
Diagram Tech details
Deploy, run, collect history
JBoss World 2009 | Tom Baeyens13
jBPM Technical Perspective
Embeds into your application Integrates with your transaction Integrates with your database Integrates with your domain model
Deploy as Simple library Standalone server
JBoss World 2009 | Tom Baeyens14
jBPM Technical Perspective
API exposes DB contents Process repository Runtime state of process instances Task lists History
Audit Statistics
Same API for all environments
JBoss World 2009 | Tom Baeyens15
Software Project
Executable Business Process
Processes As Part Of Software Development
Abstract Business Process
Non-techBusiness Analyst Developer<details />
Java, XML, Buildscripts,Tests, …
EAPSOA-PJBossTomcatJDK 5
Oracle, MySQL, PostgreSQL
jBPM YourApp
JBoss World 2009 | Tom Baeyens16
It’s “Just” A State Machine
Extract state management from your code Decorate your process with POJO java logic Let jBPM deal with
Transactions Async messages Timers
JBoss World 2009 | Tom Baeyens17
jBPM 4
Split normal usage from bleeding edge
API Configuration Docs
Process Virtual Machine Leverages feedback of jBPM 3’s
huge production usage QA in our own lab
CI of {jdk} * {db} * {server} * {functionalities} Support !
JBoss World 2009 | Tom Baeyens18
jPDL
jBPM’s original process language Clean and easy Java integration Task management out of the box Developers like it
Transactional control flow Compact, readable XML
Non technical business analysts like it Diagram decoupled from execution semantics Boxes and arrows
JBoss World 2009 | Tom Baeyens19
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 Baeyens20
BPMN 2.0 Team
Joram Barrez (jBPM core dev)
Lead
Signavio integration
Ronald van Kuijk (external contributor with years of business experience)
Implementation of control flow activities
Alejandro Guizar (jBPM core dev)
Service aspects
Bernd Ruecker (owner of Camunda – the Business Process Company)
Initial code contribution
Mentor
Koen Aers (jBPM core dev)
Tooling, activity implementations
JBoss World 2009 | Tom Baeyens21
Taking The Train
NEEDS
SHOW
REQUIRES
WANTS
BUY
JBoss World 2009 | Tom Baeyens22
Taking The Train 2.0
The Problem Using coins, ticket machines, conductors, ... sooooo 2008
The solution
JBPM on Rails
JBoss World 2009 | Tom Baeyens23
Train Ticket jPDL Use Case
1. Ticket request
2. Price Quote
3. Accept
Other Train System (EJB)
JBoss World 2009 | Tom Baeyens24
Modeling the process
Business analyst (BA) Weapons: Word, Excel, Browser Eclipse designer is 'a bridge too far'
jBPM solution Collaboration with Signavio
http://www.signavio.com Webbased BPMN editor
Stored as a jPDL process
BA Dev
import
JBoss World 2009 | Tom Baeyens25
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 Baeyens26
jBPM API
Configuration configuration = new Configuration();
ProcessEngine processEngine = configuration.buildProcessEngine();
ExecutionService executionService = processEngine.getExecutionService(); ProcessInstance processInstance = executionService .startProcessInstanceByKey("ticketProcess");
JBoss World 2009 | Tom Baeyens27
Demo
JBoss World 2009 | Tom Baeyens28
Roadmap
Sep Oct Dec Jan Feb Mar Apr May Jun Jul Aug Sep
20102009Nov
4.1 4.2 4.3 4.4 4.5
jBPM 5
BPMN 2.0jPDL
Just Released !
JBoss World 2009 | Tom Baeyens29
Getting started
I just know you're excited to give jBPM a try
You can do it tonight Just before you go to sleep Or in your bed?
Last demo movie jBPM demo setup in less than a minute! Install server, jBPM, example processes jBPM-console, signavio, ...
JBoss World 2009 | Tom Baeyens30
Questions ?
• http://jbpm.org
• http://processdevelopments.blogspot.com