Implementing Oracle Integration Cloud
Introduction: Oracle Cloud Integration Services
In the current world of technologies, businesses prefer to use best-of-breed applications for various enterprise functionalities yet look for integrated business transactions processes across applications. Oracle integration cloud service and Oracle software are useful for all types of business applications.
Oracle integration cloud service is one of the best business applications specially for sales teams, they can utilize the Oracle sales cloud to simplifies connectivity, processing statistics, reporting key information.
Client Business Case: Business Processes
Real-time data and process integration between Oracle Cloud ERP application and multiple third-party systems:
- Bamboo HR – Employee
- Alfresco - Procurement Agreement, Open Purchase Orders
- Concur – Travel Expense Reimbursement
- ADP – Payroll Journals
- 1C, AUTOCONT – Accounting Systems
- Multiple transaction types from Cloud ERP to Data warehouse and vice versa
- Bank Integration - Hellenic and UniCredit Banks that does not support Oracle protocols
Oracle Integration Cloud (OIC) has been considered one of the best tools to integrate Oracle Cloud applications and non-Oracle cloud services/applications. Jade leveraged OIC for developing complex integration processes.
Understanding OIC: Oracle Integration Cloud Service
OIC brings capabilities of Application Integration, Process Automation, Visual Application Building, and Integration Analytics into a single unified cloud service if you have minor requirements then it can be a lightweight integration solution with oracle database. It has 70 inbuilt adapters and connects with third-party systems. We can,
- Develop workflow that depicts/maps the business process.
- B2B integrations that support EDI X12 protocols
- The file processing using SFTP protocols
- Calling direct Rest and SOAP APIs using the adapters
- Scheduling and monitoring the business process to bring flexibility in the automation.
Setting up OIC Instance:
To design the business process, the first step is to set up an OIC instance. The OIC administrator will be setting up the OIC instance.
- Ensure Instance provisioning by Oracle
- Ensure IDCS and OIC services are up and you have user credentials with administrative access.
- You should know tenancy and Server. It will help to generate a URL.
- Using the IDCS base URL (https://<account>.identity.oraclecloud.com ) create IDP oracle identity cloud service.
- Create an IDCS group with all administrative rights
- Need to create a federated user as well
- Create compartment under root. It helps to create multiple instances.
- Create the instance. Once the instance is created, you will share the URL with the developer to design integration.
- Assign the roles/services to the User. The different integration services are assigned to users such as service administrator, service monitor, service deployer, service invoker, service user, service viewer, service developer.
Integration Development: On Premises Applications
Once appropriate roles and services are assigned to Integration Developer, they can develop an integration process based on the business requirements using multiple styles,
- Basis App to App routing using data mapping
- Publish Messages from Apps to OIC Pub/Sub Channel
- Subscribe message from OIC Pub/Sub Channel
- File Transfer
- App Drive Orchestration
- Scheduled Orchestration
Integration Monitoring:
- The Oracle Business Process Execution Language Process Manager tool helps define and execute business processes.
- It invokes remote services and orchestrates process execution.
- Error handling email notifications are an integral part of OIC
- The dashboard helps the business users to review and monitor the integration process.
Operational Challenges Faced:
We want to put forward a few OIC-related operational challenges we faced during project execution and how we have overcome them.
- PGA Memory related: As a part of the project, we developed multiple integrations using Oracle Integration Cloud with third-party applications systems
- Bamboo HR – Employee, Alfresco - Procurement Agreement, Open Purchase Orders
- ADP – Payroll Journals
- 1C, AUTOCONT - Journals
- Datawarehouse – Integrations of several transaction types from Cloud ERP to Datawarehouse and vice versa
- Integrations with Hellenic and UniCredit Banks for nonstandard types
Based on business requirements, most integrations were running daily and simultaneously. As data grew, we experienced a few integrations failing with the below error. Another pattern that came out was that regular workflow transactions were also getting aborted apart from the failure of scheduled integration processes.
Error Codes
---------------------------------------------------
CASDK-0033, ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT
We worked with Oracle Support. Upon analysis, Oracle support identified that it was due to PGA MEMORY LEAK ON BINARY XMLTYPE EXTRACT. Oracle’s cloud operation team worked on database parameters and resolved the issue. After this incident, we never faced this issue again, and multiple integration processes ran parallel.
- Long-running integration processes getting aborted:
We had a requirement to process nearly 20 MB of file during month-end, which contains a large quantity of data, about 10,000 lines. Multiple validations for each record line resulted in a long-running process (more than 7 hrs), and ultimately it was getting aborted and unable to process.
We were looking for a setup or configuration in OIC to keep the process running until the completion without hitting the service limit.
The root cause was that Scheduled processes are synchronous processes with service limits defined.
The solution received from Oracle Support was:
1) Convert the existing scheduled integration to REST Adapter trigger-based integration.
2) Create a new scheduled integration that only performs an asynchronous invoke of the integration you converted in step 1 above.
REST does not hit the service limit, and therefore overall integration process was not aborted at all even after running for a long time and completed successfully.
- Integration Instance Message Pack value [1] exceeds the Subscribed value
Please provide attention to creating an Oracle Integration Instance in a selected compartment. You cannot split a single instance into two separate parts (development and test parts). Instead, it would be best to create individual instances for each part. Each Message pack gets associated with a separate instance.
So, if you are going to use OIC with Development, TEST, and Production environment, you will need to procure three message packs.
In summary, Oracle Integration Cloud (OIC) is a lightweight yet robust integration development solution. It provides ease of development and deployment and brings tight security in enterprise-wide applications connectivity regardless of the applications you connect with or where they reside.