A service integration configuration can range from a single
host running two connected applications to a globally-dispersed set
of hundreds or thousands of communicating applications running over
the bus.
A service integration configuration is based on one or more service
integration buses that provide a managed communication fabric that
supports service integration through asynchronous messaging.
A bus is a group of one or more interconnected
bus members, each of which is an application server or an application
server cluster. Applications connect to a bus at one of the messaging
engines associated with its bus members.
A service integration bus provides the following capabilities:
- Any application can exchange messages with any other application
by using a destination to which applications send and receive messages.
- An application can produce messages for a destination regardless
of which messaging engine the producer uses to connect to the bus.
- An application can consume messages from a destination (whenever
that destination is available) regardless of which messaging engine
the consumer uses to connect to the bus.
- The service integration bus is the default messaging provider
for JMS applications.
Many scenarios only require a simple bus configurations, for example,
a single server. If you add multiple servers to a single bus, you
increase the number of connection points for applications to use.
If you add server clusters as members of a bus, you can increase scalability
and achieve high availability. Servers however, do not have to be
bus members to connect to a bus. In more complex bus configurations,
multiple buses are configured, and can be interconnected to form complex
networks.
An enterprise might deploy multiple interconnected buses for organizational
reasons. For example, an enterprise with several independent departments
might want a separately administered bus in each location.
With bus-enabled Web services you can achieve the following goals:
- Create an inbound service: Take an internally-hosted service that
is available at a bus destination, and make it available as a Web
service.
- Create an outbound service: Take an externally-hosted Web service,
and make it available internally at a bus destination.
- Create a gateway service: Use the Web services gateway to map
an existing service, either an inbound or an outbound service, to
a new Web service that appears to be provided by the gateway.
You can change the service integration configuration to suit your
needs, for example:
- You can add application servers or server clusters as
new bus members. Each new bus member is automatically assigned a messaging
engine, with default data source, and a default exception destination.
The messaging engines can communicate with, and use resources provided
by, all other messaging engines on the bus.
- You can change the configuration of the data source for a messaging
engine, for example to use a different JDBC provider.
- You can create new buses and add application servers or server clusters as
members of those buses. Each bus operates as a separate environment,
unless connected by a gateway messaging engine.
- You can connect a message-driven bean to consume messages from
a destination on a remote cell.