Application Integration - Software AG Hosted Environment : Integration Cloud : Integrations : Orchestrated Integrations
Orchestrated Integrations
Orchestrated Integration is the process of integrating two or more applications together, to automate a process, or synchronize data in real-time. Orchestrated Integration enables you to integrate applications and provides a way to manage and monitor your integrations.
Integration Cloud supports advanced integration scenarios involving multiple application endpoints, complex routing, and Integrations involving multiple steps. Using a graphical drag and drop tool, you can create complex, orchestrated integrations and run them in the Integration Cloud environment.
To create an orchestrated integration
1. From the Integration Cloud navigation bar, click Develop. The Integrations screen appears.
2. To create a new Integration, from the Integrations screen, click Add New Integration.
3. Select Orchestrate two or more applications and then click OK.
The user interface consists of a tool bar and a workspace. The tool bar holds all the available categories with blocks. You can browse through the menu of blocks and can set up your own Integration by plugging blocks together in the workspace. The menu of blocks comes with a large number of predefined blocks from Applications, Services, Integrations, conditions to looping structures. You can drag relevant blocks from the tool bar and attach them within the Start Integration and End Integration space.
The tool bar has a large number of blocks for common instructions and the blocks are divided into the following categories:
*Applications
*Services
*Integrations
*Control Flow
*Expressions
Block category
Icons
Description
Applications
Displays the Applications available in Integration Cloud.
Services
Use the Service blocks (date, math, string, and so on) to specify the service that will be invoked at run time. Related services are grouped in blocks. You can sequence services and manage the flow of data among them.
Note:  
For information on the different services, see Built-In Services.
The Reference Data block appears only if a Reference Data service is available at Develop > Reference Data > Reference Data page. See Reference Data for more information.
Integrations
Displays the list of Integrations created in Integration Cloud. You can invoke an Integration from another Integration. When copying integrations from one stage to another, all the referred Integrations and their dependents will also be copied.
Click the icon if you want to view or modify an Integration after it is moved within the Start Integration and End Integration space. The Integration will open up for editing in a new tab.
Control Flow
Conditional expressions, looping structures, and transform pipeline.
Conditional expressions perform different computations or actions depending on whether a specified boolean condition evaluates to true or false.The if-then block is used to evaluate a boolean condition and if the condition is true, the statements following the “then” are executed. Otherwise, the execution continues in “else” if you have selected the if-then-else block. You can implement error handling by using the try-catch block.
Loops execute a set of steps multiple times based on the block you have chosen. It repeats a sequence of child steps once for each element in an array that you specify. For example, if your pipeline contains an array of purchase-order line items, you could use a Loop to process each line item in the array. Loop requires you to specify an input array that contains the individual elements that will be used as input to one or more steps in the Loop. At run time, the Loop executes one pass of the loop for each member in the specified array. For example, if you want to execute a Loop for each line item stored in a purchase order, you would use the document list in which the order’s line items are stored as the Loop’s input array.
while-do loops repeat their bodies while the conditional expression you have provided evaluates to true. do-until loops are similar except that they repeat their bodies until some condition is true. The for-each-do block traverses items in a collection. Unlike other for loop constructs, for-each loops usually maintain no explicit counter: they essentially say “do this to everything in this set”, rather than “do this x times”.
A Loop takes as input an array field that is in the pipeline. It loops over the members of an input array, executing its child steps each time through the loop. For example, if you have a Integration that takes a string as input and a string list in the pipeline, use Loops to invoke the Integration one time for each string in the string list. You identify a single array field to use as input when you set the properties for the Loop. You can also designate a single field for the output. Loop collects an output value each time it runs through the loop and creates an output array that contains the collected output values.
Use the Transform Pipeline block to make pipeline modifications. See Pipeline and Signatures for more information.
Expressions
Logical operations, comparisons, and values.
The six comparison operators are: equal to, not equal to, less than, less than or equal to, greater than, greater than or equal to. Each takes two inputs and returns true or false depending on how the inputs compare with each other.
The and block will return true only if both of its two inputs are also true. The or block will return true if either of its two inputs are true. The not block converts its Boolean input into its opposite.
You can also type a text value, select a field on which to build an expression, or select a block with no inputs.
Note:  
It is recommended not to leave an input empty.
4. Provide a valid name and description for the Integration in the Start Integration and End Integration block, which is the root block for your Integration.
Note:  
You can select a block, other than the root block, and click Duplicate to repeat a block, click Collapse to flatten a block, click Delete to remove a block from the workspace, or click Disable to disable a block and all blocks within that block. If you disable blocks, those blocks will not be considered for execution, test, or debug operations. You can also click Test to test the Integration execution in real time and view the execution results in the Test Results pane.
5. Click Applications. The list of supported Applications appears.
6. Drag and drop an Application to the Start/End Integration block.
7. To select the Account and Operation for the Application, click
The following table depicts the block interactions:
Icons
Applicable for...
Action/Description
All blocks.
Add or edit the description of a block.
Comments for all blocks.
Application.
Map the input of the operation from the Pipeline and also map the output of the operation into the pipeline.
Transform Pipeline.
Make pipeline modifications.
Edit data mapping, Set Transformer, Set a value, Remove a field, Restore a field, Add a field, Clear all mappings, and so on.
Application.
Select an Account and an Operation for the Application.
Orchestrated Integrations.
Click to view or modify an Orchestrated Integration after it is moved to the workspace. The Orchestrated Integration will open up for editing in a new tab.
Application/Service.
The block is not configured. Select an Account and an Operation for the Application or select a Service.
Start/End Integration block
Click to define the input/output signature of an Integration.
You can declare the input and output parameters for an Integration using the Input and Output tabs. 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 can take two string values, an account number (AcctNum ) and a dollar amount (OrderTotal ) as inputs and produces an authorization code (AuthCode ) as the output. On the Output tab, specify the fields that you want the Integration to return.
You can use a Document Type to define the 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 you assign a Document Type to the Input or Output side, you cannot add, modify, or delete the fields on that part of the tab.
You can select a Document Type from the Document Reference drop down list. To create a Document Type, from the Integration Cloud navigation bar, select Develop > Document Types > Add New Document Type.
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.
See Document Types for more information.
Orchestrated Integrations.
An Orchestrated Integration has been modified but not saved.
8. Create the Integration using the available constructs by inserting the blocks, setting properties, declaring the input and output parameters, setting values, performing pipeline variable substitutions (if you want to replace the value of a pipeline field at run time), and mapping the pipeline data.
9. To map the Pipeline Input to the Input Signature, click .
10. Map the Output Signature to the Pipeline Output in the pipeline data window and then click Finish.
Indexed Mapping
You can add an indexed item to a String List, Document List, Document Reference List, or Object List and also map the indexed item. You can delete the selected indexed item provided the indexed item or none of its child fields are mapped.
When you link to an array variable or from an array variable (String List, Document List, Document Reference List, or Object List), you can specify which element in the array you want to link to or from. Click on the Add Array Item icon to get an index value for the array item. Then map the indexed item to the target. For example, you can link the second element in a String List to a String or link the third Document in a Document List to a Document variable.
For example, suppose that a buyer’s address information is initially stored in a String List. However, the information might be easier to work with if it is stored in a Document. To map the information in the String List to a Document, click on the Add Array Item icon to get an index value for the String List. Then map each indexed item to the address fields. In the following pipeline, the elements in buyerAddress String List are mapped to the address Document.
Suppose a String List has length 3 and if you link index 4 of the String List, then at run time, the String List length is increased from 3 to 5.
When you link a Document or Document List variable to another Document or Document List variable, the structure of the source variable determines the structure of the target variable.
Default Pipeline Rules for Linking to and from Array Variables
When you create links between scalar and array variables, you can specify which element of the array variable you want to link to or from. Scalar variables are those that hold a single value, such as String, Document, and Object. Array variables are those that hold multiple values, such as String List, Document List, and Object List. For example, you can link a String to the second element of a String List. If you do not specify which element in the array variable that you want to link to or from, default rules in the Pipeline view are used to determine the value of the target variable. The following table identifies the default pipeline rules for linking to and from array variables.
If you link…
To…
Then…
A scalar variable
An array variable that is empty (the variable does not have a defined length)
The link defines the length of the array variable; that is, it contains one element and has length of one. The first (and only) element in the array is assigned the value of the scalar variable.
If you link…
To…
Then…
A scalar variable
An array variable with a defined length
The length of the array is preserved and each element of the array is assigned the value of the scalar variable.
If you link…
To…
Then…
An array variable
A scalar variable
The scalar variable is assigned the first element in the array.
If you link…
To…
Then…
An array variable
An array variable that does not have a defined length
The link defines the length of the target array variable; that is, it will be the same length as the source array variable. The elements in the target array variable are assigned the values of the corresponding elements in the source array variable.
If you link…
To…
Then…
An array variable
An array variable that has a defined length
The length of the source array variable must equal the length of the target array variable. If the lengths do not match, the link will not occur. If the lengths are equal, the elements in the target array variable are assigned the values of the corresponding elements in the source array variable.
No link occurs.
A source variable that is the child of a Document List is treated like an array because there is one value of the source variable for each Document in the Document List. For example:
If you link…
To…
Where the value of DocumentList1 is...
Then the value of StringList1 is…
11. Use the Transform Pipeline block under the Control Flow category to adjust the pipeline at any point in the Integration and make pipeline modifications. Within this step, you can discard or remove an existing pipeline input field, (once you discard a field from the pipeline, it is no longer available subsequently), restore the discarded field, add a field, set a new value or modify the existing value of a selected field, map selected fields, remove the selected map between the fields, or perform value transformations by inserting transformers.
12. Click Save to save your Integration or click Save All to save all modified Integrations.
The new Integration will appear in the Integrations page. You can click on the Integration link in the Integrations page to view the Integration details.
Point-to-Point Integrations
Reference Data
Document Types
Integration Details
Built-In Services
Copyright © 2015- 2016 Software AG, Darmstadt, Germany.

Product LogoContact Support   |   Community   |   Feedback