cparziale,
This is a great question, and I am prompted to write another blog entry to answer this question fully, but my shorter answer is that I believe the value proposition for an ESB drops considerably unless it is the mediator for all service consumer-provider conversations.
At the heart of your question is the concern: “We do not want to incur the overhead or support of additional mediation tiers.” This is obviously a legitimate concern, and one that every ESB architect must address.
What additional overhead (latency) is incurred by invoking a service via an ESB versus invoking it directly?
There are many factors to consider beyond this concern to determine whether or not an ESB is appropriate for your company, but we must still answer this question as best we can.
The answer will depend on the architecture of the specific ESB, but I believe that it is quite possible that the additional overhead could be quite low.
Here’s my thought rationale for this statement...
The ESB allows you to abstract the address of the service endpoint that you wish to invoke. To make this work, the ESB has to map the logical address of the service to a “physical” address. Presumably, a service registry (akin to UDDI) will be used to look up the “physical” address. Looking up the address each time a specific consumer accesses a service could be costly, but if the consumer’s ESB “agent” caches “physical” addresses the overhead could be quite low… it all depends on the implementation of the ESB.
Certainly, the value proposition for an ESB is about flexibility and about building that flexibility into the ESB infrastructure rather than having to implement it in each service consumer. The ESB should eliminate the consumer’s need to deal with upgrades to the consumed services. The ESB should eliminate the consumer’s need to deal with “load balancing” between instances of a specific service (the consumer invokes a service, not realizing that there may be many instances).
Some of today's ESBs may provide some or all of these capabilities, but others certainly don't... which makes it all the more important for us to ask these types of questions early on in our evaluations of these technologies.
--JohnR
Posted by: johnreynolds on March 02, 2006 at 12:36 PM