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.

The following diagram shows the components and interactions between them:
Service-oriented middleware components consist of the session director, session managers, a service instance manager, and multiple service instances. This diagram shows the components and interactions between them.

Session director

There is one session director in an IBM Spectrum Symphony cluster. It is started as an EGO system service.

The session director provides a single entry point to the SOA middleware, and does the following:
  • 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.

A session manager does the following:
  • 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.

A service instance manager (sometimes referred to as a SIM), is responsible for the following:
  • 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.