do and don'ts of bpm - the full stack

35
Do & Don’ts of BPM The Full Stack 13/03/2008 Joram Barrez - Dolmen

Upload: joram-barrez

Post on 05-Dec-2014

422 views

Category:

Technology


2 download

DESCRIPTION

Presentation I did back in 2008 for a JBoss end-user event.

TRANSCRIPT

Page 1: Do and Don'ts of BPM - The Full Stack

Do & Don’ts of BPMThe Full Stack

13/03/2008

Joram Barrez - Dolmen

Page 2: Do and Don'ts of BPM - The Full Stack

About

Software engineer at Dolmen Computer Applications

Using jBPM from Monday to Friday• Before january ’08 business processes on a small scale• Since january ’08, in a team of 3 people building a large

scale back-end using jBPM for process orchestration in a departement of the Flemish governement

Other fields of interest: • Agile development & (J)Ruby on Rails

10/04/23 ı 2

Page 3: Do and Don'ts of BPM - The Full Stack

Goals

jBPM in some real-life action

Demonstration use case: PoC “jBPM orchestration”• Revitalization of mainframe architecture• PoC built to show feasability of project• Using some “cool” technologies (jBPM, ESB, EJB3, …)

10/04/23 ı 3

Page 4: Do and Don'ts of BPM - The Full Stack

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

10/04/23 ı 4

Page 5: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 5

Typical architecture

Page 6: Do and Don'ts of BPM - The Full Stack

Requirements

Every application talks directly to its dependent applications• Mediation required to keep it manageable

Workflow logic is scattered across different applications• Centralisation needed

Reporting functionality is a must

It must be “fast enough”

10/04/23 ı 6

Page 7: Do and Don'ts of BPM - The Full Stack

Why jBPM?

Previous experience Embeddable

• jBPM is “Yet Another Java Library”• jBPM can be used in any application (web, desktop, enterprise, …)

on any database Openness

• Extremely extensible, what often is needed in business processes Convenient for developers

10/04/23 ı 7

Page 8: Do and Don'ts of BPM - The Full Stack

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

10/04/23 ı 8

Page 9: Do and Don'ts of BPM - The Full Stack

jBPM Performance

We knew jBPM could tackle the workflow requirements

But is it “fast enough”?• Simple measurement used (e.g. no dedicated server)• 2500 runs of an automated jBPM process (jpdl 3.2.2)• Timings are average between start en stop

time of the processes

10/04/23 ı 9

• Intel Core Duo 2 Ghz• 2 GB DDR2 RAM• 5400 rpm SATA HD• MySQL 5.0.45 Database

Page 10: Do and Don'ts of BPM - The Full Stack

Some performance numbers (sequential)

10/04/23 ı 10

2 ms

2 ms

3 ms

5-6 ms

Non-optimized Hibernate config: 16 ms! From 1.800.000 processes/hour 225 000 processes/hour

Page 11: Do and Don'ts of BPM - The Full Stack

Some performance numbers

10/04/23 ı 11

5 ms

12 ms

Page 12: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 12

Realistic business process: Handling a hospital report

3 msNew Report created

Check Report type

Automatic checking

Some reports needmanual verification

Complete & archive report

Remove report

Page 13: Do and Don'ts of BPM - The Full Stack

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

10/04/23 ı 13

Page 14: Do and Don'ts of BPM - The Full Stack

Proof of Concept (PoC)

Goal: build a small scale application that proofs the feasibility of the project• But easily can be mapped to a larger scale

Only one business process (“Handling a hospital report”) Only two applications need communication

• Report generator• Client application

10/04/23 ı 14

Page 15: Do and Don'ts of BPM - The Full Stack

Application mediation

Problem: applications talk to each other directly, resulting in a cobweb of dependent applications• Enterprise Application Integration (EAI) problem• Topic on its own

Solution (for this PoC)• Enterprise Service Bus (ESB)

10/04/23 ı 15

Page 16: Do and Don'ts of BPM - The Full Stack

What is an ESB? (without getting too technical)

Best comparison: mailbox

10/04/23 ı 16

Destination

Protocol?

“ROUTING”

Don’t care, as Long as the messageIs delivered

Page 17: Do and Don'ts of BPM - The Full Stack

What is an ESB? (without getting too technical)

10/04/23 ı 17

Destination

Protocol?

“ROUTING”

Don’t care, as Long as the messageIs delivered

TCP/IP

SOAP(Webservice)

JMS

Products- Mule ESB (customer pref)- BEA Aqualogic- JBoss ESB*

SOA platform (inc. jBPM)

