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

24
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

description

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

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

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

FOR OMG BPM/SOA COP WORKING SUB-GROUP, 2010-06-02

EXAMPLE: USE OF BPM TO MONITOR AN ESB-CENTRIC INTEGRATION

Alexander SamarinRichard Vigniel

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

Teamlog (Suisse) S.A.

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

22010-06-02

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

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

Teamlog (Suisse) S.A.

ESB-centric view – only flow of data

Enterprise Service Bus (ESB)

Application 1Application 1

Application 3Application 3

Application 2Application 2

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

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

Teamlog (Suisse) S.A.

Process-centric view – bothflow of control and flow of data

Process

Application 1Application 1

Application 3Application 3

Application 2Application 2

Primary importance – the result of working together, but not individual exchanges (like in the football)

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

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

Teamlog (Suisse) S.A.

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.)

52010-06-02

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

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

Teamlog (Suisse) S.A.

In-house understanding of the process

• Imagine a token moving through this process – any need for loops?

• Merging isimplicit

• Too technical• Actually it is the

production line• Good for

e-gov?

62010-06-02

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

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

Teamlog (Suisse) S.A.

• 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

7

Click for animation

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

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

Teamlog (Suisse) S.A.

• Takeover time between blocks• SLA of each block

What to monitor?

8

SLA SLA SLASLA SLA SLA

Takeover time

Takeover time

Takeover time

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

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

Teamlog (Suisse) S.A.

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)

92010-06-02

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

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

Teamlog (Suisse) S.A.

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.

102010-06-02

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

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

Teamlog (Suisse) S.A.

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)

112010-06-02

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

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

Teamlog (Suisse) S.A.

Control process in this POC

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

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

Teamlog (Suisse) S.A.

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-0213Example: Use of BPM to monitor an ESB-centric

integration

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

Teamlog (Suisse) S.A.

Definition of metrics

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

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

Teamlog (Suisse) S.A.

Capture of metrics

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

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

Teamlog (Suisse) S.A.

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&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;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-0216Example: Use of BPM to monitor an ESB-centric integration

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

Teamlog (Suisse) S.A.

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-0217Example: Use of BPM to monitor an ESB-centric integration

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

Teamlog (Suisse) S.A.

Report – initial view

No process instances

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

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

Teamlog (Suisse) S.A.

Messages « Start monitoring» sent

30 instances are instantiated

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

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

Teamlog (Suisse) S.A.

Messages « End of Taxations  » sent

28 instances in the state « tax »

Ratio of groupping = 0%

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

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

Teamlog (Suisse) S.A.

Messages « End of Facturation » sent

24 instances terminated

Ratio of groupping = 85%(24/28)

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

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

Teamlog (Suisse) S.A.

Report Designer

Data Sets

Mise en page

Propriétés

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

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

Teamlog (Suisse) S.A.

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-0223Example: Use of BPM to monitor an ESB-centric integration

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

Teamlog (Suisse) S.A.

Thank you!

Contact information:

Alexander Samarin

[email protected]

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