Thursday, April 19, 2018

#626 Integration instance tracing in OIC

Instance tracing is very useful in the development phase -
Now we can activate this globally - e.g. for our Development OIC instance -



















or at instance level -
































Here is my Orchestration -






















If I enable tracing -



















If I don't -








Note: the payload is not written to the Activity Stream, it is written to the diagnostic-log, which
you can download from the Monitoring --> Dashboards page.












Tuesday, April 17, 2018

#625 Installing the APIP CS Gateway

I started by logging in to the Management Console as a Gateway user.
The Gateway user has the Gateway role assigned and so she can manage Gateways.



















I create a new Gateway -














As you see, I called it DevGateway - what an innovative name!


I click on the Grants node and assign some permissions on this gateway.


















I can do this for the various permissions -










































I download the installer -

















I unzip it -



















Now back to the Management Console -







We need to generate a node properties file that will contain such info as the
mgt console url; they will need to communicate after all.

This file is called gateway-props.json and will be created by the install wqizard. So 
I click on Open Installation Wizard. 
















Accept the defaults and click the next icon -
































We now download the generated config file -































I now execute the installer -

python2.7 APIGateway.py -f bb.gateway-props.json -a install-configure-start-join

install, configure, start are self explanatory.
join- registration of the gateway node with the APIP CS Mgt Console.































The step above has done the join i.e. I now need to go to the Mgt console and approve the new node.

















As you see, the join request is awaiting processing.







I can set the polling interval -

















thanks to my A-Team colleagues for making this as simple as possible.




Tuesday, April 3, 2018

#624 SSI released, so how does this differ from Integration in OIC?




















My introductory post on SSI covered the basic features.
You can read it here

The Features list above alludes to the main differences between SSI and OIC.
Let's look at some of them -

Personal Account: In SSI you connect to your SaaS app, say Sales Cloud, using your own credentials. This will allow you to see your customers etc.
In OIC, the Sales Cloud connections credentials are usually those of a generic "integration" user.

In other words, SSI for LOB, ad-hoc integrations, OIC for enterprise level integrations.
There may be a grey area between the 2 products from a technical perspective, but I think this emphasis of SSI on your individual cloud application account speaks volumes.

Trigger and Action: SSI is a typical IFTTT style of app - If this, then that e.g. if someone responds to my SurveyMonkey questionnaire, then put their details into my CRM system.

Prebuilt Recipes: SSI places great emphasis on reuse. It comes with a plethora of pre-built recipes (65) or integrations which LOB folks can make your own and leverage immediately.














OIC comes with pre-builts, available via cloud.oracle.com/marketplace. These are canonical integrations between, for example, SaaS apps. The pre-built for synchronizing sales accounts and contacts between Sales Cloud and Service Cloud, is an example of such. Usually these pre-builts will still require some mapping work, for custom fields etc.
 
SSI can, however, leverage OIC.
For example, I am running an event via EventBrite and I would like all attendees to be processed as potential leads in my CRM app. I already have a PCS pricess running on OIC that approves such registrants. This I can call from SSI -

























SSI can also perform actions on the Integration Component of OIC.


SSI comes with its own set of, what one could term, adapters or connectors-

















Some of these are built by Oracle, others you can build yourself.

Here is a list of the Oracle app connectors -
  • Asana
  • DropBox
  • EventBrite
  • GoogleCalendar
  • GoogleContacts
  • GoogleDrive
  • Google Mail (Gmail)
  • GoogleSheets
  • GoogleTasks
  • Jira Cloud
  • LogMeIn GoToMeeting
  • LogMeIn GoToTraining
  • LogMeIn GoToWebinar
  • MailChimp
  • Microsoft Office 365 Excel
  • Microsoft Office 365 Outlook Calendar
  • Microsoft Office 365 Outlook Contacts
  • Microsoft Office 365 Outlook Mail
  • Microsoft Office 365 Outlook Tasks
  • Microsoft OneDrive
  • Microsoft OneNote
  • Microsoft Sharepoint Online
  • Oracle BI Cloud Service
  • Oracle Content & Experience
  • Oracle Eloqua
  • Oracle Integration Cloud
  • Oracle Process Cloud
  • Oracle Responsys
  • Oracle Sales Cloud
  • Oracle Service Cloud
  • SSI Email
  • SSI Timer
  • Slack
  • SurveyMonkey
  • Twilio


