A lot of people will have heard IBM talking about ESB as being a pattern rather than a physical product back before the SOA related announcements made last year, so given that, why do we now have a WebSphere ESB product?
Well, an ESB still is a pattern describing the requirements for message routing, transformation and protocol translation amongst other things. WebSphere ESB is simply a product which can help to realise an instantiation of the ESB pattern, particularly when what you want to deal with is primarily XML sent over SOAP or JMS, and maybe a bit of integration with some back-end non-XML systems via adapters.
WebSphere ESB shares a common infrastructure with our WebSphere Process Server product, namely Service Component Architecture (SCA), Business Objects (Based on SDO) and the Common Event Infrastructure. All this sits on top of WebSphere Application Server.
The main functionality in Websphere ESB comprises the concept of a mediation module, a type of SCA module, which can contain a mediation component. The mediation component allows you to build up flows to handle the mediation of messages as they flow as requests or responses over the ESB. You get a set of pre-defined mediation primitives for things like logging, database lookup, XSL Transformations and content based routing. What's more you can write your own custom mediations in Java.
You can develop mediation components and their flows in the WebSphere Integration Developer tooling, and deploy them to both WebSphere ESB and WebSphere Process Server.
There's a whole lot more to be said, and I'll weigh in with more one this blog regularly. For now however, I'll refer to you some useful articles from IBM Developerworks: