SlideShare ist ein Scribd-Unternehmen logo
1 von 35
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
     • 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
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
Content


   Customer Requirements

   JBPM Performance

   Proof of Concept

   BI/BAM

   Demo


                            12/10/12 ı   4
Typical architecture




                       12/10/12 ı   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”



                                                            12/10/12 ı   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
   Convenient for developers




                                                            12/10/12 ı   7
Content


   Customer Requirements

   JBPM Performance

   Proof of Concept

   BI/BAM

   Demo


                            12/10/12 ı   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

                                                            12/10/12 ı   9
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
Some performance numbers




                           12 ms

   5 ms




                               12/10/12 ı   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

                                                                       12/10/12 ı   12
Content


   Customer Requirements

   JBPM Performance

   Proof of Concept

   BI/BAM

   Demo


                            12/10/12 ı   13
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
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
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
What is an ESB? (without getting too technical)

                                                                Destination




                      “ROUTING”
                                                           TCP/IP
Advantage: applications
only need to communicate with                              SOAP(Webservice)
the ESB. They don’t need to use the            Protocol?    JMS
‘language’ of the destination anymore
Products
- 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
Proof-of-Concept overview
               Automatic Report Generation


                     (XML)




                                             12/10/12 ı   18
Proof-of-Concept overview
               Automatic Report Generation


                        (XML)




                  TCP
                                                   MULE
                                                   ESB




                                             12/10/12 ı   19
Proof-of-Concept overview
               Automatic Report Generation


                        (XML)




                  TCP     TRANSFORMATION
                               (XSLT)                            MULE
                                                                 ESB
                                             JMS MESSAGE



                                               JMS QUEUE




                                                           12/10/12 ı   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)

                                                                12/10/12 ı   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)

                                                              12/10/12 ı   22
12/10/12 ı   23
Content


   Customer Requirements

   JBPM Performance

   Proof of Concept

   BI/BAM

   Demo


                            12/10/12 ı   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



                                                               12/10/12 ı   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

                                                     12/10/12 ı   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



                                                             12/10/12 ı   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




                                                              12/10/12 ı   28
* http://www.seewhy.com/
SeeWhy workings



 Event Queue (JMS)




Event
                     Calculations/
                     Aggregations




                                 e.g. Show the average number
                                 Of reports processed the last hour



                                                           12/10/12 ı   29
Combining jBPM & SeeWhy

                          Send an event to the queue
                          on the SeeWhy server




                                     12/10/12 ı   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)




                                                           12/10/12 ı   31
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
DEMO
TIME




       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 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
12/10/12 ı   35

Weitere ähnliche Inhalte

Ähnlich wie Do and Don'ts of BPM - The Full Stack

20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPMcamunda services GmbH
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackgjdevos
 
How to deploy & optimize eZ Publish (2014)
How to deploy & optimize eZ Publish (2014)How to deploy & optimize eZ Publish (2014)
How to deploy & optimize eZ Publish (2014)Kaliop-slide
 
Mainframe
MainframeMainframe
Mainframeshivas
 
John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speakerdeimos
 
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...Ceph Community
 
Java one 2015 [con3339]
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]Arshal Ameen
 
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshellWe4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshellWe4IT Group
 
Evolving from Messaging to Event Streaming
Evolving from Messaging to Event StreamingEvolving from Messaging to Event Streaming
Evolving from Messaging to Event Streamingconfluent
 
Apache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source IntegrationApache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source Integrationprajods
 
Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8MongoDB
 
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...The Linux Foundation
 
Cmdb intro 2012 v1
Cmdb intro 2012 v1Cmdb intro 2012 v1
Cmdb intro 2012 v1Pini Cohen
 
Database Performance With Proxy Architectures
Database  Performance With  Proxy  ArchitecturesDatabase  Performance With  Proxy  Architectures
Database Performance With Proxy ArchitecturesPerconaPerformance
 
