Oracle released some more Cloud offerings and in this article we introduce the Integration Cloud Service. This cloud service lets your organization create integrations between cloud applications, but also between cloud and on premise applications. Create connections to well-known and less known SaaS applications using a bunch of cloud adapters, publish or subscribe to the Messaging Cloud Service, or use industry standards like SOAP & REST. The available set of cloud adapters will certainly grow in the future when the marketplace is fully up-and-running.
Why should organizations consider the Cloud?
Let's get started with the key benefits and features before diving into them more detailed. Why should organizations consider the Cloud?
In this day and age more and more software is going into the cloud, maybe they’re even developed with a cloud-first strategy. Thinks of your CRM, ERP of your HCM application. These applications do not do standalone business they communicate with each other, they exchange information. The Integration Cloud (fno ICS) provides this integrations and does it simplified.
The Cloud has a lot advantages, it is probably the most cost efficient method to use, maintain and upgrade an enterprise service bus. It is available at much cheaper rates and hence, can significantly lower the company’s IT expenses. Besides, there are many pay-as-you-go and other scalable options available, which makes it very reasonable for your organization. Since all your data is stored in the cloud, backing it up and restoring the same is relatively much easier than storing the same on a physical device. Once you register yourself in the cloud, you can access the information from anywhere, where there is an Internet connection.
So what has the Integration Cloud Service to offer to meet these demands?
ICS gives a web-based, point & click integration experience where you can easily create integrations between Cloud applications, public web services and on-premise applications.
ICS has a standard library of Cloud & On-premise connectors which includes Oracle SaaS applications, but also connectors for the Messaging Cloud Service and industry standards like SOAP and REST.
The mapping builder to create the necessary mappings between the adapter connections has a build-in recommendation engine for guidance how to best map source to target fields.
Visibility & Error Detections
ICS as build-in a rich monitoring and error management. With advanced tracking you can easily spot inconsistencies and monitoring the usage and performance of integrations. It generates alerts, and even emails them, when connections fail to work. With the guided error handling the errors are easy to repair.
Overview of the Integration Cloud Service
Because it is fully web-based you only need to open a browser and go to the URL you received after creating your ICS instance. After signing in to the Integration Cloud Service you are welcomed by the home page.
The start page is constructed of a couple of tiles of each mayor functionality of ICS. Through this page you can easily learn more about a functionality, or you can navigate to that functionality. All the functionalities are part of the Designer Portal so my guess is that this page is not going to be used much or not at all. To navigate to the Designer Portal click on the associate menu item at the top right corner.
The Designer Portal page shows the four pillars of ICS; Integrations, Connections, Lookups and Packages.
Integrations: Connect two cloud applications, using available connections, and define how they interact
Connections: Define connections to the cloud and on-promises applications
Lookups: Map the different values used by your applications to describe the same thing
Packages: A package associates to integrations and can be used as a way to group them
Before you can create integrations between cloud applications you need to define the connections. It is also possible to create SOAP and Messaging Cloud connections out of the box, but let’s look at the connections first.
At this moment there are almost ten adapters out-of-the-box available:
Click on the Connections image on the Developer Portal page to navigate to the list of connections. By default all connections are listed. A connection can be in one of these three statuses; draft, in progress or configured. Draft means is is not 100% finished, in progress means a user is working on it right now, and configured means it is 100% done and the connection test was successful.
You can look at connections that are in progress or configured by clicking on the status in the menu at the left side. If you're looking for specific entries to look at you can search by entering the name of part of the name in the searchbox. You can use the * character as wildcard.
Each connections displays its name, version and the kind of application it connects to. Each kind of application has its own image to differentiate itself from one another. Also the status and last update date and user is shown.
Also if you click on the Connection Details icon a overlay appears with more details like the who created the connection and when. On each connections some actions can be executed. A connection can be edited, cloned or deleted. Some connection allow the metadata to be refreshed like with the RightNow adapter.
Connection can be edited on the fly. If the WSDL url or the credentials change, the settings can be updated. Let’s look at the details of this RightNow connection.
You can assign an email address of an administrator to the connection. This address is used to send notifications to when problems or changes occur in the connection. On the settings page, for this adapter, you can configure the connectivity and credentials.
Before a connection can be used by integrations it needs to be tested first. Click on the Test button on the top right corner and if the test is successful a green notification, and if it fails a red notification is displayed.
In a separate article, I will go into the full details about creating connections.
After defining the connections it is time to create a integration between two cloud connections. At this moment there are three types for integrations possible:
An Integration can be in one of these five statuses; draft, in progress, configured, active or failed activation. Draft means it is not 100% finished, in progress means a user is working on it right now, configured means it is 100% done, active means a configured connections was successfully activated, and failed activation is an integration which had problems during activation.
You can look at only integrations that are in progress, configured, active or failed by clicking on the status in the menu at the left side.
If you're looking for specific entries to look at you can search by entering the name of part of the name in the search-box. You can use the * character as wildcard, for example KV*.
On a integration it is possible to execute a few actions based on its status. A connection can be viewed, edited, cloned, exported and deleted. Active connections can be deactivated. Some actions are disabled in certain statuses (e.g. it is not possible to edit an active integration).
When viewing or editing an integration the Integration Canvas is used.
It consist of a source and target adapter connection. Between the adapters you can create mappings for the request and for the response flow. It is also possible to enrich data by calling a secondary adapter (callout). This is possible on both the request as response flow just after the source and target adapter.
Let’s have a look at the source adapter and the target adapter. In this example both are Generic SOAP connections. A Generic SOAP Connection can be created on the spot
The first step consists of basic information and the choose to define the connection from an existing schema or in this example a WSDL.
Secondly enter the WSDL URL and choose the Port Type and Operation to use for the incoming adapter. Besides a source every integration needs a target. In this example this is also a Generic SOAP connection, it works just like the source SOAP connection, but uses a different UI.
If extra data is needed that is not available in the request or response message of an adapter it is possible to use callouts to a secondary adapter connection.
Because the data type of the request is different than of the response the data needs to be mapped. Click on the Request Mapping to view, create or edit the mapping. The request mapping is straight forward. The input is mapped to the only field available.
The response mapping maps the response from the target adapter to the source adapter. If you have call-outs the variable data is also available for use in this mapping. In the response mapping you can have access to a maximum of four data objects.
To view the XSLT mapping behind an element or to create more advanced mappings, click on a target element name that you want to map. In this detailed view mode you can map source fields to target fields, view the XSLT syntax or edit the structure using Mapping Components.
Mapping Components include functions for conversions, dates and strings, and Operators and XSL elements like choice, when, and other structures.
Below another example of a integration but this one connects a generic SOAP connection with the Oracle RightNow adapter. Both the Web Service and RightNow adapter support Faults to be passed through.
Each adapter has it own kind of connection setup wizard. RightNow supports different operation modes (single or batch) and types (CRUD or ROQL). The CRUD operation type has four cloud operations; create, detroy, get and update. The RightNow adapter works with Business Objects defined in RightNow. It is possible to select multiple Business Objects.
In a separate article, I will go in full details about creating integrations.
The Integration Cloud Service also gives to possibility to map different values in your applications to describe the same thing, like currency codes. For everybody that uses SOA Suite, it’s a DVM (Domain Value Map). Click on the Lookups image on the Developer Portal page to navigate to the list of lookups.
The Lookups page show all lookups in one list. A few actions can be taken on each lookup. A lookup can be edited, cloned, exported and deleted.
A lookup is a table of connectors and domain value mappings. You can easily add other connectors or more values.
When adding a connector column you first need to select the connector to assign values to. For example the Rest Adapter and enter the associated domain values.
Other to mention features are the possibility to export and import lookups. The export format is CSV.
Lookup can be used in mappings between source and target integrations. Use the lookupValue function and select the source value to map.
In a separate article, I will go in full details about creating and using lookups.
The last feature of ICS are packages. With packages you can group integrations together. When creating an integration you can assign it to specific package name. Multiple integrations can be assign to the same package name. Packages can be exported, imported and deleted, which mean integrations can easily be transported to a different ICS instance.
To view all integrations part of a package click on the “Action” icon and select “View Integrations”.
The pop-up shows the details about the integration, e.g. description, creator, last updater and optionally an Endpoint URL where the integration can be accessed on.
Oracle's Integration Cloud Service is a hourly or monthly subscription based Cloud solution and bring a web-based, point & click experience where you can easily create integrations between Cloud applications, (public) web services and on-premise applications. It has a standard library of Cloud & On-premise connectors which includes Oracle SaaS applications, but also connectors for the Messaging Cloud Service and industry standards like SOAP and REST.
Robert von Mölken
Robert is an experienced Fusion Middleware / SOA developer and Oracle ACE Associate. He focuses in particular on building service-oriented business processes. He is specialized in IT technologies like Java / JEE, Oracle and SOA. Where his specialty is with BPEL, SCA, SOAP, XPath, XML, OEP, Java, JAX-WS, Advanced Queueing, and PL / SQL.Contact: Blog LinkedIn Twitter