Skip to content

GaryHostt/Oracle_Integration

Repository files navigation

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.

  • For Fusion application users seeking to move large quantities of data, click here to see how to use BICC, Object Storage, Oracle Data Integrator, and Autonomous Database in conjunction.

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
  1. Treatise: my own views on developing in OIC
  • Mapping
  • SaaS troubleshooting
  • Learning OIC has a business user
  1. Other resources
  • Blogs
  • Certifications & training
  1. Youtube resources
  2. Workshops
  • Beginner
  • Advanced
  1. Advanced use cases
  2. Error Handling
  3. Integration Walk-throughs
  • Oracle apps & SaaS
  • Non-Oracle apps
  • other Oracle Cloud
  1. Administering OIC
  2. 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

  • This follow up shows how to use API Gateway with WAF, but you can also configure WAF 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

  • Application integration
  • VBCS, Visual Builder Cloud Service
  • The agent
  • File Server

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

  • Process Automation
    • 'My Tasks' for run-time & administration
    • 'Processes' for design-time
  • On-premises Enterprise Application adapters
    • EBS, JDE, SAP, Siebel, and more
  • Insight
  • B2B

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:

  • Use of one of the SaaS adapters in trigger or trigger & invoke mode
  • Configuration on the SaaS to fire off an outbound message or a webhook to OIC
  • An event then occuring in the SaaS application that will trigger communication with OIC

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

  • This is where I go to examine if a given SaaS/application version is compatible with the given adapter.

File based integration best practices

  • Should I use the file or FTP adapter? How big can my flat file be? How should I interact with FBDI/UCM, and other questions can be answered here.

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

  • Here, labs 100 & 300 contains great starters for basic Application Integration while seeing a variety of its toolset such as switch statements, javascript labraries, and more. Lab 400 has a great introduction for Process Automation that builds on the previous work. The next two workshops below expand on the use case while showing VBCS and integration with other systems.

Getting started with VBCS, with video

  • This workshop is for solely getting started with VBCS, you'll create a functioning app with multiple pages that displays information about countries.

Application Integration & Process Automation Introduction

Visual Builder & Process Automation Introduction

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

  • This workshop is discussed in the 'Generic REST endpoint' section and in this Youtube video.

Getting started with ERP & OIC

  • This repo consolidates everything from this page & other sources on using OIC with Oracle ERP. You can consider it to be a companion guide to this repo.

Advanced workshops

Fusion ERP events, FBDI, Extracts

  • This workshop contains the common ERP Cloud integration patterns with the OIC adapter. The OIC adapter is capable of interacting with Fusion via: FBDI, extracts, and events.

HCM integration patterns

  • You will learn the common HCM Cloud integration patterns by importing new works & syncing a directory.

The varieties of Fusion ERP integrations + Apiary + salesforce

  • The above workshop shows you the various ways to use the Cloud ERP adapter, how Apiary can substitute for a 3rd party API, and my write up "Background on the Fusion REST API" - useful for understanding how to start creating Fusion Integrations. It shows invoke Fusion's REST API, how to use the ERP adapter for querying data and using FBDI, how a business event could fire to an Apiary endpoint. The salesforce adapter's querying capabilities are also exhibited.

Scheduled FTP Integration to BigQuery + Oauth2 authentication

  • This workshop shows how to use the Oauth2 policy with the OIC REST adapter, the basics of scheduled integrations with the FTP adapter, and how to integrate with GCP's BigQuery.

VBCS, Process, REST

Database, REST, advanced Process

  • Here you continue the previous use cases you've learned in process, but now with more complex business logic, and more personas. It also shows you how to connect with an Oracle Autonomous Transaction Processing, ATP, database.

Hitting an OIC endpoint with a Python API call

  • In this followup, my python script only needs to worry about the basic auth to the OIC API. OIC is taking care of Oauth2 with BigQuery.

HCM to EBS, with video

  • This lab shows how to use OIC to capture new employees created in HCM and then create them in EBS.

ERP events, Process Automation, CPQ, & ATP

  • This workshop will get you started with ERP events, and building a Process Automation application.

HCM and other Oracle SaaS Integrations

  • Here, you will use HCM ATOM feeds and make connections with other SaaS adapters.

Hybrid integration with the agent

  • The agent enables communication with systems not visible through the internet, via port 22. This lab shows how to use the Oracle Database adapter, and should done only after watching this short video. Note: the UI in this workshop is dated.

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

  • This blog is the first in a series about doing this. The other parts are at the bottom ‘click here to proceed.’

Embedding Process forms

  • This describes embedding process forms elsewhere.

Embedding your VBCS applications - Youtube

  • This video shows how to embed your VBCS applications elsewhere.

Configuring VBCS for embedding

  • Steps 1 - 10 of this show how to enable embedding on VBCS

Using Process Automation with VBCS

  • This video shows how to integrate processes in 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

  • This is an alternative to the basic auth policy that is normally used by a non-federated IDCS user that calls your integration endpoints, this blog post provides further details.

Integrating chatbots with VBCS applications

Using a javascript function in OIC

  • Have to deal with an oddly formatted flat file or API response, or need to generate a random number? Use a javascript function!

Oracle Integration Solutions Catalog

  • This provides pre-defined cross-product architectures.

Using a Service Gateway to route agent traffic soley over OCI

  • If you need to use the OIC agent in your OCI VCN, the Service Gateway ensures communication isn't routed over the internet.

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

  • Example: When a new user is created somewhere - they can then be created in IDCS.

Calling a serverless function with the REST adapter

Object Storage with OIC

  • In order to call the OCI REST API, like above, - you have to configure the REST adapter connection to use the OCI Signature Version 1 security policy. This policy enables you to use Oracle Cloud Infrastructure services. For example, you can create an integration that lists your VCNs.

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

  • Use object storage to migrate integrations between different environments

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