On This Page
1Overview2Platform Architecture
3Integration Patterns in OIC4Oracle Application Adapters
5Implementation Guide6Monitoring and Observability
7When to Use OIC8Anti-Patterns to Avoid
9References

Overview

OIC eliminates the infrastructure management of traditional middleware. Oracle manages the underlying compute, patching, scaling, and high availability. Customers design integrations through a browser-based console, deploy with a single click, and monitor through a unified dashboard. The platform handles Oracle-to-Oracle integration natively — flows between Oracle ERP Cloud and Oracle HCM Cloud use adapters that understand the Oracle Application Framework, business events, and object structures without any custom mapping of internal APIs.

OIC 3 (the current generation) adds significant capabilities over OIC 2: improved performance, a richer process automation engine, better support for event-driven integrations, and tighter integration with Oracle Autonomous Database and Oracle Streaming Service.

Platform Architecture

%%{init:{'theme':'base','themeVariables':{'fontSize':'14px','fontFamily':'Inter, system-ui, sans-serif','primaryColor':'#DBEAFE','primaryTextColor':'#1e3a5f','primaryBorderColor':'#2563EB','lineColor':'#374151','clusterBkg':'#F9FAFB','clusterBorder':'#D1D5DB','edgeLabelBackground':'#FFFFFF'},'flowchart':{'curve':'orthogonal','padding':30,'nodeSpacing':65,'rankSpacing':75,'useMaxWidth':true}}}%% flowchart TD START([Integration or Process Requirement]) START --> TYPE{Requirement Type} TYPE -->|System-to-system data flow| INT[OIC Integrations\nOrchestration or App-driven\nVisual flow builder] TYPE -->|Human approval workflow| PROC_OIC[OIC Process Automation\nHuman tasks and approvals\nForms and notifications] TYPE -->|File-based batch transfer| FILE_OIC[File Server and FTP Adapters\nScheduled file polling\nSFTP and AS2 support] TYPE -->|Event-driven trigger| EVENT_OIC[Oracle Streaming Service\nEvent trigger source\nReal-time integration] INT --> ADAPT{Adapter Selection} ADAPT -->|Oracle applications| ORA_A[Oracle Adapters\nERP Cloud, HCM, EBS\nSalesforce, ServiceNow] ADAPT -->|REST or SOAP| TECH_A[Technology Adapters\nREST, SOAP, GraphQL\nDatabase, Email, FTP] ORA_A & TECH_A --> MAPPER[Visual Mapper\nDrag-and-drop field mapping\nBuilt-in functions and XPath] MAPPER --> DEPLOY_OIC[Deploy to OIC\nOne-click activation\nVersion management] DEPLOY_OIC --> MONITOR_OIC[Monitoring Console\nInstance tracking\nError resubmission] PROC_OIC --> MONITOR_OIC MONITOR_OIC --> DONE_OIC([Integration Running]) style START fill:#4f8ef7,color:#fff style DONE_OIC fill:#10b981,color:#fff style ORA_A fill:#e0f2fe style MAPPER fill:#e0f2fe

Integration Patterns in OIC

Orchestration Integration

The primary pattern. A trigger (HTTP request, scheduler, adapter event, or file arrival) starts the flow. The flow calls one or more application adapters in sequence, transforms data using the visual mapper, applies conditional logic with Switch and For Each processors, handles errors with fault handlers, and returns a response or publishes a result.

This is the pattern for most Oracle-to-Salesforce, Oracle-to-ServiceNow, and Oracle-to-custom-API flows. The orchestration pattern supports up to 40 actions in a single flow — for more complex flows, OIC recommends decomposing into multiple integrations connected via the OIC REST API.

App-Driven Orchestration vs Scheduled Integration

App-driven orchestration triggers when a source application publishes an event — a new Oracle ERP Cloud purchase order, a Salesforce opportunity closure, a ServiceNow incident update. The adapter subscribes to the application's event mechanism. For Oracle ERP Cloud, this is Business Events. For Salesforce, this is Platform Events or Change Data Capture.

Scheduled integration runs on a timer — every hour, every day at 02:00, every Monday at 06:00. Used for batch synchronisation, report generation, and file-based data exchange. OIC's scheduler supports cron expressions.

Process Automation

