Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Do & Don’ts of BPM The Full Stack 13/03/2008 Joram Barrez - Dolmen."— Presentation transcript:

1 Do & Don’ts of BPM The 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 12/04/2015 ı2

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/04/2015 ı3

4 Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/04/2015 ı4

5 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” 12/04/2015 ı6

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/04/2015 ı7

8 Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/04/2015 ı8

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 12/04/2015 ı9 Intel Core Duo 2 Ghz 2 GB DDR2 RAM 5400 rpm SATA HD MySQL Database

10 Some performance numbers (sequential) 12/04/2015 ı10 2 ms 3 ms 5-6 ms Non-optimized Hibernate config: 16 ms! From processes/hour  processes/hour

11 Some performance numbers 12/04/2015 ı11 5 ms 12 ms

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

13 Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/04/2015 ı13

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/04/2015 ı14

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/04/2015 ı15

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

17 What is an ESB? (without getting too technical) 12/04/2015 ı17 Destination Protocol? “ROUTING” Don’t care, as Long as the message Is delivered TCP/IP SOAP(Webservice) JMS Products - Mule ESB (customer pref) - BEA Aqualogic - JBoss ESB*  SOA platform (inc. jBPM) * by Johan Kumps Advantage: applications only need to communicate with the ESB. They don’t need to use the ‘language’ of the destination anymore

18 12/04/2015 ı18 Automatic Report Generation (XML) Proof-of-Concept overview

19 12/04/2015 ı19 Proof-of-Concept overview Automatic Report Generation (XML) TCP MULE ESB

20 12/04/2015 ı20 Proof-of-Concept overview Automatic Report Generation (XML) TCP TRANSFORMATION (XSLT) JMS MESSAGE MULE ESB JMS QUEUE

21 12/04/2015 ı21 Proof-of-Concept overview Automatic Report Generation (XML) TCP TRANSFORMATION (XSLT) JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) MULE ESB

22 12/04/2015 ı22 Proof-of-Concept overview Automatic Report Generation TCP TRANSFORMATION (XSLT) JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) MULE ESB

23 12/04/2015 ı23

24 Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/04/2015 ı24

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/04/2015 ı25

26  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/04/2015 ı26 Business Intelligence (BI) / Business Activity Monitoring (BAM) “What you can’t measure, you can’t manage”

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/04/2015 ı27

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/04/2015 ı28 *

29 SeeWhy workings 12/04/2015 ı29 Event Calculations/ Aggregations Event Queue (JMS) e.g. Show the average number Of reports processed the last hour

30 Combining jBPM & SeeWhy 12/04/2015 ı30 Send an event to the queue on the SeeWhy server

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/04/2015 ı31

32 PoC : Complete picture 12/04/2015 ı32 12/04/2015 ı32 Report Generation (XML) TCP TRANSFORMATION (XSLT) JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) BAM BI

33 12/04/2015 ı33 DEMO TIME

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/04/2015 ı34

35 12/04/2015 ı35


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

Similar presentations


Ads by Google