Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 39

Oracle Integrated Cloud Service

Draft Version: 1.0


Author: Shruti Kutlehria
Cloud Model:
Before digging into Oracle ICS, lets discuss about the types of cloud computing service models. We are
having three types of models given below:

 IAAS (Infrastructure As a service


 PAAS (Platform As a Service)
 SAAS (Software As A Service)

IAAS (Infrastructure As a PAAS (Platform As a Service) SAAS (Software As A Service)


service)
In this model, businesses buy In this model, A PaaS vendor In this model, SaaS platforms
infrastructure as per their provides hardware and make software available to
business requirement on software tools over the users over the internet, usually
internet rather than holding the internet, and people use these for a monthly subscription fee.
expenses of all the resources on tools to develop applications. With SaaS, you don’t need to
their own. IAAS solutions are PaaS users tend to be install and run software
highly scalable and flexible, cost developers who are developing applications on your computer
effective and accessible by their business and applications. (or any computer). Everything is
multiple users. As it allows It provides platform with all available over the internet
complete control over your software so that they don’t when you log in to your account
infrastructure and operates on a need to start from scratch. They online. You can usually access
pay-as-you-use model. E.g. AWS are cost and time effective, the software from any device,
EC2. EC2 users do not own the easily accessible to multiple anytime. SaaS platforms are
physical servers; AWS provides users as built on virtualization ideal for when you want an
virtual servers. technology. eq. Magento application to run smoothly and
Commerce Cloud (also known reliably with minimal input from
as Magento Enterprise Cloud you. E.g. Oracle ICS
Edition) is the most common
example of PaaS for
ecommerce. This enables the
merchant to bundle their
hosting as part of their package
with Magento.

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

Difference between on-premise and non-premise


Basic difference between both is that in on premise the resources are located within organization
premises and can be deployed locally but in non-premise they are in cloud hub. It depends on your
requirement whether to go with on-premise or non-premise based on the data, security and cost.

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.

 Click on Try for free.

 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.

Click on Create Instance and provide required information

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.

System Requirements and Restrictions:

You must satisfy the following prerequisites on your on-premises host before running the agent installer in a
production environment:

 Do not have two on-premises agents running on the same host.

 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

 Set the PATH property. For example:PATH=/usr/java/jdk1.7.0_79/bin:$PATH


 Install the on-premises agent on one of the following supported operating systems:

 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

Create an Agent Group:

1. Login to the production ICS console and view landing page.

2. Verify that the ICS version is 17.3.3 or greater.


3. Scroll down on ICS Home page and select Create Agents OR use the menu in the upper left-hand corner of the
window and navigate to Agents.

4. On the Agents page click on Create New Agent Group.


5. Provide a name for your agent group (EX.Any_GROUP).
6. Review the Agent page containing new group.

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.

8. Download the file and save it to any location.


9. Extract the contents of the zip file for the cloud-connectivity-agent-installer.bsx. This .bsx is the installation
script that will be executed in the on-premise machine where the agent will reside. A .bsx is a self extracting
Linux bash script:
10.Make sure the cloud-connectivity-agent-installer.bsx file is executable (e.g., chmod +x cloud-connectivity-
agent-installer.bsx) and execute the shell script. NOTE: It is important to specify the SSL port (443) as part of
the host URL. Also, there are optional properties for the proxy details if a proxy is required for your network.
For example
./cloud-connectivity-agent-installer.bsx -h=https://<ICS_HOST>:443 -u=[username] -p=[password] -
au=weblogic -ap=welcome1 -ad=AGENT_GROUP -ph=<PROXY_HOST> -pp=<PROXY_PORT> -
pu=<PROXY_USERNAME> -ppw=<PROXY_PASSWORD>
11.Return to the ICS console and the Agents configuration page. Notice that the number of Agent(s) has changed
from 0 to 1:
12.Navigate to the Monitoring page via the menu in the upper left-hand corner and select the Agents.

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.

WorkFlow for creating integration:


Below is the workflow for creating ics integration:

 Creating source and target connections using pre-built adapters.


 Create integration.
 Create lookups and packages.
 Map integration.
 Activate the integration
 Monitor the integration

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.

Similarly, create target connection


Creating integration with mapping
Integrations use the connections you created to your applications and define how information is shared
between those applications. You can create new integrations, import integrations, modify or delete
integrations, create integrations to publish messages, create integrations to subscribe to messages, and
add and remove request and response enrichment triggers. Creating an integration includes defining the
trigger and invoke application connections, and defining how data is mapped between the two
applications. As now, trigger and invoke actions are already set up. So now we need to start defining
integrations. Basically, we can create different types of integrations. Previously it was having

 Map Data
 Orchestration
 Subscribe from ICS
 Publish to ICS

But now, it has been modified to below patterns:

 App Driven Orchestration


 Scheduled Orchestration
 File Transfer
 Basic routing
 Publish to OIC
 Subscribe to OIC
Now click on create integration and select the desired pattern

Enter a name and optionally a description:


Then press Create.

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.

On the Summary Page, press Done.

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 Summary Page, press Done.

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.

Click on Execute to perform the test


and verify that the result is what we need.

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.

Return to the integration editor.

Specifying Tracking Fields


Click on the Tracking icon, as shown in the previous screenshot. This allows us to specify the business
identifiers to track – record, monitor – when instances of this integration are executed.

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:

Provide values for Tracking Name and Help Text:

Press Done.

Press Save, then press Exit for the Integration:


The Integration is now completely configured.

Creating Orchestration Integration

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

Activation of the Integration

The Integration cannot yet be executed. It first needs to be activated.

Click on the Activation button to make that happen:

Confirm the activation of the integration – and turn on Detailed Tracing:


After a few seconds, the integration is activated and is now live and accessible to external consumers.
We can now find out at which endpoint these external consumers can have their meters converted to
yards. Click on the little i icon for the integration

A popup appears that contains the url for the WSDL of the inbound connection exposed by this
integration:
Copy this URL to the clipboard.

Testing the Service exposed by ICS

Create SoapUI WSDL project for the SOAP Service exposed from ICS – using the URL for the WSDL that
was retrieved in the previous step:

Have a test request generated.

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.

Return to ICS and click on the Monitoring button.

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.

You might also like