+ All Categories
Home > Technology > jBPM at JBossWorld Chicago 2009

jBPM at JBossWorld Chicago 2009

Date post: 10-May-2015
Category:
Upload: tom-baeyens
View: 2,017 times
Download: 1 times
Share this document with a friend
Popular Tags:
30
JBoss World 2009 | Tom Baeyens 1 jBPM Explained with Simple Use Cases Tom Baeyens Founder and lead of jBPM, JBoss Sept 2 nd 2009
Transcript
Page 1: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens1

jBPM Explained

with Simple Use Cases

Tom BaeyensFounder and lead of jBPM, JBossSept 2nd 2009

Page 2: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens2

Agenda

Business Process Management jBPM Introduction

Developer Value Business Value

Train ticket system Roadmap

Page 3: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens3

BPM as a management discipline Not an IT concept

William Edwards Deming Plan Do Check Act

BPM Business Value

Page 4: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens4

Assembly Lines

1723-1790, Adam Smith: The pin factory

1863-1947, Henry Ford: mass production

Page 5: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens5

Government Tax Collection

Page 6: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens6

Library Lending A Book

Page 7: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens7

Selling A Ticket For A Concert

Page 8: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens8

Even Getting Up In The Morning

Page 9: jBPM at JBossWorld Chicago 2009

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

Page 10: jBPM at JBossWorld Chicago 2009

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

Page 11: jBPM at JBossWorld Chicago 2009

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 ?

Page 12: jBPM at JBossWorld Chicago 2009

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

Page 13: jBPM at JBossWorld Chicago 2009

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

Page 14: jBPM at JBossWorld Chicago 2009

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

Page 15: jBPM at JBossWorld Chicago 2009

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

Page 16: jBPM at JBossWorld Chicago 2009

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

Page 17: jBPM at JBossWorld Chicago 2009

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 !

Page 18: jBPM at JBossWorld Chicago 2009

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

Page 19: jBPM at JBossWorld Chicago 2009

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

Page 20: jBPM at JBossWorld Chicago 2009

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

Page 21: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens21

Taking The Train

NEEDS

SHOW

REQUIRES

WANTS

BUY

Page 22: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens22

Taking The Train 2.0

The Problem Using coins, ticket machines, conductors, ... sooooo 2008

The solution

JBPM on Rails

Page 23: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens23

Train Ticket jPDL Use Case

1. Ticket request

2. Price Quote

3. Accept

Other Train System (EJB)

Page 24: jBPM at JBossWorld Chicago 2009

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

Page 25: jBPM at JBossWorld Chicago 2009

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>

Page 26: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens26

jBPM API

Configuration configuration = new Configuration();

ProcessEngine processEngine = configuration.buildProcessEngine();

ExecutionService executionService = processEngine.getExecutionService(); ProcessInstance processInstance = executionService .startProcessInstanceByKey("ticketProcess");

Page 27: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens27

Demo

Page 28: jBPM at JBossWorld Chicago 2009

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 !

Page 29: jBPM at JBossWorld Chicago 2009

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, ...

Page 30: jBPM at JBossWorld Chicago 2009

JBoss World 2009 | Tom Baeyens30

Questions ?

• http://jbpm.org

• http://processdevelopments.blogspot.com


Recommended