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.
- Last updated February, 2021. My (OIC) watch has ended.
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
- The latest & greatest!
- General Resources
- Components of OIC
- Basic types of integrations - with workshop examples
- SaaS triggers
- Scheduled
- Generic REST trigger
- Treatise: my own views on developing in OIC
- Mapping
- SaaS troubleshooting
- Learning OIC has a business user
- Other resources
- Blogs
- Certifications & training
- Youtube resources
- Workshops
- Beginner
- Advanced
- Advanced use cases
- Error Handling
- Integration Walk-throughs
- Oracle apps & SaaS
- Non-Oracle apps
- other Oracle Cloud
- Administering OIC
- 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.
- SaaS customers may be interested in the Oracle Integration for Oracle SaaS edition, depending on their requirements.
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
- 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
- SaaS triggers
- Scheduled
- 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
- 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.
Blogs
Certification & training
Oracle Integration Certification resources
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
-
Best video for installing an agent
—> The agent is required to integrate with systems not accessible from the internet. Agent does not listen on any ports and communicates outbound on port 443. The network must allow egress to OIC instance port 443.The agent ensures your on-premises systems can live in harmony with the cloud. If you are having issues, check this page for solutions; ex: when configuring - do not use an IDCS federated account!
Oracle Learning - Integration videos
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.
- 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.
- This workshop builds upon the previous, adding VBCS & APIPCS to the previous work in the first beginner workshop.
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.
- This blog is the first in a series about doing this. The other parts are at the bottom ‘click here to proceed.’
- 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.
More ways to use OIC
Triggering an OIC integration via OCI Events
- Visit this repo to get started with events
Sending attachments with notification emails
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
- You can also give chatbots custom skills to call APIs from conversations - this could include the OIC API.
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, custom objects
Service Cloud to Eloqua, contacts
Netsuite real time integration
Extracting bulk data from Fusion HCM
Non-Oracle Apps with OIC
The complete integrating SAP guide
Sharepoint via REST & flatfile
Robotic Process Automation with the UiPath adapter
Making a connection with the Workday adapter
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
Oauth2 token with the REST adapter
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
- 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
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.
- 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.
- Most recent article, OIC CI/CD with Jenkins
How to recover unsaved changes in OIC
Error Handling in OIC
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