Good Data: Collaborative Analytics On Demand
Good Data: Collaborative Analytics On DemandGood Data: Collaborative Analytics On Demand
Good Data: Collaborative Analytics On Demandzsvoboda
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented ArchitectureBob Rhubart
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextXavier Warzee
 
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanOpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanNETWAYS
 

Ähnlich wie Do and Don'ts of BPM - The Full Stack (20)

20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM20061122 JBoss-World Experiences with JBoss jBPM
20061122 JBoss-World Experiences with JBoss jBPM
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStack
 
How to deploy & optimize eZ Publish (2014)
How to deploy & optimize eZ Publish (2014)How to deploy & optimize eZ Publish (2014)
How to deploy & optimize eZ Publish (2014)
 
Mainframe
MainframeMainframe
Mainframe
 
John Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick SpeakerJohn Davies Last Minute Fill In For Sick Speaker
John Davies Last Minute Fill In For Sick Speaker
 
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
Accelerating Ceph Performance with High Speed Networks and Protocols - Qingch...
 
Java one 2015 [con3339]
Java one 2015 [con3339]Java one 2015 [con3339]
Java one 2015 [con3339]
 
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshellWe4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
We4IT LCTY 2013 - x-pages-men - ibm domino xpages - performance in a nutshell
 
Evolving from Messaging to Event Streaming
Evolving from Messaging to Event StreamingEvolving from Messaging to Event Streaming
Evolving from Messaging to Event Streaming
 
Apache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source IntegrationApache Camel: The Swiss Army Knife of Open Source Integration
Apache Camel: The Swiss Army Knife of Open Source Integration
 
Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8Webinar: High Performance MongoDB Applications with IBM POWER8
Webinar: High Performance MongoDB Applications with IBM POWER8
 
Low-level Graphics APIs
Low-level Graphics APIsLow-level Graphics APIs
Low-level Graphics APIs
 
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
XPDS13: Enabling Fast, Dynamic Network Processing with ClickOS - Joao Martins...
 
Cmdb intro 2012 v1
Cmdb intro 2012 v1Cmdb intro 2012 v1
Cmdb intro 2012 v1
 
Database Performance With Proxy Architectures
Database  Performance With  Proxy  ArchitecturesDatabase  Performance With  Proxy  Architectures
Database Performance With Proxy Architectures
 
Good Data: Collaborative Analytics On Demand
Good Data: Collaborative Analytics On DemandGood Data: Collaborative Analytics On Demand
Good Data: Collaborative Analytics On Demand
 
21st Century Service Oriented Architecture
21st Century Service Oriented Architecture21st Century Service Oriented Architecture
21st Century Service Oriented Architecture
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy Context
 
Blue Ruby SDN Webinar
Blue Ruby SDN WebinarBlue Ruby SDN Webinar
Blue Ruby SDN Webinar
 
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan KoomanOpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
OpenNebula Conf 2014 | ONE BIT to rule them all - Stefan Kooman
 

Mehr von Joram Barrez

Activiti v6 UI (Activiti Community Day Paris 2015)
 Activiti v6 UI (Activiti Community Day Paris 2015)  Activiti v6 UI (Activiti Community Day Paris 2015)
Activiti v6 UI (Activiti Community Day Paris 2015) Joram Barrez
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Joram Barrez
 
Alfresco Devcon 2010: A new kind of BPM with Activiti
Alfresco Devcon 2010: A new kind of BPM with ActivitiAlfresco Devcon 2010: A new kind of BPM with Activiti
Alfresco Devcon 2010: A new kind of BPM with ActivitiJoram Barrez
 
Alfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMAlfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMJoram Barrez
 
Activiti in Action (Devoxx 2010)
Activiti in Action (Devoxx 2010)Activiti in Action (Devoxx 2010)
Activiti in Action (Devoxx 2010)Joram Barrez
 
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)Joram Barrez
 
Devoxx 2009 Conference session Jbpm4 In Action
Devoxx 2009 Conference session Jbpm4 In ActionDevoxx 2009 Conference session Jbpm4 In Action
Devoxx 2009 Conference session Jbpm4 In ActionJoram Barrez
 
