Wednesday, April 26, 2017

ICS on-prem adapters

Just to clear up any possible confusion here -

Here is a list of the on-prem adapters -

AQ - Oracle Advanced Queuing (persistent messaging)
DB2
File
JD Edwards Enterprise 1
JMS
Microsoft SQL Server
MySQL
Oracle Database
Oracle E-Business Suite
Oracle Siebel
Oracle Utilities
SAP

The SOAP and REST adapters also work in respect of on-premise.

Tuesday, April 25, 2017

#562 ICS Tech adapters (SOAP/REST) also work in concert with the ICS Connectivity Agent

Looking at the SOAP adapter/connection configuration in ICS 17.1.3 I see the following -

1. a plethora of connection properties -





















2. the ability to leverage the Connectivity agent -










I came across this when investigating whether the ICS Siebel on-premise adapter also covers
Siebel UCM(Universal Customer Master). I wasn't too sure about this, so the alternative was to posit use of the SOAP adapter, which can now work via the connectivity agent.

Later my colleague, Srikanth, pointed me to the following doc
















All the Siebel supported published web services are documented here.

These published web services are available via service catalog interface to the ICS Siebel adapter,
and, quelle surprise, UCM is included.

The doc is available here

Siebel UCM web services are documented here





















Thursday, April 20, 2017

#561 Using A-Team's REPL based ICS management utility

This post leads on from the previous one, which pointed you to the A-Team blog.
Here you can download all of the files described below.

If you haven't already done so, read the previous post, before continuing.

The A-Team utility is python based, so step 1 is to install python -

Install Python


Download python -

















Install/update pip
from Wikipedia - pip is a package management system used to install and 
manage software packages written in Python
python -m pip install -U pip setuptools
pip install directory







Install requests, tabulate, pyreadline and pytz
requests -














tabulate -









pyreadline -








pytz -


Check out the REPL resources

A -Team REPL install directory










servers.txt --> configure for your ICS instance

Here is an extract from the A-Team configuration instructions -

Execution requires a special file – the “server password” file. This file has a specific format: semi-colon separated fields, containing four values:
;;;
URL is the URL of the ICS server. https://mypodname-myiddomain.integration.us2.oraclecloud.com for example. This is the “root” of your usual ICS URL: https://mypodname-myiddomain.integration.us2.oraclecloud.com/ics/faces/global (look when you are logged in to an ICS console).
Alias is a short, unique, nickname for the server, that will be used by the REPL to refer to it. See the “connect” command below.
Username and Password are valid administrative credentials for authentication to the ICS instance.
https://myICSPod;NiallICS;niall.commiskey@oracle.com;myPwd

Now I unzip the repl.zip file







I put python in my PATH










Ok, so let's try it out - python repl.py --servers Path2YourServers.txt 




connect - using the alias from my servers.txt, in my case, NialICS.




list all of my integrations -







Now I just want to retrieve my integrations, they contain the prefix NC.
All I need to do is append the command as follows -

list_integrations - NC
















Now back to the A-Team blog post - here the example script that one can
use for moving ICS artifacts from test to production, simply via the cmdline.












Again, kudos to Christian from the A-Team for creating this!






















Wednesday, April 19, 2017

#560 - ICS REPL tool from Oracle's A-Team

Those boys have done it again!

A great tool to manage your ICS instances and integration lifecycles from the cmdLine.
REPL - Read Evaluate Print Loop.









Download and use it to speed up your work with ICS.

Read all about it here

Enjoy!

Friday, April 7, 2017

#558 ICS Eloqua adapter revisited

I sometime get questions on which use cases can be supported via the ICS Eloqua adapter.
So here are some details from the docs -

The Oracle Eloqua Cloud Adapter enables you to create an integration with an Oracle Eloqua Cloud application. You configure the Oracle Eloqua Cloud Adapter as a trigger (inbound) connection (Oracle Eloqua Cloud to Oracle Integration Cloud Service) or as an invoke (outbound) connection (Oracle Integration Cloud Service to Oracle Eloqua Cloud).
Oracle Eloqua Cloud provides cloud-based marketing software that delivers marketing automation for industries such as finance, health, media, real estate, sports, entertainment, and so on. Oracle Eloqua Cloud simplifies marketing procedures by delivering leads targeted to new customers. Oracle Eloqua Cloud helps manage and organize marketing segmentation and marketing workflow.
The Oracle Eloqua Cloud Adapter accelerates integrations between Oracle Integration Cloud Service and Oracle Eloqua Cloud systems. The Oracle Eloqua Cloud Adapter synchronizes accounts, contacts, and custom objects from Oracle Integration Cloud Service to Oracle Eloqua Cloud systems. Accounts can only be synchronized from Oracle Integration Cloud Service to Oracle Eloqua Cloud systems, and not in the other direction.

The salient sentences are -

The Oracle Eloqua Cloud Adapter synchronizes accounts, contacts, and custom objects from Oracle Integration Cloud Service to Oracle Eloqua Cloud systems. Accounts can only be synchronized from Oracle Integration Cloud Service to Oracle Eloqua Cloud systems, and not in the other direction.

Here is how it is implemented in the ICS adapter -



















So this is a one way adapter for keeping the Eloqua Business Objects - Accounts, Contacts, Fusion Leads, Opportunity, purchase History in sync with other apps. I assume that "Vehicel" is a custom business object defined by one of the Eloqua instance users,

The Eloqua adapter can be used as Trigger as well as Invoke, since version 16.4.5.
Use of the Eloqua adapter requires an Eloqua app to be installed.
Details can be found here


So what about other use cases?
Eloqua provides a rich REST api.























REST API details can be found here

Now let's look at the Eloqua adapter as a trigger in ICS -











































btw. the Eloqua adapter uses the Eloqua Bulk API under the hood.


Happy Marketing!


Thursday, April 6, 2017

#557 PCS Correlation and PCS calling ICS

Nice new feature in PCS.

from the docs...
Correlations enable business processes to communicate with each other based on the state of an instance. The state of all the process data objects in a process defines the state of the instance.
When you define a correlation for a business process, you can identify an instance in another process based on the instance state and then send a message to that specific instance.
For example, you can use correlations to communicate a sales process with the corresponding shipping and mailing processes. When the customer confirms an order, the shipping process sends a message to the shipping and mailing processes using a correlation that defines that it uses the order ID to locate the instances in both processes.

I will use a couple of ICS instances to demo this.  
Here's the first one - Trigger is a SOAP adapter, Target is the Service Cloud adapter. 






All it does is create an Organization in Service cloud.

I configure PCS to point to my ICS instance -









This will be used later, when I browse ICS to retrieve Integrations.

Now to my simple PCS process -






I will call the ICS process when the new organization is approved.







Thanks to my colleague Chris P. for pointing out that I need Username Token here.













I do the data associations, and that's it.







I deploy and test -













I approve the new organization -















It completes successfully -






I check in Service Cloud.






Now I add a mid process receive to the PCS process.
It will wait for a confirmation that the organization has been created.
I will need to add correlation to the process to enable this.

































I Initialize Correlation at the Start activity - setting the property 
to the incoming orgName value.



I now add the Message Catch -












Here we wait for the confirmation -














I set the correlation -






I re-deploy and check the wsdl and see the 2 operations -







I now instantiate a new instance of the AppproveOrg process -













The process is waiting for confirmation -






I now execute a call from SOAP-UI -







The process completes -