Académique Documents
Professionnel Documents
Culture Documents
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
21/02/2014 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, )
21/02/2014 3
Content
Customer Requirements
JBPM Performance
Proof of Concept
BI/BAM Demo
21/02/2014 4
Typical architecture
21/02/2014 5
Requirements
Every application talks directly to its dependent applications
Mediation required to keep it manageable
21/02/2014 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
21/02/2014 7
Content
Customer Requirements
JBPM Performance
Proof of Concept
BI/BAM Demo
21/02/2014 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
Intel Core Duo 2 Ghz 2 GB DDR2 RAM 5400 rpm SATA HD MySQL 5.0.45 Database
21/02/2014 9
2 ms
2 ms
3 ms
Non-optimized Hibernate config: 16 ms! From 1.800.000 processes/hour 225 000 processes/hour
5-6 ms
21/02/2014 10
12 ms
5 ms
21/02/2014 11
3 ms
Automatic checking
Remove report
21/02/2014 12
Content
Customer Requirements
JBPM Performance
Proof of Concept
BI/BAM Demo
21/02/2014 13
Only one business process (Handling a hospital report) Only two applications need communication
Report generator Client application
21/02/2014 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
21/02/2014 15
Destination
ROUTING
Protocol?
ROUTING Advantage: applications only need to communicate with the ESB. They dont need to use the language of the destination anymore Products - Mule ESB (customer pref) - BEA Aqualogic - JBoss ESB* SOA platform (inc. jBPM) TCP/IP SOAP(Webservice) Protocol? JMS
Proof-of-Concept overview
Automatic Report Generation
(XML)
21/02/2014 18
Proof-of-Concept overview
Automatic Report Generation
(XML)
TCP
MULE ESB
21/02/2014 19
Proof-of-Concept overview
Automatic Report Generation
(XML)
TCP
TRANSFORMATION (XSLT)
JMS MESSAGE
MULE ESB
JMS QUEUE
21/02/2014 20
Proof-of-Concept overview
Automatic Report Generation
(XML)
TCP
TRANSFORMATION (XSLT)
JMS MESSAGE
MULE ESB
JMS QUEUE
EJB 3 MDB
Proof-of-Concept overview
Automatic Report Generation
TCP
TRANSFORMATION (XSLT)
JMS MESSAGE
MULE ESB
JMS QUEUE
EJB 3 MDB
21/02/2014 23
Content
Customer Requirements
JBPM Performance
Proof of Concept
BI/BAM Demo
21/02/2014 24
BI ~ BAM
BAM real-time monitoring/analysing metrics BI historical monitoring/analysing metrics e.g. stock trade buy/sell according to metrics
21/02/2014 25
Managers
BI/BAM
21/02/2014 26
21/02/2014 27
Young & enthousiastic, UK based software company Extremely well documented (hundreds of pages)
74 pages SeeWhy with jBPM
* http://www.seewhy.com/
21/02/2014 28
SeeWhy workings
Event
Calculations/ Aggregations
e.g. Show the average number Of reports processed the last hour
21/02/2014 29
21/02/2014 30
PoC
Simple BI app (JRuby on Rails)
21/02/2014 31
TCP
TRANSFORMATION (XSLT)
JMS MESSAGE
JMS QUEUE
EJB 3 MDB
BAM
21/02/2014 32 21/02/2014 32
BI
DEMO TIME
21/02/2014 33
Lessons learned
jBPM allows us to implement a wide range of business processes, since we have the power of Java at disposal
Business analysts arent fond of jBPM at first encounter
Building business processes is not a matter of drag-and-drop! Business processes cant be built without programmatic logic! Transactions, performance,
BI/BAM sells!
Defining a basic BI/BAM framework for jBPM
21/02/2014 34
21/02/2014 35