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="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tax="http://www.example.org/TaxationEvent">
- <soapenv:Header>
- <addr:To xmlns:addr="http://www.w3.org/2005/08/addressing">jms:/processes/POCVaud/ProcessControl/TaxationControlProcess/UNIREG?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616</addr:To>
- <addr:Action xmlns:addr="http://www.w3.org/2005/08/addressing">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
Leave a Comment
You must be logged in to post a comment.