Professional Documents
Culture Documents
Oracle Integrated Cloud Service
Oracle Integrated Cloud Service
The level of system administration knowledge decreases as you go down the list in this order: On-
premise > IaaS > PaaS > SaaS.
Introduction:
Best example of SAAS applications is Oracle Integration Cloud Service. Oracle ICS is a complete, secure
and lightweight cloud-based integration solution which offers us a web-based interface enabling us to
connect and integrate applications between cloud and on -premise applications. The various pre-built
adapters allow for easy endpoint configuration so that the integration developer can focus on the
integration logic. No doubt Oracle offers on premise Oracle SOA and cloud -based Oracle SOACS which is
also used for almost same purpose but still Oracle ICS is having its own benefits. Oracle ICS provides a
point and click integration interface which makes it easy for developers to integrate and connect
applications and is positioned for the ‘LOB Developer’ (Line of Business Developer). The developer who
functionally knows the application’s being integrated. The developer who does not necessarily
understand SOAP/REST/XML and other integration related technologies, but does understand the
underlying business entities, and which ones should be integrated between applications.
Advantages of ICS
Fast
Enterprise-grade
Simple
Little knowledge of technologies required
Cloud on-premises
Economic Costly
Deployed and located on cloud Deployed and located on local premises
Enterprises do not own data and have no control Enterprises retain all their data and have entire
to monitor and look what happens to it. control on what happens to it.
Ownership is not transparent.
Although cloud data is encrypted and only the Extra sensitive data is preferred to be kept
provider and the customer have the key to on-premises due to security compliances.
that data, people tend to be skeptical over the Some data cannot be shared to a third party,
security measures of cloud computing. for example in banking or governmental
Over the years, the cloud has proved its websites. In that scenario, the on-premises
brilliance and obtained many security model serves the purpose better. People
certificates, but still, the loss of authority over must stick to on-premises because they are
the data reduces the credibility of their either worried or have security compliances
security claims. to meet.
Beginning to ICS
To start with Oracle ICS, first thing we need to do is to have trial subscription of it. To have trial
subscription, follow below mentioned steps:
Go to this URL https://www.oracle.com.
Sign up for free subscription. Once you sign up, you will get welcome mail with credentials.
After some time try with your credentials and login. Once you login, you will get below page:
Click on Application Integration and then Integration. Create integration instance. Once it is
created you can go ahead with Oracle ICS development.
Create Instance
Click on Application Integration and then Integration.
Once it is created. it will take some time to come in active state. Once it is in active state. Click on the
Service Bus console.
Oracle ICS On-premise agent end to end Configuration
In Oracle ICS, we are having two types of Agents. Below are the types:
Connectivity agent
Execution agent
The Oracle On-Premises Agent (aka, Connectivity Agent) is necessary for Oracle ICS to communicate to
on-premise resources without the need for firewall configurations or VPN.
To communicate among applications, you must download the agent installer from Oracle Integration
Cloud Service and run the installer to install the on-premises agent in your local environment. During
installation, you associate the agent with the agent group identifier you generated when creating an agent
group in Oracle Integration Cloud Service.
You must satisfy the following prerequisites on your on-premises host before running the agent installer in a
production environment:
You cannot copy the agent directory hierarchy that is installed on one host to another host. You must directly
install the connectivity agent on your host using the connectivity agent installer described in this section.
Ensure that you have created the agent group. You must specify the agent group identifier when installing the
on-premises agent.
Install only Oracle JDK version 1.7 or 1.8. Other JDKs such as Open JDK are not supported.
Set the JAVA_HOME property to the location of the JDK installation. For
example:JAVA_HOME=/usr/java/jdk1.7.0_79
Provide a minimum of 8 GB memory with 4 GB of heap size dedicated for the agent JVM. If you want to
include any other processes on that host besides the on-premises agent, it is strongly recommended that you
increase physical memory to a value greater than 8 GB.
Configuration of Agent:
Below are the steps to configure agent
7. Click on the Download drop down on the Agents page, select Connectivity Agent, and save file to an on-
premise Linux machine where the agent will be installed/running. This Linux machine needs to be able to
establish a non-proxied TCP/IP connection to the on-premises resource(s) it will be communicating with.
13.Review the Agent monitoring landing page. Notice there is now a green icon indicating the agent is up and
running:
14.Review the directory structure for the agent installation.
15.As you can see this is a standard WLS installation. The agent server is a single-server configuration where
everything is targeted to the Admin server and is listening on port 7001 (if the default has not been
overridden). Notice that the installer included scripts for starting and stopping the agent located in the same
directory as the agenthome. It is very important to always use the startAgent.sh script for starting the server,
because includes environment settings specific to the agent:
Navigating to ICS
Navigating Oracle Integration Cloud Service Oracle Integration Cloud Service provides multiple ways to
access the different features you use to create and monitor your integrations. Overlays are displayed the
first time you log in to Oracle Integration Cloud Service.
Navigating from the Home Page The home page provides links to the primary development features of
Oracle Integration Cloud Service:
Within each feature, you can find multiple options to complete and integrate applications
Note:Overlays are provided on many of the main pages. Overlays guide you on how to perform tasks
such as getting started, creating connections, creating integrations, and so on.Click Got it! to dismiss the
overlays. To enable the overlays again, select Help > Guide Me from the username main menu at the
top of the page.
Creating connection
Connection is the term which is basically used to communicate between two applications with the help
of pre-built adapters to integrate an integration.
Set a name for the connection in the popup that appears; perhaps provide some description as well.
The click the the Create button.
Click on the button labeled Configure Connectivity. Enter the URL for the WSDL for the external web
service, as shown in the next figure.
Then click on OK.
The external web service that this connection links up to does not have any security policies associated
with it. Therefore, click the Configure Credentials button. Select No Security Policy from the dropdown
list. Then click OK.
When the popup has closed, click the Test icon – to verify the connection details.
Upon success, click Save. Then click Exit Connection. The first connection is now set up.
Once the connection is set up we can further do modifications on top of that. We can do following
operations by right clicking on created connection:
Edit
Refreshing metadata
Cloning connection
Deleting connection
Unlocking the connection if designer or administrator of it.
Map Data
Orchestration
Subscribe from ICS
Publish to ICS
The integration editor is shown. Drag the webservice connection to the Target area – as it serves as the
outbound destination for this integration.
In the popup dialog, provide a name and a description for the ‘outbound endpoint’. Press Next.
Select the appropriate Port from the WSDL at the far end of the connection:
And select – although in this case there is a choice of one – the desired operation to integrate to:
Press Next.
The outbound part of the integration is now done. Drag the DistanceConversionMetersToYardsProxy
conection to the Source area.
Type a name and description for the inbound endpoint:
Press Next.
Confirm the selected Port Type (only one available in the abstract WSDL we uploaded for this
connection) and operation:
Press Next.
On the overview page, click on the first mapping and then click on the plus icon to create the message
mapping for the request message from source to target:
The mapping editor appears. Drag the distanceValue element in the source to the LengthValue element
in the target. Click on the fromLengthUnit element in the target and enter the string Meters on the
mapping builder details page that appears:
Press Close.
Click on toLenghtUnit and type the string Yards on the mapping builder page. After clicking close to
return, this is what the overall map looks like:
Press Test to … well, to test the map definition.
In the Test Map dialog, click on Generate Input to create a random message according to the XSD that
describes the source message.
Close the test map dialog. Press Save in the main map dialog. Then press Exit Mapper.
Now click on the second map icon, for the response flow from target back to source.
Map the ChangeLengthunitResult element that contains the converted distance value returned by the
external web service to the DistanceConversionResult element in the response message from the
inbound connection:
You could test this. Then save and exit mapper.
In the Business Identifiers for Tracking page, drag the distanceValue source element – from the request
message that triggers this integration – to the first row’s Tracking Field:
Press Done.
Orchestrated integrations in Oracle Integration Cloud Service that use Oracle BPEL Process Manager
capabilities. Oracle BPEL Process Manager enables you to define how a business process that involves
web services is executed. BPEL messages invoke remote services and orchestrate process execution.
When designing your integration, you can add switch activities in your integration to create multiple
routing expressions. You can create ad-hoc mappings on switch branches. You can also add callback
activities (to end an integration and respond back to the sender) and Chapter 2 Creating Integrations 2-
19 end activities (to end an integration without responding back to the sender) in asynchronous
integrations.
Phases of Integration:
Integration can be in multiple phases:
Edit
Draft
Activated
A popup appears that contains the url for the WSDL of the inbound connection exposed by this
integration:
Copy this URL to the clipboard.
Create SoapUI WSDL project for the SOAP Service exposed from ICS – using the URL for the WSDL that
was retrieved in the previous step:
When you try to send in this generated request, you will run into an error response – OSB-386200 (tells
you something about the underlying implementation of the ICS) General Web Service Security Error.
This one had me thrown for a moment, since we specifically specified that no security policy should be
applied to this connection. However, I guess because the connection is exposed from the ICS identity
domain and accessed over an HTTPS connection, we still need to provide authentication. In SoapUI this
is done easily.
Set the username and password properties as shown in the next screenshot – using the ICS account
credentials. Then right click the test request and select Add WSS Username Token. Accept the Password
Text option.
Right click again and select Add WSS Timestamp.
When both headers have been added to the Test Request, execute the test again.
This time, the service response should contain the converted Yards value. Who would have guessed that
1000 meters corresponds with 1094 yards?!
Monitoring ICS
When we made the call to our new ICS integration, the field tracking was dutifully performed – and we
can check on it.
Open the Activity Stream tab – and find messages relating to the service call we just performed from
SoapUI:
Click on the Tracking icon.
The instance of the integration that was created when we made the call from SoapUI is shown – along
with the tracking field: distance in meters.
We can drill down on this instance and inspect the exact flow trace for it.
Even though in this case it does not add a lot of insight – you can probably see how this could be useful
when integrations fail at some point in the end to end flow.