OIC

Introduction

This guide acts as a repository for using Oracle Integration written by Alex MacDonald. You will find relevant resources for administering and using OIC with a wide variety of use cases.

Oracle Integration, OIC, is a fully managed service offered by Oracle, ranked as a leader in application integration by Gartner. OIC offers application integration, typically triggered by an enterprise’s business events, and it can eliminate the pain points caused by point-to-point integrations. We have many successful customers that have digitally transformed their businesses.

OIC substantially differs from Oracle’s ODI, EDQ, and GoldenGate offerings. The latter 3 offer data integration - moving larger quantities of data, typically to a data warehouse, for analysis. Newly released: is Oracle’s Data Integration.

If this is your first time hearing about OIC, check out the OIC Product homepage. OIC can also complement cloud native applications deployed on OCI.

If you do not have an OIC environment, you can start with this tutorial that simulates an environment for you. You can follow these instructions to spin up an instance. Once you have OIC spun up, start with these beginner tutorials or the ‘Beginner Workshops’ later in this repository.

Outline

  1. The latest & greatest!
  2. General Resources
  3. Components of OIC
  4. Basic types of integrations - with workshop examples
    • SaaS triggers
    • Scheduled
    • Generic REST trigger
  5. Treatise: my own views on developing in OIC
    • Mapping
    • SaaS troubleshooting
    • Learning OIC has a business user
  6. Other resources
    • Blogs
    • Certifications & training
  7. Youtube resources
  8. Workshops
    • Beginner
    • Advanced
  9. Advanced use cases
  10. Error Handling
  11. Integration Walk-throughs
    • Oracle apps & SaaS
    • Non-Oracle apps
    • other Oracle Cloud
  12. Administering OIC
  13. Beyond Application Integration

The latest & greatest

Cloning OIC scripts via REST scripts

Embedding VBCS apps in Oracle Applications - the COMPLETE guide/video

Easily using API Gateway with OIC

Configuring Oracle identities across SaaS & PaaS

General resources

The main OIC documentation is your friend.

Do I need the on-premises adapters, what is process automation, how much does it cost? Check out OIC Pricing & editions, it’s based on how many ‘messages’ you consume. But what is a message and how do you count them? Check out this explanation.

Perhaps you want to programatically schedule OIC, or even have OIC integrate with itself? Then check out the OIC REST API documentation here or here, depending on the task. What credentials do I need to connect, how do I configure SaaS outbound messaging, what can an adapter do? If these questions sound familiar, start with the adapter documentation.

The Integration blog is where new features for OIC are announced and very helpful articles. If you see a new feature you want to try - here’s how you can request a feature flag.

From the marketplace you can download pre-made integration recipes from here and customize them to your use case, such as Netsuite to Jira case syncronization or this salesforce & eloqua contact sync. Need to start/stop your instance, scale for more message packs, or export your integrations? Check out how to manage Oracle Integration.

Components of OIC

OIC

……………….. note: Enterprise edition only below ………………..

Not all features are available in generation 1 instances, visit here to learn which generation you are on and how to upgrade (hint: it’s easy & worth your time)

Basic types of integrations - with workshop examples

  1. SaaS triggers
  2. Scheduled
  3. Generic REST trigger

There are more than these, but these have been the typical use case patterns I have seen.

SaaS triggers

SaaS trigger integrations typically rely upon these factors:

Using Eloqua as a trigger first requires installing this agent and linking it to your OIC environment. After installing the agent, you then need to create the rule in Eloqua that triggers the outbound call to OIC by adding a task to a campaign canvas.

This workshop shows how to configure Fusion/Cloud ERP to perform outbound communication with OIC. In it, a product created in Product Data Hub triggers an integration to then add the data to CPQ. It will also get you started with Process Automation. The latter parts of this workshop show more event based integrations and all of the necessary configuration inside ERP to configure for your event integrations.

This video shows you how to start configuring salesforce for business events as integration triggers. This article explains configuring Service Cloud outbound communication to Eloqua.

Scheduled

Schedule integrations are good for sending data from applications to data warehouses, reading information from csv files, or pulling information from applications and writing that data to a csv file.

This workshop is an example of pulling info from an FTP server and writing them to Google’s data warehouse, BigQuery, via its REST API. However, for files larger than that and less than 1 GB - you will need the ‘stage file’ operation in order to read the file - as shown in this YouTube video. Besides reading files, you can write them to an FTP after invoking data (seen in this video), and list files - even from multiple directories.

