Sample EJM External Integration Workflow

The following is a sample workflow that instantiates a series of Eagle jobs from the perspective of an external orchestration tool.

1. Data arrives.

This step applies to data load tasks only. Several delivery methods, such as FTP sites and message queues, can be utilized by Eagle to source input files.

2. Orchestration tool drops a formatted control message to the EJM control message stream.

The control message serves as the command to EJM to trigger a data load, data extract, STAR event, or PACE event. The message includes important information such as the sender and receiver contact information, the interface type, the execution parameters, and the correlation ID that identifies the requested task through task completion.

3. EJM validates the control message.

The control information is validated for syntax and logical coherence. After validation, EJM formats and sends an acknowledgement reply message to the sender for each valid or invalid control message.

4. BPM listens for control message acknowledgement.

The BPM watches the \ACK folder associated with the sender/receiver of the control message. Receipt of an acknowledgement (ACK) allows the BPM to update the client workflow status, while awaiting notification of job completion. And receipt of a failed acknowledgement (NACK) informs the BPM to correct and resend the control message. After the acknowledgement message is sent, the connection with the originating BPM application is dropped.

5. EJM initiates the task.

EJM asynchronously initiates processing as directed by the control message. The control message specifies the file format, the type of interface, and the filename of the data load input or the data extract output. For STAR or PACE events, the control message specifies the event name.

6. EJM monitors the tasks through completion.

EJM monitors the status of tasks through successful or unsuccessful task completion. You can use the EJM Tasks tab in the Message Center Console (MCC) application to query tasks by status and correlation ID. You can list tasks in progress by time stamp range and list all failed, successful, and successful with no data tasks. You can view the control message that triggered the task and the final status message sent to the BPM about the task.

7. EJM sequences the data loads for multiple files.

EJM uses a preprocessor stream to sequence the set of data loads in the logical, canonical database order. EJM enforces database dependencies, allowing trades to only load after all securities have been successfully loaded. This step applies to control messages that execute multiple data loads, involving multiple files.

8. BPM listens for the task status message.

The BPM watches the \REPLY folder associated to the sender/receiver of the control message for a reply with the same correlation ID as the submitted task. Replies indicate whether processing resulted in a SUCCESS or a FAILED event. You can also have a NO DATA result for a successful data extract event that retrieved null results from the database.

At the end of all processing, EJM sends a workflow status report to the originating system via the communication channel specified in the control message.

Â