Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The purpose of an Enterprise Service Bus (ESB), also known as a Java Business Integration (JBI) bus, is to provide a mechanism for different applications to communicate in a common or protocol neutral manner. ServiceMix is an implemenation of JSR 208, the JBI specification, and it facilitates the communications between applications.

The Basic example shows how two external^1^ applications communicate to each other via the ServiceMix ESB. The techniques Basic example shows how to integrate an external application with the JBI bus (ServiceMix).
The same scenario applies to integrating legacy applications with the JBI bus as well.
The technique used in the Basic example could be used to integrate
any external application with ServiceMix and allow it to communicate with another external application or a component within ServiceMix itself. Examples of applications that may need to be accessible to other applications are SAP, Peoplesoft or other external applications, such as , spreadsheets, or POJOs and EJBs that need to
communicate with each other or with a legacy application, onto an enterprise service bus.

The purpose of this is to provide a way for different applications
to communicate in a common or "protocol neutral" way through the enterprise
service bus. In our example, the external applications are the same (JMSActiveMQ),
so obviously they could communicate directly ; this with each other. This is a simplification to
enable us to concentrate on the logical flow of the messages
rather than the details of transforming one type of message into another.

The following diagram illustrates the components of the enterprise service bus. Recall from the JSR 208 specification the components for one legacy/ external application
to talk to one another are:

legacy/external app --> resource adapter --> |binding component (inside ESB) --> NMR -->
binding component |--> resource adapter --> legacy app.

(I will make a Dave Chappell like diagram of above for this use case, then map in
the Basic example components where they belong in the diagram.)Etcetera, etc....

Note: The only downside that my hit is that example uses inbound messages
via the resource adapter, and most legacy applications won't support
inbound messaging iva the resource adapter. For example, I think all
the librados connectors only do outbound messaging.

1. External means that the application is outside of the enterprise service bus.