OIC Process Automation (formerly Oracle Integration Process Cloud) models human workflows as BPMN 2.0 processes. A purchase order approval flow — submit, route to manager, route to finance if above threshold, notify on decision — is built visually without code. Forms for human task completion are designed in the same interface. Notifications via email or Oracle Fusion notification are configured declaratively.

Process Automation integrates with the Integration layer — a process step can trigger an integration to synchronise the approved PO to a downstream system, and the integration can publish a completion event back to the process.

Oracle Application Adapters

OIC's differentiating capability is the depth of its Oracle application adapters. These adapters understand the Oracle Application Framework, not just REST APIs.

Oracle ERP Cloud Adapter supports Business Events (real-time triggers for ERP transactions), FBDI file import (bulk data loading), REST service invocation (Oracle's published APIs), and BIP report scheduling (Oracle BI Publisher). The adapter handles ERP Cloud's OAuth 2.0 token management, certificate pinning, and session management.

Oracle HCM Cloud Adapter supports HCM Data Loader (bulk workforce data), REST APIs for employee, position, and absence management, and HCM Events for real-time triggers on workforce changes.

Oracle EBS Adapter supports Oracle Business Events, Database Adapter queries against EBS tables, Oracle E-Business Suite Integrated SOA Gateway for SOAP services, and concurrent program submission. EBS integration through OIC avoids direct database access, which Oracle support guidelines prohibit.

Oracle Fusion Middleware Adapter connects to on-premise Oracle SOA Suite and OSB instances, enabling hybrid integration between OCI-hosted OIC and on-premise Oracle middleware.

Implementation Guide

Connection Configuration

Every OIC integration starts with connections — reusable credential configurations for each application. A single Salesforce connection is shared across every integration that calls Salesforce. Connections store credentials in OIC's credential vault and support OAuth 2.0, Basic Authentication, certificates, and API key patterns.

Establish connection naming conventions early: SALESFORCE_PROD, ORA_ERP_CLOUD_UAT, SERVICENOW_DEV. Environment-specific connections enable promotion of integrations from development to production without modifying the integration itself.

Visual Mapper

OIC's visual mapper handles field-level data transformation between source and target data structures. Drag a source field to a target field to create a mapping. Use the expression builder for computed mappings — string concatenation, date format conversion, conditional value assignment, lookups. The mapper generates XPath under the hood; experienced developers can edit XPath directly when the visual builder does not expose the needed expression.

For complex transformations — iterating arrays, grouping records, nested conditional logic — OIC supports JavaScript functions in the mapper. Use these sparingly. Heavy JavaScript in the mapper is harder to maintain than a clean orchestration flow with explicit steps.

Error Handling and Resubmission

OIC's monitoring console tracks every integration instance — the full request and response payload, each step's execution time, and the exact fault that caused a failure. Failed instances can be resubmitted directly from the console without redeploying the integration. This is operationally significant: support teams can resolve transient failures — temporary network issues, downstream system unavailability — without engaging the development team.

Configure business fault handlers and technical fault handlers explicitly. Business faults are expected domain errors — a customer not found, an order already closed. Technical faults are unexpected system errors — a connection timeout, a schema validation failure. Route them differently: business faults return structured error responses, technical faults route to an incident queue and trigger an alert.

Monitoring and Observability

OIC's monitoring dashboard provides instance-level tracking out of the box. Every integration activation is traceable from trigger to completion with full payload visibility (configurable for sensitive data). The Activity Stream shows each adapter call with duration. Failed instances show the exact fault location.

For enterprise-scale monitoring, OIC integrates with Oracle Management Cloud and can publish metrics to Oracle Autonomous Database for custom reporting with APEX dashboards.

When to Use OIC

  • Client environments with Oracle ERP Cloud, HCM Cloud, or EBS as a primary system
  • Organisations where the majority of integration volume is Oracle-to-Oracle or Oracle-to-Salesforce
  • Projects requiring Oracle Application-native event subscription (Business Events from ERP Cloud)
  • Clients on Oracle Cloud Infrastructure with a preference for Oracle-native services

Anti-Patterns to Avoid

⚠ 1. Direct Database Access to EBS Tables

Integration flows that query EBS base tables directly through the Database Adapter, bypassing the Oracle application layer. This approach is fast to build but violates Oracle's support guidelines. Database schema changes in EBS patches break the integration silently.

Hover to see the fix ↻
↺ Correct Approach

Access EBS data through Oracle Business Events, Integrated SOA Gateway services, or the OIC EBS Adapter's supported interfaces. These are stable contracts that Oracle maintains across upgrades.

⚠ 2. Hardcoded Connection Credentials in Integration Flows

Storing usernames and passwords as literal values in integration steps rather than using named connections. Credential rotation requires modifying and redeploying every affected integration.

Hover to see the fix ↻
↺ Correct Approach

Every application credential is stored as a named OIC connection in the credential vault. Credential rotation is a connection update — integrations that use the connection are not modified.

⚠ 3. No Business Identifier in Instance Tracking

Activating integrations without configuring a business identifier — the order number, customer ID, or transaction reference — in the instance tracking settings. The monitoring console shows thousands of unnamed instances with no way to find a specific transaction.

Hover to see the fix ↻
↺ Correct Approach

Configure a business identifier in the integration's tracking settings using a source payload field. Every instance in the monitoring console is identifiable by business context.

Flowchart

%%{init:{'theme':'base','themeVariables':{'fontSize':'14px','fontFamily':'Inter, system-ui, sans-serif','primaryColor':'#DBEAFE','primaryTextColor':'#1e3a5f','primaryBorderColor':'#2563EB','lineColor':'#374151','clusterBkg':'#F9FAFB','clusterBorder':'#D1D5DB','edgeLabelBackground':'#FFFFFF'},'flowchart':{'curve':'orthogonal','padding':30,'nodeSpacing':65,'rankSpacing':75,'useMaxWidth':true}}}%% flowchart TD START([Integration Event Occurs]) START --> TRIGGER{Trigger Source} TRIGGER -->|ERP Cloud Business Event| ERP_T[Oracle ERP Cloud Adapter\nBusiness Event subscription\nPO created, Invoice approved] TRIGGER -->|HTTP request| HTTP_T[REST Trigger\nExposed OIC endpoint\nOAuth 2.0 protected] TRIGGER -->|Schedule| SCHED_T[OIC Scheduler\nCron or interval\nBatch synchronisation] TRIGGER -->|Human task required| PROC_T[Process Automation\nBPMN 2.0 workflow\nForms and approvals] ERP_T & HTTP_T & SCHED_T --> FLOW_OIC[Integration Flow\nVisual mapper for transformation\nSwitch for conditional routing] FLOW_OIC --> CALL{Target System} CALL -->|Oracle application| ORA_CALL[Oracle Adapter\nERP Cloud, HCM, EBS\nNative protocol support] CALL -->|Third-party SaaS| SAAS_CALL[SaaS Adapter\nSalesforce, ServiceNow\nField-level mapping] CALL -->|REST or database| TECH_CALL[Technology Adapter\nREST, SOAP, Database\nSQL or HTTP call] ORA_CALL & SAAS_CALL & TECH_CALL --> ERROR_OIC{Error\noccurred?} ERROR_OIC -->|Technical fault| ALERT_OIC[Alert and resubmit queue\nMonitoring console instance\nSupport team notification] ERROR_OIC -->|Business fault| BIZ_FAULT[Structured error response\nBusiness identifier logged\nCaller notified] ERROR_OIC -->|Success| DONE_OIC([Integration Complete\nInstance tracked in console]) PROC_T --> HUMAN[Human Task Form\nApprover notified\nDecision recorded] HUMAN --> FLOW_OIC style START fill:#4f8ef7,color:#fff style DONE_OIC fill:#10b981,color:#fff style ALERT_OIC fill:#fef3c7 style BIZ_FAULT fill:#fef3c7 style ORA_CALL fill:#e0f2fe

References

  1. Oracle — OIC 3 Documentation. docs.oracle.com/en-us/iaas/application-integration
  2. Oracle — OIC Adapters Documentation. docs.oracle.com/en-us/iaas/application-integration/doc/adapters
  3. Oracle — ERP Cloud Integration Best Practices. docs.oracle.com/en/cloud/saas/financials
  4. Oracle Learning — OIC Certified Implementation Specialist. education.oracle.com
Ascendion Engineering Knowledge Base ← Integration Architecture