I am often asked what the relationship is between Enterprise Service Bus (ESB) and Java™ Business Integration (JBI). There is often an assumption that JBI defines an ESB, but this isn't true. JBI defines a part of an ESB: the service container.
The service container is the point where integration really happens:
where IT assets (applications, protocols, databases, even data files)
are turned into providers of services, consumers of services, or even
both. Service containers have to deal with a wide variety of
technologies, and "map" them to (and from) a standard services model.
JBI is the perfect means for constructing such service
containers. It provides a standardized, plug-in architecture for
bringing the right technologies to bear on particular integration
tasks. The WSDL services model built into JBI is perfectly aligned with
the standard services model needed for the ESB. Pragmatically speaking,
building service containers from standard components is far more
economical than custom-building them, or using proprietary adapters.
Service containers are not the whole ESB story. The ability to
create a distributed set of service containers, linked by reliable
messaging infrastructure, intelligent message routing, and administered
centrally are all features outside the service container itself (and
thus, outside of the scope of JBI 1.0).
Several open-source projects have taken this basic idea, and are in the process of creating cool new ESBs. These include:
My apologies to any projects that I missed. (Note that there are at
times complex inter-relationships between some of these projects.)
There are also commercial products in the pipeline, but vendors are
typically less open about their development efforts, so they will have
to speak for themselves.
As you can see, JBI has found a place in the world of ESB! This is
a great benefit to users of both the open-source ESBs and the
commercial ones: JBI standardizes what is easily the most complex (and
costly) pieces of an integration fabric. By avoiding having to reinvent
application adapters for each new ESB implementation, the ESB
architects can concentrate on innovating in what their ESB's do. This
delivers more value to customers. Standardized integration components
lower costs, and help avoid the hazards of vendor lock-in. So if you
are looking for an ESB, look for JBI support. If you are exploring the
ideas around ESB and SOA, check out the open-source projects listed