* http://parleys.com/display/PARLEYS/JBoss+ESB by Johan Kumps

Advantage: applicationsonly need to communicate withthe ESB. They don’t need to use the‘language’ of the destination anymore

Page 18: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 18

Automatic Report Generation

(XML)

Proof-of-Concept overview

Page 19: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 19

Proof-of-Concept overview

Automatic Report Generation

(XML)

TCPMULEESB

Page 20: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 20

Proof-of-Concept overview

Automatic Report Generation

(XML)

TCP TRANSFORMATION(XSLT)

JMS MESSAGE

MULEESB

JMS QUEUE

Page 21: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 21

Proof-of-Concept overview

Automatic Report Generation

(XML)

TCP TRANSFORMATION(XSLT)

JMS MESSAGE

JMS QUEUE

EJB 3 MDB

BPM Service(EJB 3 SLSB)

MULEESB

Page 22: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 22

Proof-of-Concept overview

Automatic Report Generation

TCP TRANSFORMATION(XSLT)

JMS MESSAGE

JMS QUEUE

EJB 3 MDB

BPM Service(EJB 3 SLSB)

MULEESB

Page 23: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 23

Page 24: Do and Don'ts of BPM - The Full Stack

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

10/04/23 ı 24

Page 25: Do and Don'ts of BPM - The Full Stack

Business Intelligence (BI) / Business Activity Monitoring (BAM)

BI ~ BAM• BAM real-time monitoring/analysing metrics• BI historical monitoring/analysing metrics• e.g. stock trade buy/sell according to metrics

Extracting extra business information for taking “business decisions”• Simple example

• Car repair Availability of car history (malfunctions,…) Better judgement when fixing the car

10/04/23 ı 25

Page 26: Do and Don'ts of BPM - The Full Stack

BI/BAM is an “art”• Tailoring to business is always needed• Research field on its own (even academical)

• Data mining, OLAP, KPI, data warehousing, slice/dice analysis, ETL, …

Managers BI/BAM

10/04/23 ı 26

Business Intelligence (BI) / Business Activity Monitoring (BAM)

“What you can’t measure, you can’t manage”

Page 27: Do and Don'ts of BPM - The Full Stack

BI/BAM & jBPM

BI/BAM often integrated in BPM products jBPM does not offer such functionality

• Discussions about BI/BAM and jBPM can be tracked online, so it will be only a matter of time (hopefully)

So, why should we choose jBPM if BI/BAM is missing?• BI/BAM is extremely business-specific, so there will always be

need for custom implementations• Openness of jBPM allows extremely business-specific BI/BAM,

which could be impossible with pre-made BI/BAM solutions

10/04/23 ı 27

Page 28: Do and Don'ts of BPM - The Full Stack

PoC: BAM with SeeWhy*

Young & enthousiastic, UK based software company Extremely well documented (hundreds of pages)

• 74 pages “SeeWhy with jBPM” SeeWhy Community/Enterprise Edition

• Realtime metrics, real time alerts, real time actions

10/04/23 ı 28* http://www.seewhy.com/

Page 29: Do and Don'ts of BPM - The Full Stack

SeeWhy workings

10/04/23 ı 29

EventCalculations/Aggregations

Event Queue (JMS)

e.g. Show the average numberOf reports processed the last hour

Page 30: Do and Don'ts of BPM - The Full Stack

Combining jBPM & SeeWhy

10/04/23 ı 30

Send an event to the queue on the SeeWhy server

Page 31: Do and Don'ts of BPM - The Full Stack

Business Intelligence with jBPM

All historical data is stored in the database by the jBPM engine• So, BI is a matter of writing “the right queries”

PoC• Simple BI app

(JRuby on Rails)

10/04/23 ı 31

Page 32: Do and Don'ts of BPM - The Full Stack

PoC : Complete picture

10/04/23 ı 32 10/04/23 ı 32

Report Generation

(XML)

TCP TRANSFORMATION(XSLT)

JMS MESSAGE

JMS QUEUE

EJB 3 MDB

BPM Service(EJB 3 SLSB)

BAM

BI

Page 33: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 33

DEMOTIME

Page 34: Do and Don'ts of BPM - The Full Stack

Lessons learned

jBPM allows us to implement a wide range of business processes, since we have the power of Java at disposal

Business analysts aren’t fond of jBPM at first encounter• Building business processes is not a matter of drag-and-drop!• Business processes can’t be built without programmatic logic!

• Transactions, performance, …

BI/BAM sells!• Defining a basic BI/BAM framework for jBPM

10/04/23 ı 34

Page 35: Do and Don'ts of BPM - The Full Stack

10/04/23 ı 35