Tuesday, January 5, 2016

#466 ICS 15.4.5 New Features - Connectivity Agent

So what are agents?

According to the ORCL doc -

You must create an agent group and install the on-premises agent before you can create an integration in which messages are exchanges between your on-premises applications and Oracle Integration Cloud Service.

So now we have agents and agent groups as well, so time to explain -

An ICS connectivity agent will need to be installed on-premise and this will belong to the
agent group, i.e. an agent group can contain one or more agents. This is useful for loadbalancing, scalability etc.

So what does the agent do and how does the actual communication work?
Say I have a scenario where I need to integrate Sales Cloud and Siebel on-premise.

Here it is at a high level -

The agent is installed and running on the internal on-premise network.

The agent then establishes a secure communications tunnel to ICS. 

This allows ICS to send messages
(e.g. call the Siebel createNewOrder service with the following payload)  
via the secure tunnel to the on-premise agent.

The Siebel on-prem adapter has been installed as part of the on-prem agent and executes the service call to Siebel, thus completing the integration.

Installing the connectivity agent

Read from the horse's mouth here

In ICS, I click on the Agents icon and then do the following -

1. Create an Agent Group

Edit allows us to change name, description etc.

2. Download the Connectivity Agent installer.

chmod -x on this file.
Then execute the following command -

./cloud-connectivity-agent-installer.bsx —h=https://yourICSInstance:443 —u=yourICSUser —p=yourICSPwd —ad=yourAgentGroupIdentifier –ph=yourProxyServer(if any) –pp=yourProxyServerPort(if any)

for the AgentGroup you use the Identifier value, e.g. NCTESTAGENTGROUP and NOT NCTestAgentGroup.

Once executed, you will see that the following files have been created -

So this agent is actually composed of a Weblogic+JRF domain + Java DB.
The adapters will also be deployed to this domain.

First, Weblogic will be automatically installed.

Then JavaDB -

Note, above we see registrationStatus = SUCCESS.
I login in to my ICS Instance and look at the agent group.
The on-prem agent has been registered in this group.

SOABPM-VM is my linux host name.

One can log in to the weblogic server and see that the agent and the
on-prem adapters have been deployed -

So how does the on-prem agent communicate with ICS?
Looking at the following .properties file will give us an idea.

I have deleted some of the values in the screenshot below!

But, as you can see, communication is via omcs (Oracle Messaging Cloud Service).
So the on-prem agent essentially polls the relevant omcs instance for its messages, and pushes
responses back to omcs.

Analogue to this, there is a cloud based agent, delivered with your ICS instance, which essentially does the same.

A very succinct solution for hybrid integrations.

No comments: