Teaching how to use Developer Cloud Service to promote ICS Integrations into new Environments

Why not to have the best of the two worlds? That is, a simple web UI that allows you to easily integrate your SaaS and On-Premise applications, as well as a mature DevOps tooling, that allows you to store your integrations in a corporate version control repository and fully automate your deployments, continuous integration and continuous delivery of your integration projects.

Well, in this blog I am going to show you how simple it is to use Developer Cloud Service to manage your ICS Integrations in a DevOps fashion.

That is:

  1. DevOps person pushes a change in an ICS Integration into the corporate Git repository,
  2. A build task is triggered based on a Git code change being detected. Hudson will automatically trigger a build task,
  3. Hudson will build and package the ICS Integration and archive the result as a release for future deployment,
  4. A deployment task is triggered to deploy the ICS Integration into a configurable target ICS environment.
  5. Optionally, we could run tests and report status, to ensure the new code release is functional as expected.

Continue reading “Teaching how to use Developer Cloud Service to promote ICS Integrations into new Environments”

Teaching how to integrate Sales Cloud with Integration Cloud Service

In this blog, I am going to show how simple it is to use ICS (Integration Cloud Service) to integrate to Oracle Sales Cloud easily and quickly. The steps that I am going to show are tailored for Sales Cloud, but in reality, they are almost the same steps to integrate virtually any Application whether it is on premise or in the cloud.

Using ICS Sales Cloud connector, allows you to fully introspect into all Business objects, custom objects and Services while building an Integration, so you can literally choose depending on your needs the object to interact with, either to Create, Read, Update or Remove; specific queries, services, etc. In this case I am mainly going to work with the “Contact” Business object that belongs to a particular “Account”.

This is the use case that I am going to develop:

  • REST API to create (POST) new a new “Contact” for an existing “Account” in Sales Cloud
  • REST API to retrieve (GET) all “Contacts” from an existing “Account” in Sales Cloud
  • REST API to retrieve (GET) a specific “Contact” from an existing “Account”, given a unique identifier in Sales Cloud

Continue reading “Teaching how to integrate Sales Cloud with Integration Cloud Service”

ICS to API Platform

I’ve been using the API Platform and Integration Cloud Service (ICS) for some time now.  Independently, they are powerful products but together they are even better.

Initially, most ICS use cases were SaaS to SaaS or an extension to an existing SaaS.  But more and more I’m seeing people use ICS in place of a standard service bus to do basic validation, enrichment, transformation and routing.

But how do you expose these ICS services using standard API methods?  Well, it isn’t too difficult to go into API Platform and define an API to point to the ICS service, but this could be quite tedious.

Luckily, all the Oracle products have an “API first” strategy, so it wasn’t too difficult to setup an ICS flow to automatically publish new services into the API Platform.

Continue reading “ICS to API Platform”

Teaching how to use the Integration Cloud Service Connectivity Agent

I have been Integrating applications for the last 15+ years and normally every integration is a new challenge. It really doesn’t matter what technology or standards you use or have used in the past, the reality is that integrations come a new set of challenges. In the past few years the pre-built adapters have simplified in a way these challenges, but with hybrid architectures a new set of challenges comes to the picture, for example; connectivity, security, simplicity, message reliability, etc.

I was very excited when I learned the way Oracle Cloud is using to solve this problem. It is with something called Oracle ICS (Integration Cloud Service) Connectivity Agents, that basically get installed close to the Application being integrated, for example on-premise or in IaaS. Then using ICS in a browser, you can introspect into the backend application as if it was close to ICS, in fact with this solution ICS is completely oblivious of the location of the actual backend application. The Connectivity Agent will in this case connect internally with the back-end applications and communicate to ICS by pushing out messages via Messaging Cloud Service.

Continue reading “Teaching how to use the Integration Cloud Service Connectivity Agent”

First play with the Oracle Integration Cloud Service (ICS) Scheduler

As of Dec 2016 aka Release 16.4.5, the ICS Scheduler has finally arrived!

You cannot imagine how excited I am! As a regular integrator of SaaS systems, I’ve started noticing a trend where most SaaS softwares offer comprehensive REST/SOAP APIs, but wait… with a catch, they’re all passive. Meaning you can call them to get/put data, but you can’t trigger an activity from them when certain data has changed. Some of my peers have even commented that we’ve gone backwards in time before SOA where everything is batch processed.

Rant aside. To automate integration between 2 “passive” APIs, you will need some form of trigger, preferably a scheduler. ICS has had a scheduler function for File/FTP connectors for a while now. This new function applies on Orchestrations, which means you can pretty much schedule and integrate any connector.

Today I’m going to showcase creating a scheduler that will send SMSes to me every 10min. The SMS gateway is implemented using REST. You can practice this with any connection you can view the response with (Email/Database).

Configuration in ICS

Create a new Orchestration integration.

Continue reading “First play with the Oracle Integration Cloud Service (ICS) Scheduler”

Custom 2-legged OAuth with Oracle Integration Cloud Service (ICS)

Oracle ICS provides OAuth authentication for REST APIs using a curl-like syntax. Given the many implementations of OAuth are not exactly to spec, syntax pitfalls sometimes occur. ICS provides the flexibility configure using regex the values needed to pull out the tokens from the JSON payload.

This flexibility allows us to integrate with the gamut of OAuth-compliant REST APIs in the consumer apps market.

Today, we’re going to use TrackVia (https://developer.trackvia.com/livedocs)

TrackVia is pitched to LOB users as a low-code alternative to spreadsheets, legacy databases and complicated enterprise systems to track, manage and automate critical business processes or operational workflows with greater efficiency, speed and ease.

Continue reading “Custom 2-legged OAuth with Oracle Integration Cloud Service (ICS)”

Teaching how to run ICS APIs from a DevOps perspective

In this blog I am going to show you how to interact with ICS system APIs, in order to simplify the deployment of ICS Integrations being stored and retrieved out of version control repositories (e.g. Git). This can be applied as a Continuous Integration or Continuous Delivery task, removing with this, manual interventions to export, import, configure connectors, activate integrations, run tests, etc.

I am going to be running these APIs via CURL commands and JSON objects, so that these commands can be easily ported into shell scripts, perhaps part of a CI/CD step using Hudson or Jenkins, for example.

Continue reading “Teaching how to run ICS APIs from a DevOps perspective”