There are certain key considerations when building a service-oriented
architecture (SOA) solution. This section explains some of the key
goals of an SOA solution, and how they apply to an enterprise service
bus (ESB).
Introduction
SOA is an architecture for
building business applications from loosely coupled components, and
for delivering a well-defined level of service. Decoupling service
requesters (consumers) from service providers greatly increases flexibility.
It allows the substitution of one service provider for another, without
the requester being aware of the change and without the need to alter
the architecture.
You can use an SOA to connect across different
systems without undue complexity, generally using an ESB. You can
use an ESB to reuse assets in a flexible way, by passing service interactions
through logic called mediations. Mediations operate on messages in
transit between requesters and providers; they allow facilities such
as message filtering, protocol conversion, database logging, and dynamic
routing.
WebSphere details
All
SOA solutions have a similar life cycle, which for WebSphere® ESB and WebSphere Process Server can be summarized
as follows:
- Model.
- Capture your business design. This includes relating your business
processes to the services they will need.
- Assemble.
- Integrate your existing applications, databases, and services.
Use WebSphere Integration
Developer to create a mediation module that integrates your existing
assets, and defines qualities of service.
- Deploy.
- You might need to create the runtime environment before deploying
your mediation module to the run time. Creating the runtime environment
includes resolving resource dependencies and integrity constraints.
- Manage.
- Use the runtime administrative
console to carry out routine maintenance such as administering and
securing applications, resources, and users. This phase also includes
monitoring the availability of applications and systems, and monitoring
the performance of service requests and responses. The run time provides
facilities for monitoring and tuning, but you might also use monitoring
products such as IBM® Tivoli® Composite Application
Management for SOA.