SOA middleware components
The IBM® Spectrum Symphony service-oriented middleware components consist of the session director, session manager, service instance manager, and multiple service instances.
Session director
There is one session director in an IBM Spectrum Symphony cluster. It is started as an EGO system service.
- Authenticates the connecting client
- Manages the session manager lifetimes, and acquires and provisions resources for the session managers, as required
- Provides a web services interface for administrative operations
Session manager
There may be a single session manager, or multiple session managers in an IBM Spectrum Symphony cluster. The number of session managers depends on the number of running applications. A session manager is created upon the first user connection to an application for which no session manager exists, or it may be configured to pre-start even if there is no workload.
- Routes task input and output messages between the client application and compute hosts
- Obtains resources from EGO to service its sessions
- Schedules sessions based on various scheduling policies (proportional, minimum service, and so on)
- Provides administration and control operations
- Logs status and progress of sessions and tasks
- Provides fault-tolerant message handling as specified by the application profile
- Manages the life cycle of service instance managers, and manages the interaction with the resource manager
Within the MapReduce framework supported by IBM Spectrum Symphony Advanced Edition, the session manager is known as the application manager. Each MapReduce job has its own application manager, which controls sessions (known as jobs within the MapReduce framework) and schedules resources within the job.
Service instance manager
There is one service instance manager on each host for each application. A service instance manager is created and destroyed by the session manager.
- Starting and managing the life cycle of a service instance, including monitoring the health of the service instance
- Routing messages between the session manager and a service instance
Service instance
A service instance is a single instantiation of the service that executes when the application runs. There can be many instances of the same service running at any given time.