Fulfillment process

The Fulfillment process in LAL 3.1 is defined over a pipeline. A pipeline is a logical entity comprised of channels. Individual applications are configured to use a pipeline for Fulfillment. The pipeline works by passing messages between the different channels on the pipe. The message is received by a Message Processor class in the specific channel which extracts the payload and metadata from the message, and then performs one or more operations on it. Development of each channel can happen independently with little-to-no dependency on other channels.

A pipeline is composed of three different kinds of nodes:
● Channel—A path where messages flows from one node to the next. Each channel uses a specific channel configuration.
● Fork—An "AND" type of node. Typically one or more nodes are connected through a fork, and messages flow to all connected nodes.
● Router—An "OR" type of node. Typically a JPEL expression is associated with the router node, and the flow of a message depends on the expression evaluation result.

Application Configuration

The Application Configuration service contains all the necessary information to fulfill a document from an application. Each Application Configuration service can contain a set of metadata used during fulfillment. The metadata is a key/value pair where the values can have single or multiple values. The metadata set is not fixed and it will vary from configuration to configuratin. For example, for localEngine, you must to specify the engineOptions value. That value is not required for EWS.

There are three types of Application Configurations:
● Fulfillment—Used during fulfillment of a document
● Document—Used to create a document
● Preview—Used to preview a document

During fulfillment of a document, more than one type of Application Configuration service can be used. For example, the Application Configuration of Document type can be used to create the document. The metadata for that Application Configuration can have all the information to call the document service to generate the document. To fulfill the document, the Fulfillment type Application Configuration can be used and all its metadata is used for engine run. Similarly, using Preview type of Application Configuration, the preview service can be called to generate document preview artifacts.
Instead of using the metadata of the Application Configuration, you can call other services with parameters passed from the application. In the case of onely one database, a single Application Configuration can be used. The client application must contain all the information needed to call the appropriate service, whether through metadata or as a parameter.

5 comments: