Wednesday, June 22, 2016

#513 SOA Suite 12.2.1.1.0 released

Highlights include a new product Real-Time Integration Business Insight.
Check out the video on Insight here

Here are the full details of this SOA Suite release.






















Click here for more details

Monday, June 20, 2016

#512 ICS --> Twitter adapter example

Simple stuff -

























I begin by downloading the twitter certificate from https://twitter.com

I then upload this to ICS - Administration -











Next, I create an app on https://dev.twitter.com
This will provide me with all the keys I need to perform operations, such as tweeting.







































I specify the callback url for my ICS instance -

https://myICSPod:443/icsapis/agent/oauth/callback
























As you can see, I have obfuscated the Consumer Key - etc.
Note: the callback url is missing from the above screenshot.













Create the access token.













Now I have all the values I need to create the Twitter connection in ICS.

Here is the connection definition page in ICS -














Test the connection -









Create the Integration in ICS - I am reusing an abstract "customer" wsdl here for the
Trigger/Source. Essentially, I will hard code the tweet in the mapping on the integration.

The Invoke/Target is leveraging my Twitter connection -













































Here is the mapping -



















I activate the integration and test from soap-ui.
I then Monitor execution in ICS -


















Validate on Twitter -










Saturday, June 18, 2016

#511 Process Cloud Service --> Quickstart apps

Nice feature this...

As the docs says -

Choose a QuickStart App to quickly create an application and learn about Process Cloud Service. QuickStart Apps include all the implementation details needed to play and deploy them. Use these applications as a ready-to-use application to deploy or as a starting point to adapt by making changes such as editing task titles, modifying the web form, or adding new task actions.











Read all about it here

Thursday, June 16, 2016

#510 CORS support in ICS

Firstly what is CORS?

Cross
Origin
Resource
Sharing

I'm sure everyone is wise now!

According to the ORCL docs -

CORS defines a way in which a browser and server can interact to determine safely whether or not to allow the cross-origin request. CORS provides for more flexibility than same-origin requests, but is more secure than simply permitting all cross-origin requests.

When creating an integration in ICS, you can now configure the REST connection for CORS.

























Note the last checkbox in the screenshot above.

Here is the CORS configuration page -


































I add the following -


















As you can see, I cannot select any other methods apart from GET, as that is all
I have defined.

Here is the completed integration -








As you can see, I create an Organization in Service Cloud.

Now to the testing ...

I activate the Integration and try the /metadata url in my browser -























Now I execute the rest request, replacing /metadata with /organization and the required parameters -

https://myICS/integration/flowapi/rest/NC_CORS_EXAMPLE/v01/organization?orgName=IrishCuisine&contactFirstName=Niall&contactLastName=Commiskey

and this validate the CORS settings.



Monday, June 13, 2016

#509 ICS --> Orchestration example

Here is a simple example of using the Orchestration pattern in ICS.

In this scenario, before creating a new organization in Service Cloud, I first check whether it already exists. The processing logic is very simple -

IF the organization exists

THEN
Mark created status as ‘false’
Return the existing Org ID and name.

ELSE
Create the account in Service Cloud (RightNow),
Return the newly created Org ID and name.


Here is my connection in ICS -









I also create a REST connection for Inbound.











As this is being used for inbound, Connection URL can be set to any value.

Test the connection -









Create the Integration




























The integration is created -



















Note the Triggers panel on the left - We define what triggers the integration.
In our case, it is the REST connection.

I drop my REST connection on to the Start area.




















































On the next page, I provide the query parameters -














In my case, just one - the Organization name.

The Response will be based on the following file -











































































Now I add a Lookup Organization Call by selecting my Service Cloud (RightNow) connection from the Invokes list.

When dragging it onto the canvas, blue + icons appear.
I drop it on the first of these and configure as follows -











































Now I need to Map the data for the LookupOrganization callout.


















































Now, I need to add some conditional logic after the Invoke of LookupOrganization.

I will use the Switch action for this.













































I configure as follows -

First, the Undefined path -


















The above screenshots should be self explanatory.

If the Org already exists, I want to return its ID and name.
So I add a Map Action after the condition.

















This is the Target -















I will set Created to 'false', as it already exists.










Then I map the ID and NAME.







































Now I need to add the Create Organization call to the Otherwise path.

I select the connection from the Invoke list and drop after Otherwise.


























Do the Mapping - CreateNewOrg.











Note: I have filtered to show only mapped fields on the Target.











Nearly finished, just need to set the reply, if the Organization has been created.
To do this, I drop a Map action after the CreateNewOrg invoke on the Otherwise path.

















Map as follows -
















Last step is to delete the now unnecessary map action -































































I add Tracking, based on the Org name.

I then Activate the Integration.
















The URL is in the following format -

https://YourICSEnv/integration/flowapi/rest/YourIntegration/v01/metadata

I now try this out in a browser -












All I need to do is replace metadata with my OrgName
e.g.
https://YourICSEnv/integration/flowapi/rest/YourIntegration/v01/organization?name=HarmonstownInc.

Here is my response -










I check for the Org in Service Cloud -















I execute the request again -