Pipeline and Signatures
The pipeline is the general term used to refer to the data structure in which input and output values are maintained for an Integration. The pipeline starts with the input to the Integration and collects inputs and outputs from subsequent Applications and services in the Integration. When an operation of an Application or an Integration executes, it has access to all data in the pipeline at that point.
Input and output parameters are the names and types of fields that the Integration requires as input and generates as output. These parameters are also collectively referred to as a signature.
For example, an Integration that takes two string values—an account number (AcctNum) and a dollar amount (OrderTotal)—as input and produces an authorization code (AuthCode) as output, has the following input and output parameters:
Input Parameters | | Output Parameters | | |
| Name | Data Type | | Name | Data Type | |
| AcctNum | String | | AuthCode | String | |
| OrderTotal | String | | | | |
| | | | | | |
Although you are not required to declare input and output parameters for an Integration, (Integration Cloud will execute an Integration regardless of whether it has a specification or not), there are good reasons to do so:
Declaring parameters makes the Integration’s input and outputs visible in the user interface. Without declared input and output parameters, you cannot:
Link data to and/or from the Integration using the Pipeline view.
Assign default input values to the Integration on the Pipeline view.
Run the Integration and enter initial input values.
Declaring parameters makes the input and output requirements of your Integration known to other developers who may want to call your Integration from their programs.
For these reasons, it is strongly recommended that you make it a practice to declare a signature for every Integration that you create.
Integration Cloud supports several data types for use in Integrations. Each data type supported by Integration Cloud corresponds to a Java data type and has an associated icon. When working in the editor, you can determine the data type for a field by looking at the icon next to the field name.
The input side describes the initial contents of the pipeline. In other words, it specifies the fields that this Integration expects to find in the pipeline at run time. The output side identifies the fields produced by the Integration and returned to the pipeline.
Guidelines for specifying input parameters
When you define the input parameters for an Integration, keep the following points in mind:
Specify all inputs that a calling program must supply to this Integration. For example, if an Integration invokes two other Integrations, one that takes a field called
AcctNum and another that takes
OrderNum, you must define both
AcctNum and
OrderNum as input parameters for the Integration.
Note:
The purpose of declaring input parameters is to define the inputs that a calling program or client must provide when it invokes this Integration. You do not need to declare inputs that are obtained from within the Integration itself. For example, if the input for one Integration is derived from the output of another Integration, you do not need to declare that field as an input parameter.
When possible, use variable names that match the names used by the Integrations. Variables with the same name are automatically linked to one another in the pipeline. (Remember that variable names are case sensitive.) If you use the same variable names used by Integration’s constituent services, you reduce the amount of manual data mapping that needs to be done. When you specify names that do not match the ones used by the constituent Integrations, you must use the Pipeline view to manually link them to one another.
Avoid using multiple inputs that have the same name. Although the user interface permits you to declare multiple input parameters with the same name, the fields may not be processed correctly within the Integrations or by other Integrations that invoke this Integration.
Ensure that the variables match the data types of the variables they represent in the Integration. For example, if an Integration expects a document list called
LineItems, define that input variable as a document list.
Declared input variables appear automatically as inputs in the pipeline. When you select the Transform Pipeline step in an Integration, the declared inputs appear under
Pipeline Input.
Guidelines for specifying output parameters
On the output side of the Input/Output tab, you specify the variables that you want the Integration to return to the calling program or client. The guidelines for defining the output parameters are similar to those for defining input parameters:
Specify all of the output variables that you want this Integration to return to the calling program or client.
Ensure that the names of output variables match the names used by the Integrations that produce them. Like input variables, if you do not specify names that match the ones produced by the Integration’s constituent services, you must use the Pipeline view to manually link them to one another.
Avoid using multiple outputs that have the same name. Although the user interface permits you to declare multiple output parameters with the same name, the fields may not be processed correctly within the Integration or by other Integrations that invoke this Integration.
Ensure that the variables match the data types of the variables they represent in the Integration. For example, if an Integration produces a String called
AuthorizationCode, ensure that you define that variable as a String.
Declared output variables appear automatically as outputs in the pipeline.When you select the Transform Pipeline step in an Integration, the declared output variables appear under
Pipeline Output. Declaring Input and Output Parameters
Click the
Define Input and Output Signature icon
to define the input and output parameters. On the
Input tab, you define the variables that the Integration requires as input. On the
Output tab, you define the variables the Integration returns to the client or calling program.
For an Integration, the input side describes the initial contents of the pipeline. In other words, it specifies the variables that this Integration expects to find in the pipeline at run time. The output side identifies the variables produced by the Integration and returned to the pipeline.
Note:
You can create pipeline variables as document references, create document types comprising of document references, and also define the signature of Integrations comprising of document references.
You can declare a signature in one of the following ways:
Reference a document type. You can use a document type to define the input or output parameters for an Integration. When you assign a document type to the Input or Output side, you cannot add, modify, or delete the variables on that half of the tab.
Manually insert input and output variables. Click the
icon to manually insert variables to the Input or Output sides.
Using a Document Type to specify Integration input or output parameters
You can use a document type as the set of input or output parameters for an Integration. If you have multiple Integrations with identical input parameters but different output parameters, you can use a document type to define the input parameters rather than manually specifying individual input fields for each Integration. When a document type is assigned to the input or output of an Integration, you cannot add, delete, or modify the fields on that tab.