Compare and contrast these with the OIC adapters and you will see the emphasis SSI places on LOB productivity tools.


Custom built are, as the name suggests, built by yourself.
But here we are not talking about complex adapter development.
New adapters or connectors, for apps that have REST APIs, are defined via JSON







































Essentially you specify the REST APIS you want to enable -
here is an example from a Weather app -














Pricing -

ocpu based pricing is currently applied to OIC.
SSI will use job execution pricing e.g. our Marketing Dept. friends pay every time they execute an SSI flow to get their EventBrite registrants into their CRM.



 











Want to try out SSI?
Then just click here
















As we say in Ireland - great stuff!









#623 Oracle Self-Service Integration SSI


Introduction to SSI

















So what is Self-Service Integration - SSI?
SSI is light weight integration service, that works on a simple trigger and action paradigm.
It is targeted at line of business folks - simple to use, yet very effective.

These people use a wide range of cloud apps to accomplish their daily tasks. For example, a marketing specialist may use tools such as Survey Monkey to collect customer responses, he or she may also use Eventbrite to organize, yes, you got it, events. So a simple requirement could be to get those customers who responded to the survey into the company's CRM system.

I.T. could provide such an integration solution, but that takes time etc. So what about enabling the LOB folks to do such integrations themselves?

The fact that most productivity/SaaS apps offer REST APIs make it very easy to integrate with them. SSI uses these under the hood.

So let's start off with a simple example -

In this scenario, I want to integrate EventBrite with my marketing app, Eloqua. The use case is that discussed previously.

So let's look at how SSI helps us -















Recipe is the name used for integrations in SSI.

The product comes with a plethora of Public Recipes, i.e. pre-built integrations.

Let's look at some of them -

























Currently we have over 60 such public recipes.

A Simple Example 



But let's create one ourselves, just to show the power of Oracle SSI.

Let's begin with my event -







Now to creating my recipe -












Recipes consist of Triggers and Actions, i.e.

something happening in App A triggers execution.
The execution includes Actions, such as - do something in App B.







I need to authorise SSI usage of my EventBrite account,
if this is the first time I use it.







That's done, now a simple sanity test -


The Trigger, or event occurring,  is someone registering for my event -
I now specify the event - Attendee Registered -





















Now to specify which Event -































Now to the Actions - what should happen when someone
registers for The Hare of The Dog Book Launch.













I have already authorised my Eloqua account - similar experience as with EventBrite.


















Now to what should happen on the Eloqua side -











The following actions are available -















I select Create Contact -

Now to the input fields for Eloqua -




















Let's see which fields are available to us -



So I map accordingly -























I activate the Recipe -

















I now reserve tickets in EventBrite

























I can run the job now, otherwise SSI polls EventBrite every 15 minutes-












I check the result -


















I check in Eloqua -










There's Jimmy!


So what else is there to SSI?

Controls


Actions in SSI also include Controls -












As you can see, we have For Each Loops and IF condition support.

We can, of course, have more than 1 action in a recipe e.g.
If someone registers for an event via EventBrite then put their details into 
Eloqua and Sales Cloud.

Job Execution

Once an SSI recipe is activated, it polls for work every 15 minutes.
So, in respect of the example I created, SSI would poll EventBrite every 15 minutes for 
new attendees. I can also do ad hoc execution from the menu - Run Now

















Monitoring


Monitoring is via Job History - 














As you can see, I can select by recipe, completion status and time range.

Here I have 2 jobs - one successful the other failed -
















Let's look at the failed job -
























The Eloqua error message - email address is not unique - surfaces in SSI.

Perfectly understandable.