Understanding Orchestration

ClearPath ePortal orchestration provides the ability to specify how Web applications navigate, and interact with a server application. Use orchestration to

Orchestrations are event driven and begin when a request for a new server application session is received from a client. After a session is established, each subsequent client request is handled by a specific client message event handler defined in the orchestration. Client message event handlers define the local processing and message exchanges with the server application that will occur as a result of the client request. When a client message is received, the event handler for that message is triggered causing the activities defined in the event handler to be executed until the event handler completes. An event handler usually executes activities that result in one or more message exchanges with the server application, local processing and branching, and the construction of a client message reply. For example, a client message might trigger multiple server message exchange activities followed by activities that consolidate the server responses into a single reply to the client.

Visual Studio with ePortal Orchestration provides the tools to

Note: A server message exchange is not a transaction in the traditional sense since with ePortal orchestration, there is no accommodation for rollback or recovery over multiple client and server message exchanges.

Event Handler Types

An orchestration is made up of event handlers that include activities that handle the interactions with the server requested by the client through the client message. The following are event handlers that can be used in an orchestration.

Event Handler Type

Description

On Client Session Start

Triggered when a request for a new client session is received. Typically used to connect to the ClearPath server or send a "home" page to the client.

For Sessionless Web service applications, this event is executed prior to each client request.

On <client message name>

Triggered when the specified client message is received.

On Client Session End

Triggered when an existing client session ends.

For Sessionless Web service applications, this event is executed after each client request is processed.

Orchestration Activities

Possible activities that can be selected from the ePortal toolbox and included in an event handler are listed here. Refer to Orchestration Toolbox Selections for detailed information about the items in the toolbox.

Activity

Description

Basic Activities

General functions, such as assigning values to variables or detecting and handling exception conditions. The functions are

  • Assign

  • AssignMessage

  • Throw

  • Catch

  • Process

  • ExternalProcess

  • CallProcess

  • WriteLog

Structured Activities

Functions that provide looping and branching capabilities. Use to conditionally control sequences of activities. Boolean-valued conditions are used for branching decisions. Conditions can be simple or compound and are specified using a predefined set of logical operators that operate on locally defined variables, client and server message data, literals, or exception data. The functions are

  • If

  • Else

  • Then

  • WhileDo

  • DoWhile

  • PickMessage

  • IsMessage

  • IsOther

  • Switch

  • Case

  • Default

Communication Activities

Functions that establish communications and exchange messages with the clients and the server application. The functions are

  • Connect

  • Disconnect

  • InvokeServer

  • ReceiveServer

  • SendServer

  • OnClientRequest

  • ReplyToClient

  • MessageFilter

Data Declarations

Local variables for temporary storage of data can be declared. For example, variables can be used for loop and branch control, message initialization and so forth. Examples of simple data types that can be declared are:

  • Integer

  • String

  • Boolean

Examples of structured data types that can be declared are:

  • Message

  • Array

  • Enumerated type

Example of data declaration passed to another process is:

  • Parameter

A default initial value is assigned to the InitialValue based on the selected DataTypeName option.

For example, if DataTypeName is Boolean, the default InitialValue is False.

Note: When the data type is Array or Structure, the initial value property is disabled.

The local data is available only while the logic of the request event handler is being processed. This data is unavailable to other request event handlers. However, similar data can be defined in other request event handlers.

Orchestration Errors and Warnings

As an orchestration is created, the contents of the orchestration are continually validated. An error icon or warning icon appears in the orchestration tree adjacent to the invalid activity. Hover over the icon to obtain the error explanation. In addition, the errors and warnings are also listed in the Error List window.

A build does not complete if errors are present in the orchestration.

When a build occurs, errors and warnings appear in the Error List window. Double-click the error or warning in the Error List window and the activity that has the error or warning is highlighted in the orchestration tree.