Devoxx 2009 University session Jbpm4 In Action
Devoxx 2009 University session Jbpm4 In ActionDevoxx 2009 University session Jbpm4 In Action
Devoxx 2009 University session Jbpm4 In ActionJoram Barrez
 
Presentation jBPM Community Day 2009 - First steps with jBPM4
Presentation jBPM Community Day 2009 - First steps with jBPM4Presentation jBPM Community Day 2009 - First steps with jBPM4
Presentation jBPM Community Day 2009 - First steps with jBPM4Joram Barrez
 
Presentation Bejug March 2009
Presentation Bejug March 2009Presentation Bejug March 2009
Presentation Bejug March 2009Joram Barrez
 

Mehr von Joram Barrez (10)

Activiti v6 UI (Activiti Community Day Paris 2015)
 Activiti v6 UI (Activiti Community Day Paris 2015)  Activiti v6 UI (Activiti Community Day Paris 2015)
Activiti v6 UI (Activiti Community Day Paris 2015)
 
Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015) Launching Activiti v6 (Activiti Community Day Paris 2015)
Launching Activiti v6 (Activiti Community Day Paris 2015)
 
Alfresco Devcon 2010: A new kind of BPM with Activiti
Alfresco Devcon 2010: A new kind of BPM with ActivitiAlfresco Devcon 2010: A new kind of BPM with Activiti
Alfresco Devcon 2010: A new kind of BPM with Activiti
 
Alfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPMAlfresco Devcon 2010: Introduction to Activiti BPM
Alfresco Devcon 2010: Introduction to Activiti BPM
 
Activiti in Action (Devoxx 2010)
Activiti in Action (Devoxx 2010)Activiti in Action (Devoxx 2010)
Activiti in Action (Devoxx 2010)
 
Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)Bejug - Activiti in Action (part 1)
Bejug - Activiti in Action (part 1)
 
Devoxx 2009 Conference session Jbpm4 In Action
Devoxx 2009 Conference session Jbpm4 In ActionDevoxx 2009 Conference session Jbpm4 In Action
Devoxx 2009 Conference session Jbpm4 In Action
 
Devoxx 2009 University session Jbpm4 In Action
Devoxx 2009 University session Jbpm4 In ActionDevoxx 2009 University session Jbpm4 In Action
Devoxx 2009 University session Jbpm4 In Action
 
Presentation jBPM Community Day 2009 - First steps with jBPM4
Presentation jBPM Community Day 2009 - First steps with jBPM4Presentation jBPM Community Day 2009 - First steps with jBPM4
Presentation jBPM Community Day 2009 - First steps with jBPM4
 
Presentation Bejug March 2009
Presentation Bejug March 2009Presentation Bejug March 2009
Presentation Bejug March 2009
 

