The problem I have with all of this is that it just seems like we're putting the cart before the horse. The vendors and some analysts (not all, especially ones who participate on this list) are telling the potential customers, "You need an ESB." What customers should be saying is, "I need these capabilities, and I want this group to be responsible for them." The latter is key, because it helps differentiate between activities that are may still be considered programming efforts, such as orchestration/choreography, from those that are configuration efforts, such as routing. Every organization will have a different set of capabilities that are important, and different operational models. Take that information and now go talk to your vendors to decide whether you need an application server, a message bus, an EAI tool, an ESB, a WSM product, a network appliance, pixie dust, a roving band of trolls, or whatever it takes. Unfortunately, that doesn't bode well for vendor marketing.

The definition of what an ESB does will be ever-changing, just as the definition of what an application server does has been ever- changing. It's a fruitless exercise to try to nail it down.

-tb

On Mar 28, 2007, at 10:55 AM, Steve Jones wrote:

To me you've just said that ESB = Application Development. JBI does a good job of standardising how products are plugged together from an IT infrastructure perspective, but I wouldn't say its an ESB as its focus is on connecting engines and not on connecting services.

In my view the Bus should be just that, a bus. This means that it should do mediation (including security but excluding protocol) and not contain any business logic, hence the reason that choreography, rules, process and even registry are external elements to the bus. I know that some people are pushing the idea of the ESB as the "next" development platform, and indeed some of these products are good development products, but there is a really big difference between a bus architecture (proper bus, not hub and spoke pretending to be a bus) and an application development stack.

The question really is whether the ESB is actually a bus (a connection approach) or an application platform. If its the later then it really isn't a bus its just an App Server with another name. On the IBM list I'd say that 1 (if not CBR), 2 and 9 belong in a bus the others belong in an App Server.

On 28/03/07, Bill Barr <[EMAIL PROTECTED]> wrote:

I think that JSR 208 and the JBI specification does a reasonable enough job at providing a standard definition of an ESB. At it's heart, the ESB provides 4, core components:
Choreographer
Mediator
Rules Engine
Service Registry
Mark Richards of IBM has distilled the 10 core capabilities of an ESB as:
Routing
Message Transformation
Message Enhancement
Protocol Transformation
Service Mapping
Process Choreography
Transaction Management
Service Orchestration
Security
EAI is little more than peer-to-peer, real-time, ETL. At a minimum, an ESB removes the peer-to-peer connection thereby simplifying the management of all the connection points. Also, any enterprise is going to need at least 2 buses, maybe more; one for business messages and one for management messages. Those of you who live in older cities where wastewater and sewage share the same system know the downfalls of a uni-bus architecture every time there is a torrential downpour! Anyhow, an ESB-based SOA and a non-ESB-based SOA only differ in their messaging metaphors. Chappel explains this far more eloquently than I can but, with the former, every endpoint sends a message to the bus and with the latter, endpoints send messages to each other.


Bill Barr
Sr. Software Architect

Expedia
3150 139th Ave. SE
Bldg. 3 #4320
Bellevue, WA 98005 USA
We're hiring!           Work: 425-679-3533
Mobile: 650-533-0691
Fax: 425-679-7240
Email: [EMAIL PROTECTED]
 Professional Profile


See who we know in common       Want a signature like this?





Reply via email to