OIC can process flat files up to 1 GB in size. For larger files than that - check out my data integration repo. What if errors occur in my scheduled integration?

Generic REST endpoint

The next use case pattern is basically using OIC as a ‘drag & drop API builder’. You can use a blank REST adapter at the beginning of your integrations. This can also be used to abstract away SOAP endpoints. These endpoints can also invoked from Postman, SOAP UI, VBCS, your given front end framework of choice, coding language API call, etc.

In this workshop, we basically use OIC to create a REST API for an Autonomous Transaction Processing database. Click here for a video explanation by a colleague & I. It will also show you how to get started using VBCS.

The generic REST trigger can also be used to create SaaS trigger integrations with webhooks. Applications need to be configurable to send payloads to a generic REST endpoint. For example, Agile PLM, an Oracle application lacking its own adapter, can be configured to make an outbound call to a generic API as a result of event updates. To create asynchronous communication, you can choose not to configure the REST adapter to receive a response from your other systems.

The generic REST endpoint can also be the beginning of creating an omni-channel communication device, like Wuphf! It can also be used to receive information from an OCI event.

The first half of this repository does a deep dive on using the generic REST endpoint with Cloud ERP.

Treatise: developing in OIC, my own views

Mapping

I want to explain how to go about developing for an integration, such as is in this lab. How does one know what fields to have in the mapper when you have a generic endpoint going to a SaaS API?

When trying to invoke a SaaS endpoint - perhaps with a generic REST trigger, you may find that you are inundated with hundreds of fields in the mapper you do not know. Typically, beginning by searching the documentation is a good start. Looking at the ‘Defaults:’ we can find the fields required for the lines, schedules, and distributions. If you are calling a SOAP API and simply want to abstract it away as a REST API - simply make the request payload have the same fields that the SOAP API has and then press the recommend button - it should work for the fields if they are about a 1:1 ratio and have identical names.

Then, to understand the data types for the fields - or see how they’re formatted, I’d call the endpoint to give me one or all of the given business object I’m trying to create. In this case, I can look at the get all POs or get 1 PO endpoints. The responses from calling the API directly show me how it expects values to be for the given fields. I can then use this information when sending in field/value pairs in the request payload.

Typically for development purposes, I would start this integration with a generic REST adapter that has ~5 fields that map to important fields for the SaaS. After filling out the important ones like POHeaderID, ItemNumber, etc. I activate the integration, then send a payload. Typically, the response will be a 500 error and the response will then contain the field that still requires an attribute. Next, deactivate the integration, map another field from the REST adapter to the business field and then from Postman you can dynamically try different values for that field. Once you find a working value - you can leave it in the submission to the generic REST adapter, or just hardcode it in the adapter.

If your integration is not appearing in tracking after performing the trigger action in SaaS

If you create a contact in Fusion, or a new lead in salesforce, but the business event isn’t appearing in tracking - you need to verify that you properly configured the SaaS. You should also check if you are logged in as the user on the SaaS that you used to create the connection on OIC.

Learning OIC as a business user

Before working with Oracle Integration, my previous technical experience mainly revolved around data work. When I started working at Oracle and with OIC, I began interacting with APIs more. Learning API development via OIC as my primary medium enabled me to learn how to use APIs faster rather than via minutiae of coding. Any user of OIC will have to read API documentation for the application with which they want to integrate, but if you are a business user that does not want to code - OIC can become your greatest tool for interacting with APIs and automating your business processes.

If you are a business user that is trying out OIC and doesn’t know where to start, proceed to the ‘Beginner Workshops’ section below, and in no time you’ll be accelerating your time to market.

Other Resources

Adapter Matrix

File based integration best practices

File practices, part 2

Blogs

Official Oracle Integration

Ankur Jain’s

Shalindra’s

RedThunder

Niallc’s

PaaS Community

Certification & training

Oracle Integration Certification resources

Oracle training on OIC

Certification Study Guide

k21academy, certification notes

Buy certification exam voucher

Youtube

PaaS for SaaS - Cloud ERP - Connect deep dive

Santa Monica Hub - Application Integration - Youtube channel

This channel will show you VBCS, Process Automation, RPA, and other demos in action! See some videos below

Oracle Learning - Integration videos

Oracle Cloud TechSupper Ankur

OraTrainings

Workshops

The workshops below are excellent for getting started with the various components of OIC, in isolation or together, and they seek to minimize reliance on having pre-existing external systems with which to integrate. Some of these may be outdated and show how to access Gen1 OIC, in those cases start the workshop from where the OIC service console is pictured in that given workshop.

