Call-triggered flow

The Server Access Interface is an API that allows an external process to request execution of a collaboration inside IBM WebSphere InterChange Server. A collaboration represents a business process that can involve several applications. By using Server Access Interface, this external process, called an access client, can obtain data from applications that ICS handles through executing a collaboration.

The Server Access Interface makes it possible for WebSphere InterChange Server to receive requests for execution of a collaboration directly, without receiving a triggering event from a connector. The requests that the access client sends are called access requests. To send an access request, an access client issues a call to a method in the Server Access Interface instead of actually sending an event. Therefore, the flow trigger that an access client initiates is called a call-triggered flow, instead of the event-triggered flow that a connector initiates (see Figure 1).

The call-triggered flow is handled with the economy and transparency of an event-triggered flow. The main operational distinction is that call-triggered flows are processed synchronously and are therefore not persistent within the WebSphere InterChange Server system. By contrast, the event-triggered flows are processed asynchronously and are persistent. For more on how these flows are processed in the system, see the Technical Introduction to IBM WebSphere InterChange Server.

Figure 1. Call-triggered flow

The figure depicts the principle of call-triggered flow. It shows two shaded rectangles labelled "Access Client" (on the left of the image) and "InterChange Server" (on the right of the image). The "Access Client" contains a white square on its right-hand edge which is labelled "Server Access Interface (client side)". One arrow runs from this node labelled "Access request" and a second arrow runs to this node labelled "Access response". These arrows have their other end at a white square on the left-hand edge of the "InterChange Server" which is labelled "Server Access Interface (server side)" this node is connected by a faint line to a second white box within the InterChange Server which is labelled "Collaboration".

As Figure 1 shows, an access request that an access client initiates involves the following steps:

  1. The access client creates the triggering access data, which it sends to WebSphere InterChange server during the access request. This data is what triggers the specified collaboration; that is, the collaboration requires this data to begin execution.
  2. The access client calls a method of the Server Access Interface API to send a triggering access call to the Server Access Interface within InterChange Server. The triggering access call includes the triggering access data and the name of the collaboration to execute. Through this method call, the access client performs an access request, which initiates the call-triggered flow.
  3. The Server Access Interface within IBM WebSphere InterChange Server receives the triggering access call, performing any needed conversion of its triggering access data to a system business object. For more information on this data conversion, see "The role of IBM WebSphere Business Integration Data Handlers".
  4. The Server Access Interface within InterChange Server sends the triggering access data to the specified collaboration to trigger its execution.
  5. Once the collaboration completes, it sends the resulting business object to the Server Access Interface.
  6. The Server Access Interface performs any needed conversion from the resulting business object to the triggering access data's original format then performs the access response to send the access-response data back to the access client. For more information on this data conversion, see "The role of IBM WebSphere Business Integration Data Handlers".

This section provides the following additional information about call-triggered flow:

Copyright IBM Corp. 1997, 2004