Improve visibility with end-to-end tracing and composite sensors
By Demed L'Her on Jul 07, 2009
(this is the first post in a series presenting our “Favorite Features” in Oracle SOA Suite 11g)
In a recent talk at ODTUG Kaleidoscope in Monterey I discussed how visibility should be at the top of the priority list of any SOA architect these days. In the current economic climate, we have to demonstrate that SOA is helping the bottom line, and not over 5 years - but right from day one. Now, what about if we could cut the troubleshooting time of customer-reported incidents by (enter any number between 2 and 10 here) times?
Talking with our users, one of their major pain points they have working with SOA is that its distributed nature makes certain tasks more challenging. Tracking down things for instance. Take the case of an order going through a set of systems: a portal receives it, puts it on the bus, which redirects it to a set of BPEL processes, that in turn dispatch it to some human beings for approval, etc. If something breaks down along the way (of course, since Oracle is unbreakable, the failure is usually due to someone in the approval chain taking an extended lunch break…), you should expect the customer to pick up the phone and ask “where is my order?”. So, how do you figure where the order is stuck and how to recover it? Remember that this order is going through a multi-step, multi-systems process, distributed across multiple physical servers. This is where Oracle Enterprise Manager, the control center for the Oracle SOA Suite comes into play: it is your single view into these systems. The two key features that will help you troubleshoot the above problem are:
- end-to-end instance tracing
- composite sensors
And yes, these features are available out-of-the-box with Oracle SOA Suite – no need for an extra management product!
End-to-end Instance Tracking
When you execute any composite in 11g this will result in an instance trail in Enterprise Manager. While in 10g this instance trail used to be limited to BPEL and OESB, it now encompasses all SOA products in 11g!
In the above screenshot you can see the instance trail resulting from a purchase order processing application that includes multiple BPEL processes, mediation components, human workflows and some external services. As a matter of fact this instance trail even spans multiple composites - Enterprise Manager was able to identify it was the same message and automatically correlate the traces.
Now let’s turn to the other key feature that greatly enhances visibility in 11g: composite sensors. While instance tracing give us the complete picture of what happened to any given message, we first need to be able to find the message we’re interested - for instance, to answer the question from our angry customer wondering where her order is. This is where composite sensors come into play.
First we instrument the composite:
- The application designer identifies the key data fields that need to be tracked, for instance the po_id
- The developer attaches a sensor on this field (it’s just a configuration steps, a couple of clicks)
That’s it on the design side of things.
Now we can use these sensors to search specific instances at runtime! Here’s how it works in Enterprise Manager:
- Go to the instances tab for your composite
- Click on the Add Field button – you will see a drop-down menu with all the sensors defined in the composite. Pick po_id for instance.
- You can now search for a given instance using the po_id.
So next time your irate customer calls, all you will need to ask for is her order ID and in a just a few clicks you should be able to tell her exactly where the order is…
By the way this feature was available in OESB 10g and was known as trackable fields. Now this has been elevated to the composite level and is available to all products.
Sorry for the long post. Hopefully this glimpse into some of the ground-breaking monitoring capabilities built-in SOA Suite 11g sparked your interest! Here are the doc links for these features if you want to learn more: