Building Enterprise integrations in the Cloud with iPaaS brings many benefits, including among others: simplicity, agility and scalability. However, these benefits should not be taxed by having a weak core, not able to properly manage common enterprise requirements, such as error management. I’ve been a bit disappointed with how most iPaaS vendors handle runtime exceptions of integration flows. A typical example of this, is not being able to support dehydration for asynchronous flows (i.e. dehydration is crucial to supporting long-running instances by saving their memory state into a database, until a correlation invocation, a.k.a call-back, wakes it up to continue with the flow). This causes that when an error occurs, recovery has to start from the beginning of the integration flow that failed.
In these situations, we would have to either design an integration to be fully idempotent and stateless across all its partner links (service invocations), which is not always possible. Another way to do it is by manually handling the recovery of errored scenarios, this is to avoid state inconsistency across the previous service invocations in the orchestration, prior to the error… But then if we have to manually handle compensation, what about iPaaS being easier?
Luckily, Oracle Integration Cloud maintains simplicity at the front end and a mature and strong integration core at the backend. It acknowledges when an orchestration is asynchronous, so that dehydration points (a.k.a. break points) are enforced along the way across service invocations or long-term actions (e.g. waits), enabling with this long-term running instances avoiding to timeout, but to stay in memory (and DB back store) until all activities and external call-backs in the orchestration flow complete.
In this blog, I am going to show you how to recover errored instanced with Oracle Integration Cloud. For this, I am going to build a flow that demonstrates how errored instances recovery occurs from the latest dehydration point, allowing you to simplify complex orchestrations without having to compensate manually.
Continue reading “Teaching How to Recover Errored Instances with Oracle Integration Cloud”
In this blog, I want to share my experience after having created many APIs using different approaches and technologies. I am going to encapsulate a simple process that will help you construct APIs, starting from scratch with an idea or requirement and move it all along to a happy consumption.
The best part of APIs is that they are microservices enablers, which implies that they are not technology prescriptive, so in this blog you will see that your APIs can be implemented using any technology or programming language.
I decided to use “Jokes” as the vehicle to explain the APIs construction best practices, mainly because jokes are a simple concept that anyone can relate to, but also because I want you to feel compelled to consume these APIs and by doing so, get a laugh or two.
My original idea with jokes is to:
- Get a random joke.
- Translate the joke to any language.
- Share the original or the translated joke with a friend via SMS.
This is the high-level view of how our end solution will look like:
Continue reading “Teaching best practices to Design, Build, Secure and Monitor APIs”
In this blog, we will use Oracle Managed File Transfer (MFT) and Integration Cloud Service (ICS) to automate batch uploads into Oracle ERP Cloud. We will perform this upload with invoices, a typical use-case for organisations that work with numerous vendors and would like their vendors to bulk invoice them through say an SFTP file drop.
Steps are as follows:
- Drop the file into an SFTP folder that is managed by MFT
- MFT picks it up and uploads it into ERP Cloud’s WebCenter Content file repository
- MFT calls ICS to trigger a multi-step orchestration to load ERP Cloud
- Using the ICS ERP Cloud adapter, the ICS orchestration first loads the file into staging tables and import the invoice into final tables
Folks who have read my previous blog, Using MFT Cloud Service to Automate HCM Batch Uploads – Part 1 will notice how similar this is to HCM Data Loading, except that we use ICS to orchestrate a few post-load steps.
That is because HCM and ERP Cloud (also SCM and SalesCloud) are all Oracle Fusion Applications, modules built on the same platform. Some of you may even be on “Global Shared Instances”, essentially running both your HCM and ERP SaaSes in the same instance.
Continue reading “Automate ERP Cloud Batch Uploads using Oracle MFT and Integration Cloud Service”
In this blog, I am going to show you how to integrate Salesforce and Sales Cloud with Oracle Integration Cloud Service (ICS). I am going to cover in detail how to configure ICS to subscribe for events to Salesforce and synchronise both SaaS applications without having to poll any of the endpoints. Salesforce is going to notify ICS when a specific event occurs, such as when Contacts who belong to a specific Account are added or edited.
This blog is a sequel of a previous blog, where I explain how to integrate Sales Cloud using ICS. If you haven’t reviewed it yet, I invite you to do so. Here is the link
Since this guide extends the Sales Cloud integration blog, I assume that you have created a simple CRUD set of REST APIs that interact with Sales Cloud Contacts. We will simply reuse these REST APIs to integrate into Sales Cloud. However, instead of the REST enabled API to CRUD Contacts into Sales Cloud, we could have decided to use an ICS “Invoke-based” Sales Cloud connector and achieve the same.
Continue reading “Teaching how to integrate Salesforce and Sales Cloud with Oracle Integration Cloud Service”
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.
- DevOps person pushes a change in an ICS Integration into the corporate Git repository,
- A build task is triggered based on a Git code change being detected. Hudson will automatically trigger a build task,
- Hudson will build and package the ICS Integration and archive the result as a release for future deployment,
- A deployment task is triggered to deploy the ICS Integration into a configurable target ICS environment.
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”
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”
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”