Invoke Integration in OIC

Share

  • Introduction

    In modern enterprise architectures, integrations rarely operate in isolation. Most organizations build multiple integrations to connect systems such as Oracle Fusion Applications, third-party SaaS platforms, on-premise databases, and external APIs. A common requirement in these environments is the ability to invoke integration from another in OIC to promote modular design, reusability, and maintainability.

    In Oracle Integration Cloud (OIC) Gen 3, invoking one integration from another allows developers to break complex business processes into smaller reusable components. Instead of building one large monolithic integration, architects create multiple integrations that perform specific functions and call them when needed.

    For example, an integration that creates a supplier in Oracle Fusion Procurement might need to validate supplier data, create supplier contacts, and generate onboarding notifications. Each of these processes can exist as independent integrations and be invoked when required.

    This article explains the concept of invoking integrations in OIC, architecture patterns, implementation steps, testing approaches, and practical tips used by Oracle consultants during real implementations.


    What Does “Invoke Integration from Another in OIC” Mean?

    In Oracle Integration Cloud, invoking an integration from another integration means calling an already deployed integration as a service endpoint.

    This allows one integration to act as a service provider and another integration to act as a service consumer.

    The invocation can be implemented using:

    Invocation TypeDescription
    REST-based invocationMost common approach using REST adapter
    SOAP-based invocationUsed when WSDL-based integration endpoints exist
    Local integration invocationCalling integrations within the same OIC instance
    External integration invocationCalling integrations hosted in another OIC instance

    In OIC Gen 3, integrations expose REST endpoints automatically when created as App Driven Orchestration integrations.


    Real-World Integration Use Cases

    Oracle consultants frequently use the invoke integration pattern in enterprise implementations.

    1. Reusable Validation Integration

    A company integrates employee onboarding from a third-party HR platform to Oracle Fusion HCM.

    Instead of validating data inside every integration:

    • Create a Validation Integration

    • Invoke it whenever employee data needs validation

    Benefit

    Centralized validation logic.


    2. Shared Notification Service

    Many integrations require sending notifications through email or messaging services.

    A reusable Notification Integration can:

    • Send email alerts

    • Trigger Slack messages

    • Send approval notifications

    Other integrations simply call the notification integration.


    3. Complex Order Processing Architecture

    In an Oracle Fusion SCM implementation:

    Integration Flow:

     
    Order Integration
    |
    |—-> Inventory Check Integration
    |
    |—-> Pricing Integration
    |
    |—-> Shipment Integration
     

    Breaking large processes into multiple integrations improves:

    • scalability

    • debugging

    • maintainability


    Architecture / Technical Flow

    When invoking an integration in OIC Gen 3, the architecture usually follows this pattern.

     
    Client System
    |
    | REST Call
    |
    Main Integration (Orchestrator)
    |
    | Invoke Adapter
    |
    Child Integration
    |
    | Process Logic
    |
    Return Response
     

    Components Involved

    ComponentPurpose
    Caller IntegrationMain integration initiating the request
    Callee IntegrationIntegration being invoked
    REST Adapter / SOAP AdapterUsed to invoke integration
    OIC Endpoint URLGenerated automatically after activation

    The invoked integration behaves like a microservice inside OIC.


    Prerequisites

    Before implementing invocation between integrations, ensure the following:

    1. OIC Gen 3 Environment

    Integration instance should be active and accessible.

    2. Deployed Integration

    The target integration must be:

    • Activated

    • Exposed via REST or SOAP trigger

    3. Endpoint URL

    Once activated, the integration exposes:

     
    https://oic-instance.integration.ocp.oraclecloud.com/ic/api/integration/v1/flows/rest/{integration_name}/{version}
     

    4. Authentication Setup

    Common authentication methods:

    • OAuth

    • Basic authentication

    • OCI API key authentication

    5. Required Roles

    User must have access to:

    • Service Developer Role

    • Integration Specialist Role


    Step-by-Step Build Process

    Let us walk through a practical implementation scenario.

    Scenario

    A Main Integration creates employee records.

    Before creating employees, it invokes another integration:

    Employee Validation Integration


    Step 1 – Create the Child Integration

    First create the integration that will be invoked.

    Navigate to

     
    OIC Console
    → Integrations
    → Create
    → App Driven Orchestration
     

    Configure Trigger

    Use REST Adapter

    Provide:

    FieldExample
    Integration NameEmployeeValidationIntegration
    Resource Path/validateEmployee
    MethodPOST

    Define Request Payload

    Example:

     
    {
    “EmployeeName”: “John Smith”,
    “Email”: “john.smith@company.com”,
    “Department”: “IT”
    }
     

    Add Processing Logic

    Typical validation rules:

    • Email format check

    • Mandatory field validation

    • Duplicate employee verification

    Example response:

     
    {
    “status”: “VALID”,
    “message”: “Employee data validated successfully”
    }
     

    Activate Integration

    After activation, OIC generates an endpoint such as:

     
    https://oic-instance/ic/api/integration/v1/flows/rest/employeevalidationintegration/01.00.0000
     

    Step 2 – Create the Parent Integration

    Now create the main integration that will invoke the validation integration.

    Navigate to

     
    OIC Console
    → Integrations
    → Create
    → App Driven Orchestration
     

    Example name:

     
    EmployeeCreationIntegration
     

    Step 3 – Configure REST Trigger

    The parent integration will receive employee data.

    Example request payload:

     
    {
    “EmployeeName”: “John Smith”,
    “Email”: “john.smith@company.com”,
    “Department”: “IT”
    }
     

    Step 4 – Add Invoke Action

    Inside the integration canvas:

     
    Actions → Invoke
     

    Select:

     
    REST Adapter
     

    Configure Connection

    Provide the endpoint of the validation integration.

    Example:

     
    https://oic-instance/ic/api/integration/v1/flows/rest/employeevalidationintegration/01.00.0000
     

    Define Operation

    Select:

     
    POST
     

    Configure Request Mapping

    Map fields from the parent integration.

    Example mapping:

    Parent FieldChild Integration Field
    EmployeeNameEmployeeName
    EmailEmail
    DepartmentDepartment

    Mapping is done using the OIC Mapper.


    Step 5 – Process Response

    The validation integration returns response:

     
    {
    “status”: “VALID”
    }
     

    Add Switch Activity.

    Condition:

     
    status == VALID
     

    If true:

    Proceed with employee creation.

    If false:

    Return error message.


    Step 6 – Save and Activate Integration

    Once configuration is complete:

     
    Click Save
    → Activate
     

    Now the parent integration can call the child integration dynamically.


    Testing the Technical Component

    Testing is critical before deploying integrations to production.

    Method 1 – Use OIC Test Feature

    Navigate to:

     
    OIC Console
    → Integrations
    → Tracking
    → Activate & Test
     

    Provide sample payload.

    Example:

     
    {
    “EmployeeName”: “Alice Green”,
    “Email”: “alice.green@company.com”,
    “Department”: “Finance”
    }
     

    Expected Flow

    1. Parent integration triggered

    2. Validation integration invoked

    3. Response returned

    4. Employee creation logic executed


    Tracking Execution

    Navigate to:

     
    OIC Console
    → Monitoring
    → Tracking
    → Integration Instances
     

    Verify:

    • invocation status

    • payload exchange

    • response time


    Common Errors and Troubleshooting

    Oracle consultants frequently encounter the following issues.

    1. Unauthorized Access Error

    Error

     
    401 Unauthorized
     

    Cause

    Authentication misconfiguration.

    Solution

    Verify:

    • OAuth configuration

    • credentials

    • API permissions


    2. Endpoint Not Found

    Error

     
    404 Not Found
     

    Cause

    Incorrect integration endpoint URL.

    Solution

    Copy endpoint directly from OIC activation page.


    3. Payload Mapping Failure

    Occurs when field structures mismatch.

    Example:

     
    DepartmentName vs Department
     

    Solution

    Validate JSON schema in mapper.


    4. Integration Timeout

    Large integrations may exceed default timeout.

    Solution:

    • Optimize child integrations

    • use asynchronous patterns


    Best Practices for Invoking Integrations in OIC

    Experienced Oracle consultants follow these practices.

    1. Build Reusable Integrations

    Examples:

    • validation service

    • notification service

    • logging service


    2. Avoid Monolithic Integrations

    Large integrations become difficult to maintain.

    Break them into smaller services.


    3. Implement Error Handling

    Use:

    • Scope

    • Fault Handler

    • Logging integrations


    4. Version Integrations

    Example:

     
    EmployeeValidationIntegration V1
    EmployeeValidationIntegration V2
     

    This avoids breaking dependencies.


    5. Monitor Integration Performance

    Use:

     
    OIC → Monitoring → Insight
     

    Track:

    • response times

    • invocation failures


    6. Use Consistent Naming Standards

    Example naming convention:

     
    INT_EMPLOYEE_VALIDATION
    INT_EMPLOYEE_CREATION
    INT_NOTIFICATION_SERVICE
     

    This improves governance in large integration landscapes.


    Frequently Asked Questions

    FAQ 1

    Can an integration invoke another integration within the same OIC instance?

    Yes. This is the most common implementation pattern. The integration endpoint is invoked using REST or SOAP adapter.


    FAQ 2

    Is it possible to invoke integrations asynchronously?

    Yes. Asynchronous invocation can be implemented using:

    • messaging queues

    • event-driven integrations

    • asynchronous REST endpoints


    FAQ 3

    How many integrations can be invoked from a single integration?

    There is no strict limit, but best practice is to keep orchestrations manageable and avoid excessive nested invocations.


    Summary

    The ability to invoke integration from another in OIC is a foundational pattern for building scalable enterprise integrations. Instead of creating complex integrations that handle all business logic, Oracle Integration Cloud encourages a modular architecture where integrations act as reusable services.

    By designing integrations in this way, organizations achieve:

    • improved maintainability

    • faster development cycles

    • better monitoring and debugging

    • scalable integration architecture

    In real Oracle Fusion implementations, invoking integrations is widely used for validation services, notification frameworks, reusable data transformation services, and orchestrated business workflows.

    Consultants working with Oracle Integration Cloud Gen 3 should focus on building reusable integration components and standardized invocation patterns to ensure long-term maintainability.

    For additional technical guidance and detailed documentation, refer to the official Oracle documentation:

    https://docs.oracle.com/en/cloud/saas/index.html


Share

Leave a Reply

Your email address will not be published. Required fields are marked *