Symphony API classes

Client classes

Workload management

The following diagram describes the relationships of the API classes that manage session workload.

SoamFactory

Initializes the Symphony API

Connection

Used by the client of an application to maintain a physical connection between the client and Symphony

Session

Enables the client to manage its workload

SessionCallback

Called when one task response is ready

TaskInputHandle

Gets the ID of a task Symphony returned

EnumItems

Returns the next item in the enumeration

TaskOutputHandle

Hosts a task ID, a message response (if any), and an exception (if any) from Symphony

Input and output

The following diagram describes the relationships between the API classes that manage communications between Symphony and the client.

DefaultBinary Message

A default implementation for a binary data message

Message

Used to deliver messages between Symphony and the client

InputStream

A stream object that the message object uses for reading

OutputStream

A stream object that is used by a message object for writing

In the diagrams that follow, dotted lines indicate related classes. Solid lines indicate inheritance.

Common classes

Security

To ensure system security, the following API classes must be implemented.

DefaultSecurity Callback

The default security implementation invoked when a new Symphony connection requires a security token

ConnectionSecurity Callback

Invoked when making a new connection to Symphony

Exceptions

Client applications and services can throw two types of exceptions, FailureException and FatalException. This diagram shows how they relate to the base exception class, SoamException.

SoamException

Base class of exceptions the system generates. Can be accessed by client applications and services

FailureException

Exception thrown to indicate a non-fatal error has occurred in a service. The action taken in the event of a FailureException is dependent on the API method that the exception is thrown in.

FatalException

Exception thrown to indicate a fatal error has occurred in a service. The action taken in the event of a FatalException is dependent on the API method that the exception is thrown in.

Service classes

ServiceContainer

Implements all the required methods to allow the system to interact with the service instance

ServiceContext

Provides functionality that the service requires throughout its lifetime

SessionContext

Hosts information that may be required while servicing a task from a session

TaskContext

Provides functionality that a service invocation requires