e9f631a690d1b8270b707de0cd857e99.ppt
- Количество слайдов: 35
Do & Don’ts of BPM The Full Stack 13/03/2008 Joram Barrez - Dolmen
About è Software engineer at Dolmen Computer Applications è Using j. BPM 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 j. BPM for process orchestration in a departement of the Flemish governement è Other fields of interest: • Agile development & (J)Ruby on Rails 16/03/2018 ı 2
Goals è j. BPM in some real-life action è Demonstration use case: Po. C “j. BPM orchestration” • Revitalization of mainframe architecture • Po. C built to show feasability of project • Using some “cool” technologies (j. BPM, ESB, EJB 3, …) 16/03/2018 ı 3
Content è Customer Requirements è JBPM Performance è Proof of Concept è BI/BAM è Demo 16/03/2018 ı 4
Typical architecture 16/03/2018 ı 5
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” 16/03/2018 ı 6
Why j. BPM? è è Previous experience Embeddable • j. BPM is “Yet Another Java Library” • j. BPM 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 16/03/2018 ı 7
Content è Customer Requirements è JBPM Performance è Proof of Concept è BI/BAM è Demo 16/03/2018 ı 8
j. BPM Performance è We knew j. BPM could tackle the workflow requirements è But is it “fast enough”? • Simple measurement used (e. g. no dedicated server) • 2500 runs of an automated j. BPM process (jpdl 3. 2. 2) • Timings are average between start en stop time of the processes • Intel Core Duo 2 Ghz • 2 GB DDR 2 RAM • 5400 rpm SATA HD • My. SQL 5. 0. 45 Database 16/03/2018 ı 9
Some performance numbers (sequential) 2 ms 3 ms Non-optimized Hibernate config: 16 ms! From 1. 800. 000 processes/hour 225 000 processes/hour 5 -6 ms 16/03/2018 ı 10
Some performance numbers 12 ms 5 ms 16/03/2018 ı 11
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 16/03/2018 ı 12
Content è Customer Requirements è JBPM Performance è Proof of Concept è BI/BAM è Demo 16/03/2018 ı 13
Proof of Concept (Po. C) è 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 16/03/2018 ı 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 Po. C) • Enterprise Service Bus (ESB) 16/03/2018 ı 15
What is an ESB? (without getting too technical) è Best comparison: mailbox Destination “ROUTING” Protocol? Don’t care, as Long as the message Is delivered 16/03/2018 ı 16
What is an ESB? (without getting too technical) Destination “ROUTING” Advantage: applications only need to communicate with the ESB. They don’t need to use the ‘language’ of the destination anymore Products - Mule ESB (customer pref) - BEA Aqualogic - JBoss ESB* SOA platform (inc. j. BPM) TCP/IP SOAP(Webservice) Protocol? JMS Don’t care, as Long as the message Is delivered * http: //parleys. com/display/PARLEYS/JBoss+ESB by Johan Kumps 16/03/2018 ı 17
Proof-of-Concept overview Automatic Report Generation (XML) 16/03/2018 ı 18
Proof-of-Concept overview Automatic Report Generation (XML) TCP MULE ESB 16/03/2018 ı 19
Proof-of-Concept overview Automatic Report Generation (XML) TCP TRANSFORMATION (XSLT) MULE ESB JMS MESSAGE JMS QUEUE 16/03/2018 ı 20
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) 16/03/2018 ı 21
Proof-of-Concept overview Automatic Report Generation TCP TRANSFORMATION (XSLT) MULE ESB JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) 16/03/2018 ı 22
16/03/2018 ı 23
Content è Customer Requirements è JBPM Performance è Proof of Concept è BI/BAM è Demo 16/03/2018 ı 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 16/03/2018 ı 25
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 16/03/2018 ı 26
BI/BAM & j. BPM è è BI/BAM often integrated in BPM products j. BPM does not offer such functionality • Discussions about BI/BAM and j. BPM can be tracked online, so it will be only a matter of time (hopefully) è So, why should we choose j. BPM if BI/BAM is missing? • BI/BAM is extremely business-specific, so there will always be need for custom implementations • Openness of j. BPM allows extremely business-specific BI/BAM, which could be impossible with pre-made BI/BAM solutions 16/03/2018 ı 27
Po. C: BAM with See. Why* è è Young & enthousiastic, UK based software company Extremely well documented (hundreds of pages) • 74 pages “See. Why with j. BPM” è See. Why Community/Enterprise Edition • Realtime metrics, real time alerts, real time actions * http: //www. seewhy. com/ 16/03/2018 ı 28
See. Why workings Event Queue (JMS) Event Calculations/ Aggregations e. g. Show the average number Of reports processed the last hour 16/03/2018 ı 29
Combining j. BPM & See. Why Send an event to the queue on the See. Why server 16/03/2018 ı 30
Business Intelligence with j. BPM è All historical data is stored in the database by the j. BPM engine • So, BI is a matter of writing “the right queries” è Po. C • Simple BI app (JRuby on Rails) 16/03/2018 ı 31
Po. C : Complete picture Report Generation (XML) TCP TRANSFORMATION (XSLT) JMS MESSAGE JMS QUEUE EJB 3 MDB BPM Service (EJB 3 SLSB) 16/03/2018 ı 32 BAM BI
DEMO TIME 16/03/2018 ı 33
Lessons learned è è j. BPM 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 j. BPM 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 j. BPM 16/03/2018 ı 34
16/03/2018 ı 35
e9f631a690d1b8270b707de0cd857e99.ppt