SOA Middleware components

The Symphony service-oriented middleware components consist of the Session Director, session manager(s), service instance managers, and service instances.

The following diagram shows the components and interactions between them.

Session Director

There is one Session Director in a 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 a 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 prestart 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

Service instance manager

There is one service instance manager for every instantiation of a service. 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.

Data flow

Related concepts
Introduction to Platform Symphony
EGO component overview