Friday, January 29, 2016

#473 ICS Execution Agent

I just installed the ICS Execution agent, which is essentially ICS on-premise.

As to be expected, all this is missing is the Agent functionality -

The version I have installed is -

New features of this version include a more ergonomic adapter creation UI -

Notice the new menu options - Users - Administration

Here are the default users -

I can also create new users -

Note the available roles -

Self explanatory, don't you think? I assign all of the roles to NiallC.

I assign the IntegrationServiceDeveloper role to the user RenateC.

Still logged in as weblogic, I click on the Administration button.

Here I can manage my certificates -

ICS Execution Agent runs in a compact domain and you have access to EM -

as well as the sbconsole -

The Weblogic install is at -

Thursday, January 28, 2016

#472 ICS ERP Cloud Adapter

New adapter available with 15.4.5+

First we need to enter the ERP Services Catalog WSDL URL.

Now, in my case, all I had to go on was an URL for a Fusion ERP Invoice Service.
This has the format:

The URL for the ERP Services Catalog WSDL has the following format:

fs stands for common.

Regarding the ERP Events Catalog URL (optional)
ERP doesn't as yet support events. I have blogged about Sales Cloud Events here
So, for ERP, it is optional ;--)

I have obfuscated the WSDL URL and the Username

I test the connection -

If this test fails with a valid ERP user, then it is probably a permissions issue, that you
need to sort out at Fusion ERP level.

Now I create a simple integration in ICS, leveraging the ERP adapter.
Below is one I created to call the createSimpleInvoice service.

Here are the steps for the target ERP connection -

Then I do a similar configuration for the source connection.

For the mapping, call in your ERP functional expert.

Friday, January 22, 2016

Thursday, January 14, 2016

#470 ICS --> Content Based Routing

Content Based Routing for Asynchronous Source will be supported very soon.
Content Based Routing is not supported for Fire and Forget pattern yet.

Simple scenario here

ICS gets a request to retrieve customer details from on-prem DB.
Customer is classed as either domestic or foreign.
Requests for domestic customer details have to be routed to the domestic customer DB.
Requests for foreign customer details have to be routed to the foreign customer DB.

The custId of domestic customers always begins with 1.
The custId of foreign customers never begins with 1.

So you get the idea?

I have 2 DB tables -

These are essentially my 2 databases.

My integration looks as follows -

You see the icons representing the routing?
Here they are -

You can make out some of the routing condition I entered?
I use the string function starts-with

Here I check if the incoming custId starts with 1.
If so, I route to the "domestic DB".

Otherwise the request goes to the "foreign DB".

Here you see the icon to configure routing.

Here is the filter condition -

Once this node is selected in the upper routing pane, we configure/edit the Target.

Select the other node and you can do the same.

Full Example

Here is another of my integrations -

Here a customer input is mapped to an Oracle Sales Cloud contact.
I want to add a routing to my DB as well.
We can apply the same routing logic as above -

Here I check if the incoming custId starts with 1.
If so, I route to Sales Cloud.
Otherwise the request goes to the DB.

You can see the funnel icon on the request message line.
I click on this to begin -

I enter the Expression Builder -

On the left we have the incoming message - the source.
Also the Components palette.

With these I can build my expression.

Click on the Routing Drawer to configure Routing.

The Conditional path is active and it defaults to the OSC target.

Now I need to specify the alternative route or path.

I click on the bullseye icon to make it active -

So now I just drop my DB adapter as the Target and
configure accordingly.

and the rest is just plain sailing...

#469 ICS DB Adapter Part 2

Here I have a simple integration that saves a customer to an on-prem DB.

The mapping is simple -

I deploy and test -

No response, as this is fire and forget.

I check in the on-prem DB -

#468 ICS --> Oracle DB Adapter

In this post I show how to leverage the new on-prem Oracle DB adapter on ICS.

Communication between ICS and the on-prem DB is via the ICS Connectivity Agent.

The ICS Connectivity Agent setup is covered in a previous post.
You can read it here

I have an XE DB running On-Prem.
I have a user - Niall and a DB Table - Customer

I create the DB connection in ICS using the new DB Adapter.

Here is the configuration of that connection.
As you can see, it requires more detail as a SaaS connection.

note the Host entry above.

I also need to specify which Connectivity Agent I will be using.
I do this by specifying the Agent Group.

My on-prem agent, running on the same environment as my on-prem DB, is a
member of this Agent Group.

Here is my simple Integration -

My Source is based on an abstract wsdl I created.
This contains an operation retrieveCustomer -

The input/output is as follows -

The Target is leveraging the DB adapter -

note the syntax above - Check out the full DB Adapter doc here

My mapping is simple -

Request Mapping -

Response Mapping -

I deploy and test the integration.

Here is the result in SOAP-UI
left pane - request
right pane -response from my on--prem DB.

Here is the Tracking in ICS -