business management process management process modeling service oriented architecture soa presentations

Example: Use of BPM to monitor an ESB-centric integration

Description

Some « pieces of work » got lost between applications which are involved in an implicit business process....

Transcript

FOR OMG BPM/SOA COP WORKING SUB-GROUP, 2010-06-02 EXAMPLE: USE OF BPM TO MONITOR AN ESB-CENTRIC INTEGRATION Alexander Samarin Richard Vigniel The situation

  • Business issue
    • Some « pieces of work » got lost between applications which are involved in a business process
    • Degree of synchronisation of some applications is low
  • Technical issues
    • No overall coordination or monitoring over those applications
    • The business process is implicit
    • Need for the real-time monitoring for IT
    • Need for the real-time monitoring for business
    • There is no « bigger » architecture
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration ESB-centric view – only flow of data Enterprise Service Bus (ESB) Application 1 Application 3 Application 2 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Process-centric view – both flow of control and flow of data Process Application 1 Application 3 Application 2 Primary importance – the result of working together, but not individual exchanges (like in the football) 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Context
  • The business goal (short-term)
    • Implement monitoring WITHOUT disruptive changes in the infrastructure – simple, quick and cheap
  • The techniques
    • Make the process explicit
    • Discuss monitoring approaches
  • Use the architectural approach to
    • Mix BPM, SOA, ESB, BAM, BEM, CEP
    • Select tools which are good citizens (not expensive, easy to deploy, fit to existing culture, real “worker”, not exotic, etc.)
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration In-house understanding of the process
  • Imagine a token moving through this process – any need for loops?
  • Merging is implicit
  • Too technical
  • Actually it is the production line
  • Good for e-gov?
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration
  • Three parts of the tax declaration
    • La décision de taxation ICC/IFD,
    • Le ou les factures associées (parfois aucune),
    • Le relevé de compte.
  • Merging is explicit (SP01 and SP02)
  • Only business activities are visible
Tax declaration-centric version of the process Click for animation 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration
  • Takeover time between blocks
  • SLA of each block
What to monitor? 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration SLA SLA SLA SLA SLA SLA Takeover time Takeover time Takeover time SLA of each block
  • The message event (E02) which should throw an alarm after the timer event (E01) is not activated because of the cancel event (E03)
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Takeover time between blocks
  • The exclusive event gateway (G01) is waiting for the end of transition (E04) or timer (E05). The latter initiate an alarm.
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration General recommendations
  • Both block SLA and takeover time can be monitored in different ways
  • Block SLA can be monitored by a particular tool itself
  • Takeover time should be monitored by a “third” party
  • Monitoring should take into considerations dependencies between events – if a tool is broken there is no need to alarm about SLA of process instances which use this tool (similar to NAGIOS functionality)
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Control process in this POC 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Integration with the ESB
  • Transformation and technical routing of messages by the ESB
  • Transmission of message into queues JMS
App1 App2 ESB ( technical routing and transformation) 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Definition of metrics 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Capture of metrics 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Format of the message
  • <?xml version='1.0' encoding='UTF-8'?>
  • <soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:tax=&quot;http://www.example.org/TaxationEvent&quot;>
  • <soapenv:Header>
  • <addr:To xmlns:addr=&quot;http://www.w3.org/2005/08/addressing&quot;>jms:/processes/POCVaud/ProcessControl/TaxationControlProcess/UNIREG?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616</addr:To>
  • <addr:Action xmlns:addr=&quot;http://www.w3.org/2005/08/addressing&quot;>http://example.com/ProcessControl/TaxationControlProcess/ForUNIREG/EventStartMessage</addr:Action>
  • </soapenv:Header>
  • <soapenv:Body>
  • <tax:TaxationEvent>
  • <tax:NoContribuale>10000455</tax:NoContribuale>
  • <tax:NoTaxation>1</tax:NoTaxation>
  • <tax:NoVersion>1</tax:NoVersion>
  • <tax:AnneeFiscale>2008</tax:AnneeFiscale>
  • <tax:TypeImpot>IRF</tax:TypeImpot>
  • </tax:TaxationEvent>
  • </soapenv:Body>
  • </soapenv:Envelope>
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Test scenario
  • A java application generates and sends the following messages into JMS queues
    • 30 messages « Start monitoring »
    • 28 messages « End of Taxations »
    • 24 messages « End of Facturations »
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Report – initial view No process instances 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Messages « Start monitoring» sent 30 instances are instantiated 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Messages « End of Taxations  » sent 28 instances in the state « tax » Ratio of groupping = 0% 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Messages « End of Facturation » sent 24 instances terminated Ratio of groupping = 85% (24/28) 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Report Designer Data Sets Mise en page Propriétés 2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Conclusion
  • Intalio|BAM (BIRT) allowes quick implementation of complex reports
  • Deep knowledge of SQL is mandatory
  • Drill down feature has not been tested
  • Messages have been transformed by the ESB
  • Intalio|BPM facilitates the capture of metrics
  • BPM does not bring a lot in this example, because the process is simple and passive (or shadow)
  • BPM added values comes from complex rules which are explicitely expressed (in comparison with CEP)
  • BPM with active processes is naturally integrated with BAM
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration Thank you!
  • Contact information:
  • Alexander Samarin
  • [email_address]
2010-06-02 Example: Use of BPM to monitor an ESB-centric integration