An Enterprise Service Bus (ESB) is not a product but a style of architectural development. It is essentially SOA done right. The essence of an ESB is that all apps and all services talk only to the bus and not directly to each other. To the extent that they talk to each other they are coupled and violate the advantage ESB is attempting to convey.