Thursday, January 7, 2010

Tracking instances from BPEL Console

In one of my blog’s I had referred to multiple ways of using java in BPEL and how to use internal BPEL API’s. Here goes the next one. Recently I had chance to work with the support team who was managing one of the projects I had worked on. So one of the main issues they had was on tracking the instances to the batch of records it had transferred. There were many legacy systems which didn’t have any triggering mechanism because of which integrations were scheduled to run every 5 minutes so as to get a close real-time integration. Because of this, there used to be thousands of instances appearing in console which made it harder for support team to find the instance and debug the issues.

As part of the best practices, we had implemented a common message header among all the integrations. One of the fields in the message header was a GlobalMessageId which will be a unique value for each instance. In the final stages of design phase the unique global message Id was decided to be used as batch Id for the records being transferred in each run. In course of time the Global message ID became one of the critical factors in tracing a transaction.

There were scenarios where we had transferred the records to the end system but had not triggered the procedure properly .So to track back on what went wrong with these batch of records, the Id that came in handy was the unique batch Id’s which was same as the Global message Id of the BPEL process instance which transferred those records.

So one of the ways we used to help the support team was to overwrite the Title of the BPEL process with the global message Id so that if we have the batch ID of the records which has issues ,we can filter the instances with the same ID and figure out what went wrong with the process. The overwriting was done using Java embedding.


From a support perspective it will be really helpful if we do small workarounds like this. It can make their life simpler not really smooth, since they need to figure out what went wrong with the instance. On this happy note happy new year J

No comments: