Richard Turner, a Program Manager at Microsoft, recently posted To ESB or not to ESB, which asks some questions regarding the usefulness of an ESB once Indigo is fully baked, and the WS-* stack becomes fully mature. In particular, Richard asks:
- Does anyone out there want to build their Enterprise infrastructure on a technology from a single vendor, supporting a single platform?
- Does anyone out there see benefit from building their Enterprise upon a technology which is closed and proprietary?
Richard concludes his missive with this question:
- What value, therefore, is an ESB? To my mind, an ESB is smart-plumbing to which to attach dumb nodes. To my mind, the ESB approach is less about providing customers with value and more about extending attempts to lock customers into a given platform. How, for example, would I add mainframe nodes, COM+ nodes, Web Service nodes etc. running on different platforms and technologies on top of JBI/Sonic/
without the use of adaptors and translators? And more importantly, if I chose to change vendors, how would I replace my ESB with that from someone else?
- an ESB is based on a philosophy that a SOA should be configured rather than coded
- an ESB can mediate between different protocols, API conventions, and invocation styles
- an ESB supports incremental adoption of a SOA
I think an ESB provides an important value-add today, but I view it as a short term solution, and people should use it with caution. Many ESBs promote the deployment of proprietary protocols, and in general, I think that's something you want to avoid. You don't want to lock yourself into a proprietary solution now that open. non-proprietary options are available. I also agree with Richard that once the core platforms (.NET, WebSphere, WebLogic, CICS, etc.) and application systems (e.g., SAP, Oracle, etc.) have inherent support for secure, reliable, transacted web services, the value of an ESB will be greatly diminished.
The ESB market is heading for a severe squeeze play; expect some significant market consolidation.
The first comment posted to Richard's post asks this question:
- With WS, WSE and Indigo, aren't there still some missing "pieces", such as Monitoring, Auditing, Exception Management, Measurement, Definition and monitoring of SLAs, etc.? Isn't this the space that an ESB should cover?
When it comes right down to it, a web services infrastructure consists of three types of entities:
- endpoints
- intermediaries
- registries
Intermediaries intercept web services traffic and enforce policies regarding security, reliability, routing, transformation, mediation, event processing, orchestration, transactions, monitoring, auditing, etc. Intermediaries can run either as proxies along the message path or as interceptors within an endpoint. Both WSM and ESB products provide intermediaries. WSM intermediaries typically support security, routing, transformation, mediation, monitoring, and auditing. ESB intermediaries typically support reliability, routing, transformation, mediation, orchestration, and event processing. (Obviously there's a lot of overlap between WSM and ESB.) You can also build custom intermediaries using a WSP. Most WSPs provide a mechanism to implement interceptors (handlers) that run inside the endpoint. And you can also develop your own proxy.
Web service registries (WSR) maintain information about endpoints and intermediaries. Registries can be used at development time to discover services and metadata; and they can be used at runtime for dynamic location resolution or runtime service selection. Many WSM products also use a registry for provisioning and runtime management -- Amberpoint, Blue Titan, Infravio, and SOA Software all use registries for management.
The future of the ESB market
I expect the pure-play ESB market to go away within the next 3-5 years. Today there are about a dozen vendors promoting their wares as ESB. I just don't see the market supporting this many vendors for very much longer.
Consider what happened to the WSP market. Four years ago, there were about a dozon independent WSP startups. The only survivors today are Systinet and Cape Clear. And, in fact, neither company really markets itself as a WSP player anymore. Systinet is the leading independent registry vendor. Cape Clear is struggling to make it as an ESB vendor now.
Also consider what has been happening in the WSM market. Three years ago, there were about a dozen WSM startups. But since then, CA acquired Adjoin, HP acquired Talking Blocks, Oracle acquired Oblix which acquired Confluent, SOA Software acquired Flamenco, and Actional acquired Westbridge. At this point, the survivors are Actional, Amberpoint, Blue Titan, Infravio, and SOA Software. I anticipate further consolidation.
The ESB market includes Cape Clear, Fiorano, IONA, Polar Lake, SeeBeyond, Sonic, TIBCO, webMethods, and I'm sure a few others. In addition, superplatform players IBM, Microsoft, BEA, and Oracle are heading into this space. And Blue Titan, SOA Software, and Systinet all provide ESB-lite solutions. Definitely this market will experience some serious consolidation. More to the point, I expect that the ESB, WSM, and WSR markets will merge.
In the long run, maybe 4-5 players will survive. My bets are on Sonic, Systinet, TIBCO, and webMethods.
3 comments:
Barry Briggs responded here
Anne
Great blog. I also listened to a podcast of one of your presentations from http://www.itconversations.com that I found insightful and useful.
Rich, some is funny about your comment. I had to view source to get the text.
Anyway, thanks alot for the extremely worthwhile reads and listens.
Hi Anne,
I have a wsdl provided by my client and it looks like "document literal unwrapped" as in the xsd the wsdl is importing doesn't have the operation name as the first element.
now i generated java client and server implementation and deployed using IBM Websphere Application server(also generated java aritifcats using IBM webservice) and client is able to invoke the server. I also checked the soap request and i can see that the reqiest is of type "document literal unwrapped" as the "operation" name is not the first element.
Now using the same webservice client which is running in the IBM websphere application server, i am invoking the server implementation which is now deployed in Axis2.
I see that Axis2 is not able to process the request as it is expecting "opration" name as the first element. So does that mean that Axis2 will never work with "document literal unwrapped" ?
Post a Comment