There are many ways in which a service-oriented architecture
(SOA) solution can be made more robust. This section covers some of
the ways to increase robustness in an SOA.
Introduction
There are numerous ways in
which an SOA solution can be made more robust. For example:
- Failover support. When a server fails, an application can continue
to process work on other servers in the cluster.
- Persistent messages. Persistent messages are recovered if a failure
occurs.
- Persistent events. You can use the common event infrastructure
(CEI) to persistently store and retrieve events.
- Transactions. Transactions can be a key enabler because they ensure
end-to-end data integrity across multiple resources.
Failover support
A clustered environment
provides the following SOA-related benefits:
- Failover support. When a server fails, an application can continue
to process work on other servers in the cluster. This allows recovery
efforts to proceed without affecting the application users.
- Maintainability. You can stop a server for planned maintenance
without stopping application processing.
- Flexibility. You can add or remove capacity as needed, by using
the administrative console of the deployment manager.
Persistent messages
Messaging systems can
be used to send persistent messages.
WebSphere® MQ and other Java™ Message Service (JMS) providers support
the following types of message:
- Persistent messages. Persistent messages are guaranteed to be
successfully consumed only once. Messages are not lost.
- Non-persistent messages. Non-persistent messages are guaranteed
to be delivered at most once. Messages can be lost
Persistent messages have a performance impact; therefore,
use persistent messages for essential data only.
Persistent Events
CEI provides facilities
for the runtime environment to persistently store and retrieve events.
You
can use the Event Emitter mediation primitive to send out business
events, during a mediation flow. The events are generated in the form
of Common Base Events (CBE) and are sent to a CEI server.