EXPERT RESPONSE
Think of an ESB as a middleware platform that provides a variety of features associated with centralized runtime processing and service governance. Services hosted by the ESB can be exposed as Web services and as long as the service contracts are custom developed (and ideally standardized) you are quite right in that you will be able to expose service logic without coupling the contract to any underlying service implementation details. This will give you the freedom to relocate the services to another ESB platform or elsewhere. The option to do so does not make the ESB obsolete.
There are a variety of ESB products each with its own set of capabilities and limitations. I would suggest comparing and studying these products to determine which best fulfills your requirements. This will enable you to determine whether the cost and impact of introducing an ESB into your environment is justified. If it turns out that you only need to host Web services independently without the use of an ESB, you certainly have the choice of doing so. When making this decision, be sure to keep the long-term perspective in mind – if you are planning to deliver a significant quantity of services that will be assembled together into complex composition configurations with demanding runtime requirements, it is probably a good idea to establish a solid, centralized platform that can take on the bulk of the performance and administrative load. Also, note that different vendors use the term "ESB" in different ways, and some even provide ESB-like products without branding them as such.
|