Kürzlich hochgeladen

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Kürzlich hochgeladen (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Do and Don'ts of BPM - The Full Stack

  • 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/10/12 ı 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/10/12 ı 3
  • 4. Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/10/12 ı 4
  • 5. Typical architecture 12/10/12 ı 5
  • 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. 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. Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/10/12 ı 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 • Intel Core Duo 2 Ghz • 2 GB DDR2 RAM • 5400 rpm SATA HD • MySQL 5.0.45 Database 12/10/12 ı 9
  • 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. Some performance numbers 12 ms 5 ms 12/10/12 ı 11
  • 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. Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/10/12 ı 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/10/12 ı 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/10/12 ı 15
  • 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. What is an ESB? (without getting too technical) Destination “ROUTING” TCP/IP Advantage: applications only need to communicate with SOAP(Webservice) the ESB. They don’t need to use the Protocol? JMS ‘language’ of the destination anymore Products - 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. Proof-of-Concept overview Automatic Report Generation (XML) 12/10/12 ı 18
  • 19. Proof-of-Concept overview Automatic Report Generation (XML) TCP MULE ESB 12/10/12 ı 19
  • 20. Proof-of-Concept overview Automatic Report Generation (XML) TCP TRANSFORMATION (XSLT) MULE ESB JMS MESSAGE JMS QUEUE 12/10/12 ı 20
  • 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. 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
  • 24. Content  Customer Requirements  JBPM Performance  Proof of Concept  BI/BAM  Demo 12/10/12 ı 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/10/12 ı 25
  • 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. 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. 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. 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. Combining jBPM & SeeWhy Send an event to the queue on the SeeWhy server 12/10/12 ı 30
  • 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. 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. DEMO TIME 12/10/12 ı 33
  • 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

Hinweis der Redaktion

  1. The goal of this presentation is demonstrating the use of jBPM in a real-life application. The application that is used, is a proof-of-concept which was developped for one of our customers. 10/12/12
  2. This is an application architecture which is typically found in companies which have used ICT for quite some time time. In this example, there is a large mainframe machine on which both legacy programs (upper right) and more modern programs (left) are running. Some applications are implemented as terminal programs (the application runs entirely on the server, lower right) and some are outside the mainframe, but they are using some functionality offered by the applications running on the mainframe. Commons for this “organically grown” architectures is a cobweb of dependent applications. Also notice that most of the workflow management logic (WFM) is scattered accross different applications. 10/12/12
  3. These are the requirements for the proof-of-concept 10/12/12
  4. This slide explains why we chose jBPM to implement the workflow logic 10/12/12
  5. Before we start building the proof-of-concept, we first had to make sure that jBPM was “fast enough” 10/12/12
  6. For simple sequential actions, the performance of jBPM is very good. The actions don’t have any logic in them (so we only measure the jBPM overhead). Every action has a different handler class, so that no caching can happen between the nodes of the same process. For these setups, we see that jBPM is very fast, what is to be expected since only some Hibernate calls are necessary. 10/12/12
  7. Parallel execution paths are more difficult, but as shown on the slide the average running time is in line of expectation (which is very good). 10/12/12
  8. This business process is a real-life example. The measurement was done using a report generator thread and a users-mimicing thread so the measuring went automatic. There is an overhead of these threads, but the average running time of 3 ms shows that it is minimal. 10/12/12
  9. The core functionality of an ESB is “routing’. In reality, an ESB also has other functionality (transformation, indexation …) Basically this is sending a message to a given destination, using a specific protocol. The application that sends the message however, does not know this protocol (altough it is possible). 10/12/12
  10. Change the mailbox with an ESB and the destination with another server/application and the story remains the same. The link on the bottom of the slide is done by a collegue (he is a committer of Jboss ESB). 10/12/12
  11. The next slides give a graphical overview of the proof-of-concept. This is important to understand what will be shown in the demo movie on the end. To start, we have an application which constantly generates XML reports 10/12/12
  12. These XML reports are sent to a Mule ESB using the low-level TCP protocol. 10/12/12
  13. On the ESB, the XML message is transformed using XSLT (the data that is not needed is thrown away). The XML report is now sent to a JMS queue which is running on a Jboss server 10/12/12
  14. On the same Jboss server, an EJB 3 MDB (Message Driven Bean) is running. This MDB takes messages from the JMS queue, parses the XML report and calls operations on the BPM service according to the information that is contained in the XML. The BPM service is implemented using the EJB3 Stateless Session Beans technology. This service is in fact a wrapper around the jBPM process, provinding entry/exit methods for this process (=signal methods, data retrieval methods). 10/12/12
  15. Graphical animation of the proof-of-concept 10/12/12
  16. Since we used the EJB 3 technology, we can cluster (scaling/high availability/fault tolerance) some Jboss servers to cope with high loads/SLA’s 10/12/12
  17. To use SeeWhy, we have to sent an event to the SeeWhy event queue. This is easiliy done by using a custom class and attaching it to a jBPM node. The logic in the class will construct the event and sent it to the event queue. 10/12/12