+ All Categories
Home > Documents > Do & Don’ts of BPM The Full Stack 13/03/2008 Joram Barrez - Dolmen.

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

Date post: 14-Dec-2015
Category:
Upload: reid-clerk
View: 219 times
Download: 0 times
Share this document with a friend
Popular Tags:
35
Do & Don’ts of BPM The Full Stack 13/03/2008 Joram Barrez - Dolmen
Transcript

Do & Don’ts of BPMThe Full Stack

13/03/2008

Joram Barrez - Dolmen

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

18/04/23 ı 2

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, …)

18/04/23 ı 3

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

18/04/23 ı 4

18/04/23 ı 5

Typical architecture

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”

18/04/23 ı 6

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

18/04/23 ı 7

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

18/04/23 ı 8

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

18/04/23 ı 9

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

Some performance numbers (sequential)

18/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

Some performance numbers

18/04/23 ı 11

5 ms

12 ms

18/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

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

18/04/23 ı 13

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

18/04/23 ı 14

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)

18/04/23 ı 15

What is an ESB? (without getting too technical)

Best comparison: mailbox

18/04/23 ı 16

Destination

Protocol?

“ROUTING”

Don’t care, as Long as the messageIs delivered

What is an ESB? (without getting too technical)

18/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

18/04/23 ı 18

Automatic Report Generation

(XML)

Proof-of-Concept overview

18/04/23 ı 19

Proof-of-Concept overview

Automatic Report Generation

(XML)

TCPMULEESB

18/04/23 ı 20

Proof-of-Concept overview

Automatic Report Generation

(XML)

TCP TRANSFORMATION(XSLT)

JMS MESSAGE

MULEESB

JMS QUEUE

18/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

18/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

18/04/23 ı 23

Content

Customer Requirements

JBPM Performance

Proof of Concept

BI/BAM

Demo

18/04/23 ı 24

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

18/04/23 ı 25

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

18/04/23 ı 26

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

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

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

18/04/23 ı 27

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

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

SeeWhy workings

18/04/23 ı 29

EventCalculations/Aggregations

Event Queue (JMS)

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

Combining jBPM & SeeWhy

18/04/23 ı 30

Send an event to the queue on the SeeWhy server

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)

18/04/23 ı 31

PoC : Complete picture

18/04/23 ı 32 18/04/23 ı 32

Report Generation

(XML)

TCP TRANSFORMATION(XSLT)

JMS MESSAGE

JMS QUEUE

EJB 3 MDB

BPM Service(EJB 3 SLSB)

BAM

BI

18/04/23 ı 33

DEMOTIME

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

18/04/23 ı 34

18/04/23 ı 35


Recommended