Using Oracle Integration Cloud Service Libraries:

How libraries can simplify an orchestration workflow and maximize ICS functionality

By: Courtney Dooley | Technical Architect

 

Oracle Integration Cloud service offers great flexibility and functionality, but data manipulation can be difficult to implement and maintain long term.  The solution for data manipulation can be found in the Libraries functionality.  Libraries allows for JavaScript and Java libraries to be uploaded and utilized within an integration for enhanced functionality.  This blog will outline limitations and examples of how Libraries can save time and money during your integration development.

Preparing Files

Before we explore registering a JavaScript or Java library, there are a few things that the files may need prior to registration.  Oracle Integration Cloud requires a defined variable as output for any functions to be used within an Oracle Integration.  This may mean tweaking the code within your files to meet this requirement.

Below is a simple example of a function that gets the average value of a string of numbers.

function avgOfString(input,delim){
var numList = input.split(delim);
var sumList = 0;
for(var x=0;x sumList=sumList+parseInt(numList[x]);
}
return sumList/numList.length;
}

In order for ICS to accept this function and use it within an integration it needs to be altered to clearly identify the output variable.

function avgOfString(input,delim){
var numList = input.split(delim);
var sumList = 0;
var avgOfList=0;
for(var x=0;x sumList=sumList+parseInt(numList[x]);
}
avgOfList= sumList/numList.length;
return avgOfList;
}

Limitations:

  • Input parameters must be limited to less than 20.
  • Currently functions only support input and output types of String, Boolean, and Number, but with the rapidly evolving Oracle Integration Cloud Service additional types will likely be available soon.

Registering a Library

Libraries can be found within the Integrations Designer interface.

To register the js or jar file, click the Register Button on the Libraries page.

Select the file by clicking on “Choose File”, and name the library.

After clicking “Create”, the configuration screen will appear.  If multiple functions are included in the file, you will see each function listed on the left.

For any functions you wish to expose to Integration Cloud Service, you will need to identify the types for both the input and output parameters and what kind of integration the function should be available for.  The Classification Type can be either Orchestration or XPath, but not both.  Once configuration is complete and saved, the library will be available for use.

Using the Library

Within an Orchestration Integration, drag and drop the Function Call Action into the integration flow.

Once the Function Call is placed and named (GetAverage), the Function parameter configuration page is displayed.

Click the “+ Function” button to select the newly added function to this call.

Once the function is selected, the input parameters will be available to set to the integration variables.

After validating and closing the Function Call window, the element output will be listed on the integration variables for use within mapping calls.

 

Contact Us for more tips and tricks for developing smart integrations using Oracle Integration Cloud Service!