Beginner Workshops

Integration workshop with Process

Getting started with VBCS, with video

Application Integration & Process Automation Introduction

Visual Builder & Process Automation Introduction

Building a REST API in OIC to pass information to a database

Getting started with ERP & OIC

Advanced workshops

Fusion ERP events, FBDI, Extracts

HCM integration patterns

The varieties of Fusion ERP integrations + Apiary + salesforce

Scheduled FTP Integration to BigQuery + Oauth2 authentication

VBCS, Process, REST

Database, REST, advanced Process

Hitting an OIC endpoint with a Python API call

HCM to EBS, with video

ERP events, Process Automation, CPQ, & ATP

HCM and other Oracle SaaS Integrations

Hybrid integration with the agent

Advanced use cases

Embeding VBCS & Process forms

Being able to embed VBCS & Process forms is a powerful feature - imagine a company is doing a Lift and Shift of EBS to Cloud ERP over the course of 6 months. As they move different modules, new business users can interact with forms embedded in Cloud ERP that are actually integrated to call endpoints in EBS. This means that EBS is integrated with ERP - without even being noticed. This effectively places the functionality of the non-migrated parts of EBS inside of Cloud ERP.

Extending SaaS with VBCS

Embedding Process forms

Embedding your VBCS applications - Youtube

Configuring VBCS for embedding

Using Process Automation with VBCS

Using publish/subscribe

Oracle Integration comes with a built in messaging system to enable publisher, topic, subscriber deployment patterns.

Part 1

Part 2

More ways to use OIC

Triggering an OIC integration via OCI Events

Sending attachments with notification emails

Using lookup tables

Getting started with Insight

Invoking OIC endpoints with Oauth & IDCS

Integrating chatbots with VBCS applications

Using a javascript function in OIC

Oracle Integration Solutions Catalog

Using a Service Gateway to route agent traffic soley over OCI

Connecting on-premise to OIC via VPN/FastConnect

Integration Walk-throughs

These articles are very useful for starting use cases with the systems below.

Oracle Apps with OIC

Integration with PeopleSoft, part 1 & Integration with PeopleSoft, part 2

Service Cloud to Eloqua, bulk

Service Cloud to Eloqua, custom objects

Service Cloud to Eloqua, contacts

Netsuite real time integration

Extracting bulk data from Fusion HCM

Using HCM ATOM feeds in OIC

Non-Oracle Apps with OIC

The complete integrating SAP guide

Using the ServiceNow adapter

Sharepoint via REST & flatfile

Robotic Process Automation with the UiPath adapter

Making a connection with the Workday adapter

The DocuSign Adapter

Adobe Sign

Create Orders in SAP B1 and Invoices in Magento/eBay E-commerce: guide, recipe

Create Invoices in NetSuite for Shipped Orders in Shopify: guide, recipe

More Oracle with OIC

SOA with OIC

Oauth2 token with the REST adapter

Using VBCS with Fusion

Invoking the REST API for IDCS

Calling a serverless function with the REST adapter

Object Storage with OIC

An event that occurs in OCI could also be fired to an integration REST endpoint.

Administering OIC

The comprhensive guide on promoting your code from dev, test, prod and other other OIC environments to each other

Click here to learn about managing OIC from the OCI console, rather than platform services, and click here to learn about using the new API for OIC. The API documentation can be used create new instances, change the compartment where OIC is located in OIC, and more.

The NEW import/export feature

Administration documentation homepage

Enable SSO for OIC using IDCS and Federate with Third party IDP for Authentication

Those using previous SOA licences are eligible for BYOL metering, do you qualify? How to turn it on/off

Sending notifications with a custom email

To control and monitor costs, you can create budgets and budget alerts in OCI and use the start/stop API, which I demonstrate in this repo.

CI/CD for OIC is an improvement to just using the import/export feature, shown in this video and this article.

IDCS roles for OIC

IAM roles for OIC

How to recover unsaved changes in OIC

Error Handling in OIC

Error Handling Guide

Error management

Real examples of error with & without error handling

Beyond application integration

Managing your integration endpoints with API Gateway

Getting started with APIPCS + Apiary

Managing your endpoints with APIPCS, seen in action here

Other Fusion integration methods

Build an APEX app in 30 minutes

More from Oracle’s Cloud Solution Hubs

Hybrid & Multi cloud integration

Data Integration