Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Do & Don’ts of BPM  The Full Stack      13/03/2008 Joram Barrez - Dolmen
About   Software engineer at Dolmen Computer Applications   Using jBPM from Monday to Friday     • Before january ’08  ...
Goals   jBPM in some real-life action   Demonstration use case: PoC “jBPM orchestration”    • Revitalization of mainfram...
Content   Customer Requirements   JBPM Performance   Proof of Concept   BI/BAM   Demo                            12/1...
Typical architecture                       12/10/12 ı   5
Requirements   Every application talks directly to its dependent applications    • Mediation required to keep it manageab...
Why jBPM?   Previous experience   Embeddable    • jBPM is “Yet Another Java Library”    • jBPM can be used in any applic...
Content   Customer Requirements   JBPM Performance   Proof of Concept   BI/BAM   Demo                            12/1...
jBPM Performance   We knew jBPM could tackle the workflow requirements   But is it “fast enough”?    • Simple measuremen...
Some performance numbers (sequential)                                                            2 ms 2 ms                ...
Some performance numbers                           12 ms   5 ms                               12/10/12 ı   11
Realistic business process: Handling a hospital report                                  New Report created                ...
Content   Customer Requirements   JBPM Performance   Proof of Concept   BI/BAM   Demo                            12/1...
Proof of Concept (PoC)   Goal: build a small scale application that proofs the    feasibility of the project    • But eas...
Application mediation   Problem: applications talk to each other directly, resulting    in a cobweb of dependent applicat...
What is an ESB? (without getting too technical)   Best comparison: mailbox                             Destination       ...
What is an ESB? (without getting too technical)                                                                Destination...
Proof-of-Concept overview               Automatic Report Generation                     (XML)                             ...
Proof-of-Concept overview               Automatic Report Generation                        (XML)                  TCP     ...
Proof-of-Concept overview               Automatic Report Generation                        (XML)                  TCP     ...
Proof-of-Concept overview               Automatic Report Generation                        (XML)                  TCP     ...
Proof-of-Concept overview               Automatic Report Generation                  TCP   TRANSFORMATION                 ...
12/10/12 ı   23
Content   Customer Requirements   JBPM Performance   Proof of Concept   BI/BAM   Demo                            12/1...
Business Intelligence (BI) /Business Activity Monitoring (BAM)   BI ~ BAM    • BAM  real-time monitoring/analysing metri...
Business Intelligence (BI) /Business Activity Monitoring (BAM)        “What you can’t measure, you can’t manage”   BI/BAM...
BI/BAM & jBPM   BI/BAM often integrated in BPM products   jBPM does not offer such functionality    • Discussions about ...
PoC: BAM with SeeWhy*   Young & enthousiastic, UK based software company   Extremely well documented (hundreds of pages)...
SeeWhy workings Event Queue (JMS)Event                     Calculations/                     Aggregations                 ...
Combining jBPM & SeeWhy                          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 matte...
PoC : Complete picture                 Report Generation                          (XML)                    TCP     TRANSFO...
DEMOTIME       12/10/12 ı   33
Lessons learned   jBPM allows us to implement a wide range of business    processes, since we have the power of Java at d...
12/10/12 ı   35
Upcoming SlideShare
Loading in …5
×

Do and Don'ts of BPM - The Full Stack

571 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Do and Don'ts of BPM - The Full Stack

  1. 1. Do & Don’ts of BPM The Full Stack 13/03/2008 Joram Barrez - Dolmen
  2. 2. 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 12/10/12 ı 2
  3. 3. 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, …) 12/10/12 ı 3
  4. 4. Content Customer Requirements JBPM Performance Proof of Concept BI/BAM Demo 12/10/12 ı 4
  5. 5. Typical architecture 12/10/12 ı 5
  6. 6. 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” 12/10/12 ı 6
  7. 7. 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 12/10/12 ı 7
  8. 8. Content Customer Requirements JBPM Performance Proof of Concept BI/BAM Demo 12/10/12 ı 8
  9. 9. 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 12/10/12 ı 9
  10. 10. Some performance numbers (sequential) 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 12/10/12 ı 10
  11. 11. Some performance numbers 12 ms 5 ms 12/10/12 ı 11
  12. 12. Realistic business process: Handling a hospital report New Report created 3 ms Check Report type Some reports need manual verification Automatic checking Complete & archive report Remove report 12/10/12 ı 12
  13. 13. Content Customer Requirements JBPM Performance Proof of Concept BI/BAM Demo 12/10/12 ı 13
  14. 14. 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 12/10/12 ı 14
  15. 15. 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) 12/10/12 ı 15
  16. 16. What is an ESB? (without getting too technical) Best comparison: mailbox Destination “ROUTING” Protocol? Don’t care, as Long as the message Is delivered 12/10/12 ı 16
  17. 17. What is an ESB? (without getting too technical) Destination “ROUTING” TCP/IPAdvantage: applicationsonly need to communicate with SOAP(Webservice)the ESB. They don’t need to use the Protocol? JMS‘language’ of the destination anymoreProducts- Mule ESB (customer pref)- BEA Aqualogic Don’t care, as- JBoss ESB* Long as the message  SOA platform (inc. jBPM) Is delivered 12/10/12 ı 17* http://parleys.com/display/PARLEYS/JBoss+ESB by Johan Kumps
  18. 18. Proof-of-Concept overview Automatic Report Generation (XML) 12/10/12 ı 18
  19. 19. Proof-of-Concept overview Automatic Report Generation (XML) TCP MULE ESB 12/10/12 ı 19
  20. 20. Proof-of-Concept overview Automatic Report Generation (XML) TCP TRANSFORMATION (XSLT) MULE ESB JMS MESSAGE JMS QUEUE 12/10/12 ı 20
  21. 21. Proof-of-Concept overview Automatic Report Generation (XML) TCP TRANSFORMATION (XSLT) MULE ESB JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) 12/10/12 ı 21
  22. 22. Proof-of-Concept overview Automatic Report Generation TCP TRANSFORMATION (XSLT) MULE ESB JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) 12/10/12 ı 22
  23. 23. 12/10/12 ı 23
  24. 24. Content Customer Requirements JBPM Performance Proof of Concept BI/BAM Demo 12/10/12 ı 24
  25. 25. 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 12/10/12 ı 25
  26. 26. Business Intelligence (BI) /Business Activity Monitoring (BAM) “What you can’t measure, you can’t manage” 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 12/10/12 ı 26
  27. 27. 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 12/10/12 ı 27
  28. 28. 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 12/10/12 ı 28* http://www.seewhy.com/
  29. 29. SeeWhy workings Event Queue (JMS)Event Calculations/ Aggregations e.g. Show the average number Of reports processed the last hour 12/10/12 ı 29
  30. 30. Combining jBPM & SeeWhy Send an event to the queue on the SeeWhy server 12/10/12 ı 30
  31. 31. 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) 12/10/12 ı 31
  32. 32. PoC : Complete picture Report Generation (XML) TCP TRANSFORMATION (XSLT) JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) BAM 12/10/12 ı 32 12/10/12 ı 32 BI
  33. 33. DEMOTIME 12/10/12 ı 33
  34. 34. 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 12/10/12 ı 34
  35. 35. 12/10/12 ı 35

×