1 / 35

Do & Don’ts of BPM The Full Stack

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  business processes on a small scale

tyme
Download Presentation

Do & Don’ts of BPM The Full Stack

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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

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

  4. Content • CustomerRequirements • JBPM Performance • Proof of Concept • BI/BAM • Demo

  5. Typical architecture

  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”

  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

  8. Content • CustomerRequirements • JBPM Performance • Proof of Concept • BI/BAM • Demo

  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 stoptime of the processes • Intel Core Duo 2 Ghz • 2 GB DDR2 RAM • 5400 rpm SATA HD • MySQL 5.0.45 Database

  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

  11. Some performance numbers 12 ms 5 ms

  12. New Report created Check Report type Some reports need manual verification Automatic checking Realistic business process: Handling a hospital report 3 ms Complete & archive report Remove report

  13. Content • CustomerRequirements • JBPM Performance • Proof of Concept • BI/BAM • Demo

  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

  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)

  16. What is an ESB? (without getting too technical) Destination • Best comparison: mailbox “ROUTING” Protocol? Don’t care, as Long as the message Is delivered

  17. What is an ESB? (without getting too technical) Destination “ROUTING” TCP/IP Advantage: applicationsonly need to communicate withthe ESB. They don’t need to use the‘language’ of the destination anymore SOAP(Webservice) Protocol? JMS • Products • Mule ESB (customer pref) • BEA Aqualogic • JBoss ESB* •  SOA platform (inc. jBPM) Don’t care, as Long as the message Is delivered * http://parleys.com/display/PARLEYS/JBoss+ESB by Johan Kumps

  18. Proof-of-Concept overview Automatic Report Generation (XML)

  19. Proof-of-Concept overview Automatic Report Generation (XML) TCP MULE ESB

  20. Proof-of-Concept overview Automatic Report Generation (XML) TCP TRANSFORMATION (XSLT) MULE ESB JMS MESSAGE JMS QUEUE

  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)

  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)

  23. Content • CustomerRequirements • JBPM Performance • Proof of Concept • BI/BAM • Demo

  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

  25. Business Intelligence (BI) / Business Activity Monitoring (BAM) • 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 “What you can’t measure, you can’t manage”

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

  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 * http://www.seewhy.com/

  28. SeeWhy workings Event Queue (JMS) Event Calculations/ Aggregations e.g. Show the average number Of reports processed the last hour

  29. Combining jBPM & SeeWhy Send an event to the queue on the SeeWhy server

  30. 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)

  31. Report Generation PoC : Complete picture (XML) TCP TRANSFORMATION (XSLT) JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) 11/03/2014 ı 32 BAM BI

  32. DEMO TIME

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

More Related