How do acceleration strategies such as XML appliances, binary XML, caching and event stream processing fare in real-world SOA? The answer is a big "it depends."
Phil Wainewright, publisher of LooselyCoupled.com and a familiar face in the ZDNet blogosphere, has just put together a report reviewing the pros and cons of key strategies for boosting SOA performance.
"Using standards-based Web services removes much of the complexity and lock-in of earlier integration platforms, but existing infrastructure is ill-equipped to handle the extra overhead of XML," Phil writes in the intro to the report. Some plusses and minuses of each approach include the following:
Appliances: "A clear case can be made to use an appliance when large volumes of XML data have to be reformatted when they pass from one system to another. ...an appliance with dedicated XML processing can slash throughput times compared to conventional server-based solutions, and with much lower cost and complexity of implementation and maintenance...." However, "if an appliance adds only a small performance gain, that must be offset against the overhead of maintaining an extra layer of functionality."
Binary XML: "At first glance, compressing text-based XML messages into binary format for speedier transmission and processing seems to make perfect sense." But there are serious drawbacks, the report observes: "Any solution needs to preserve the universal interoperability that is XML’s most valuable attribute. That’s far easier said than done, because it means achieving agreement across a huge spectrum of potential stakeholders."
Caching: "Caching is an established technique for speeding up the performance of Internet architectures." But it’s not a cure-all, the report finds: "Where it doesn’t help is in read/write transactions – often the most time-critical elements of an application – or in cases where the integration is linking processes rather than simply data. Updating changes back to the original data source negates any speed gain from holding a local copy... Caching services metadata can also impact performance. "
Event stream processing: ESP "is a new kind of computing platform that runs streams of data over predefined queries to discover event patterns. ...The ultimate goal of projects in this context is to take these event outputs into an event-driven SOA, which is able to respond intelligently and in real-time." However, at least in the near-term, ESP may be limited to a few, high-performance SOAs, the report predicts.