OIC+Interview+Preparation v1 07-Jun-2021
OIC+Interview+Preparation v1 07-Jun-2021
Interview Preparation
OIC Interview Preparation
What is OIC?
Oracle Integration Cloud (OIC) is a Cloud Middleware Integration platform which enables communication
among multiple heterogeneous on premise and cloud applications. It is available in PaaS (Platform as a
Service)
Process (PCS)
Basic Routing
File Transfer
Publish To OIC
Subscribe To OIC
OIC Interview Preparation
This integration style will also have an orchestration layer where complex logic like invoking integrations,
processes, iterations, switch cases etc.
Example –
Schedule an Integration to run every 4 hours to pick a Journal file from a FTP location and import.
Schedule an Integration to run every night to sync employees in Fusion from a HCM software
App Driven Orchestration uses an EVENT or Business Object as Trigger and can be invoked by an Application
or API.
This integration style will have an orchestration layer where complex logic like invoking integrations, processes,
iterations, switch cases etc.
Example –
Basic Routing Integration is used when there is a requirement of connecting one system to another. That’s all.
There will be single routing expression – where request to response mapping and response to request.
Example –
File Transfer - Integration transfers file from one FTP location to one or multiple FTP locations.
Example –
Publish To OIC - Create a Trigger Endpoint which when invoked publishes messages to Oracle Managed Topic
at OIC.
Example –
Create a REST Endpoint as Trigger when invoked publishes the messages to OIC Managed Topic
Subscribe To OIC - Subscribe to the OIC Managed Topic using this integration pattern.
Again once the messages are published, those need to be subscribed – hence this pattern is required.
Example –
FTP Adapter
DBaaS Adapter
Database Adapter
ATP Adapter
SOAP Adapter
REST Adapter
OIC Interview Preparation
e.g. Oracle ERP Cloud Adapter will subscribe to a Business Event, Poll a file from local file system using File
Adapter, Expose a SOAP Endpoint using SOAP Adapter, Expose a REST Endpoint using REST Adapter etc.
Whereas, Invoke does mean the concerned connection will invoke some other service being provided by other
external applications, in short Outbound to OIC.
e.g. Oracle ERP Cloud Adapter will be used for FBDI or invoking SOAP/ REST Service, write to a file in local files
system using File Adapter, Read/ Write to a file in FTP server using FTP Adapter, invoke external SOAP service
using SOAP Adapter, Invoke external REST API using REST Adapter etc.
On the other hand, FTP adapter is used to read file from/ write to a file to remote FTP server which is hosted over
internet. FTP adapter doesn’t need any agent to read/ write (to) file from FTP server. Just need the security being
imposed by the FTP server configured while setting up FTP adapter. Using FTP Adapter file up to 10 MB can be
read/ written but file size of 1GB can be downloaded and kept in staging area.
OIC Interview Preparation
There is no limit while writing to Staging area but while reading only 1 MB size of message can be read. To read
file which has size more than 1 MB, we need to use Read File in Segments.
What is the message size/ chunk size that can be read during each
iteration while reading file in segments?
200 messages per iteration as we have to select the repeating element from the message while configuring Read
file in segments.
DBaaS Adapter is used to connect to Database Cloud Service hosted on PaaS platform on Oracle Cloud
Infrastructure. This also needs an agent to connect to/ from OIC.
ATP Adapter is used to connect Autonomous Transaction Processing (ATP) database which is a PaaS offering by
Oracle. It doesn’t require any agent rather it required wallet to connect to/ from OIC.
OIC Interview Preparation
So it is other way round - communications are initiated by the Agent to the OIC but not vice versa. Connectivity
agent communicates through port 443 (through firewall) since no ports are open at on premise system, at times
uses proxy to access internet. Agent posts regular heartbeat to OIC to signal that it is alive and this reflects as
green health status on monitoring console.
So it is other way round - communications are initiated by the Agent to the OIC but not vice versa. Connectivity
agent communicates through port 443 (through firewall)
OIC Interview Preparation
Trigger Flow
What are the steps to install and run the connectivity agent?
Navigation to Integrations → Agents
Create a Connectivity Agent Group. Let’s say SAMPLE_AGENT
Download Agent Software/ Zip.
Create a directory in on premise system(behind the firewall/ local system). Let’s say OIC_AGENT
agent_GROUP_IDENTIFIER
oic_USER [Optional]
oic_PASSWORD [Optional]
Run the connectivity agent. (can be run as background job as well in production environment
only in UNIX server)
java-jar connectivityagent.jar
OIC Interview Preparation
2. The following roles are required to be assigned to the Fusion Service Account/ User which will be used to trigger
the APIs or Services being provided by Oracle Fusion from OIC. (Navigation: Navigator > Security Console)
Integration Specialist
AttachmentsUser
SOAOperator
FND_MANAGE_CATALOG_SERVICE_PRIV
3. For Callback – Configure CSF Key (Identity Domain and OIC Service Instance Name) in Fusion SaaS SOA
Composer.
Navigation: Launch https://<Oracle Fusion ERP Cloud POD>/soa/composer > Manage Security > Enter CSF
Key and OIC User Account credentials > Click Register/ Update
While configuring the Oracle ERP Cloud Adapter. You found that
you are not able to access any of the REST APIs/ Catalogs? Why?
Following steps need to be performed in Fusion SaaS
Step1:
========
Description : If a catalog describe fails for a particular resource, log an error and proceed with other resources.
Step2:
=========
After this wait for 30 minutes, even if it doesn’t work then Go to Oracle ERP Cloud Connection > Click on the ‘triple
parallel line’ icon > Click on Refresh Metadata
1. We don’t need any separate connections for invoking an individual SOAP Service or REST API of Fusion if it is
supported by Oracle ERP Cloud Adapter, if we start creating SOAP/ REST connection for every Fusion
provided SOAP Services/ REST APIs, then OIC will be flooded with connections
2. If a particular SOAPService/ REST API is not supported by Oracle ERP Cloud Adapter, then only we should go
for SOAP Adapter or REST Adapter
3. The biggest challenge is while configuring the SOAP Adapter or REST Adapter, we need to provide the sample
request/ response XSDs (for SOAP Adapter) or JSON (REST Adapter) whereas if the SOAP Service/ REST
API is used from the catalog of Oracle ERP Cloud Adapter, it’s pre-configured and no need to worry about this.
OIC Interview Preparation
Can you please explain the End to End FBDI based Integration?
Refer the Import Bulk Data in Fusion using Oracle ERP Cloud Adapter (FBDI Based) session.
2. Data Validation can be done through Fusion SaaS provided REST API/ SOAP Services or could be through BI
Report invocation.
3. If data volume is more then data from Fusion should be replicated at DBCS/ Database or Prem/ ATP at regular
interval and can be validated at asynchronous mode.
How callback works in OIC. How it is different now than the earlier
way of working?
When Import process completes with any status (Errored/ Succeeded/ Warning) in Fusion SaaS, then the event is
raised and since the Callback integration has subscribed to the callback event, it gets triggered.
Earlier in the main integration where the Import process is invoked using Oracle Cloud ERP Adapter, we used to
pass the callback integration name, now when Import process completes with any status (Errored/ Succeeded/
Warning) in Fusion SaaS, then it used to explicitly invoke the callback integration which was provided in the main
integration.
OIC Interview Preparation
So the solution to get rid of such situation is to use Parking Lot Pattern. Refer Exceptions in OIC session.
4. Verify the subscription of the event using REST API of Fusion https://<Fusion SaaS URL>/soa-
infra/PublicEvent/subscriptions
OIC Interview Preparation
Note: 1. If nested functions are used in Javascript Library, only the outer appears in the metadata not in inner one.
2. If a library is not properly configured, then one can’t activate the integration and an error message is shown in
the banner.
OIC Interview Preparation
Note – If you have multiple OIC environments and the feature flag is in Feature Controlled stage, then you need to
log SR for each OIC environments to get the feature flag enabled.
https://blogs.oracle.com/integration/post/enabling-the-future-today-feature-flags-in-oracle-integration
OIC Interview Preparation
Could you please explain the Life cycle of feature flag in OIC?
• When a feature is introduced in OIC for the first time it is made available for the internal users inside
Oracle. The feature is tested thoroughly and when Oracle is happy with the feature then they release
it to the selected customers and the feature is moved to Feature Controlled stage. Note - this change
Internal Only in stage does not require any code changes, it just needs internal approval to enable the feature
• When a feature enters into this stage, it is available for customer in their OIC instances. So customer
needs to log an SR with MoS in order to get the feature enabled and once approved and enabled,
Feature customer can use it. Again there are zero code changes at customer’s OIC environment, feature flag
Controlled status is changed from disabled to enabled in the central feature flag server.
• When the feature gains stability and Oracle is happy with it, the Oracle enables it for all instances
across customers. This doesn’t require any changes though the feature flag is kept in place in case
Feature any specific customer encounters error, the feature flag is turned off for that particular OIC instance to
Controlled that customer concerned. This is a safety measure by Oracle as it might not have been caught by
General internal users and the customers who requested the flag to be turned on.
Availability
• In this stage the flag controlling the feature will be removed and it is made available to all OIC
instances for all customers without having the flag turned on. End user will see no difference at all
General between this stage and previous stages. It is basically to do code changes and make code base
Availability clean.
OIC Interview Preparation
https://docs.oracle.com/en/cloud/paas/integration-cloud/integrations-user/configure-connection-properties-and-
security-properties.html#GUID-39669C56-2CA9-4663-A2A9-F5B49EAF743B
OIC Interview Preparation
ServiceAdministrator User with this role can manage and administer the features of OIC
ServiceDeveloper User with this role can develop artefacts e.g. integration/ process in OIC.
ServiceMonitor User with this role can monitor features such as track instances and metrices, response times,
status of the instances in OIC
ServiceDeployer User with this role can publish the artifacts developed such as integrations, processes in OIC
ServiceUser User with this role can utilize basic functionality of staged or published applications such as
integrations, connections. This is use only role so this role doesn't allow to modify the artifacts -
integrations, Connections. Can run integrations, processes
ServiceInvoker User with this role can invoke App Driven/ Scheduled Orchestartion integrations but neither can
navigate to OIC User interface/ pages, there won't be edit any artifacts nor can perform any
admin tasks
ServiceViewer User with this role can view the artifacts/ resources e.g. integrations, connections, libraries,
processes in OIC by navigating different OIC user interfaces. User neither can modify any artifacts
nor can perform any admin related activities
OIC Interview Preparation
So the pipeline can be triggered when lets say OIC integration (.iar) is checked in or let’s say the status of the issue
or action ticket is changed to ready to deploy and the integration will be fetched from source code repository (e.g.
GitHub) and then deploy through the execution of different steps mentioned in the pipeline.
where as file of size 1 GB can be downloaded with FTP Adapter and Stage File read operation can read only 1 MB
size of data, to read data which exceeds 1 MB of size, read file in segments to be used.
Moreover it is also used for defining constants and variables of an integration so that integration doesn’t required to
be edited very often. Refer the Lookups in OIC session.
OIC Interview Preparation
What is the notify activity in OIC? How can you pass dynamic value
in it?
Notify activity is used to send notification to a user or group of users who is responsible for monitoring and taking
actions on the failed integrations.
Dynamic Value is passed through {param1} and param1 is assigned through expression builder.
data/ file
OIC Interview Preparation
ASSIGN – A particular element or attribute of an element or value of an element is placed or assigned in the target
element or attribute of an element or value of an element. ASSIGN will replace any existing value/ data which had
already been assigned to the element or attribute concerned. For e.g. Assign the Employee complex element to
Employee global variable of type Employee (complex element/ object).
APPEND – A particular element or attribute of an element or value of an element is appended at the end of the
repeating element or unbounded element at target. Let’s say you have add Invoice line after 1st Invoice line of an
Invoice.
REMOVE – It simply removes an element/ attribute of an element from the complex global variable. Let’s say
removing an Invoice line from the Invoice Lines payload.
OIC Interview Preparation
What are the issues that you have encountered while doing
development?
1. Not able to import data into Fusion.
Solution: Mostly due to not having proper Job Role/ Data Access assigned to the Fusion SaaS service
account which is used in OIC connections.
3. Not able to see the Services in the catalog of Oracle ERP Cloud Adapter.
Solution: For REST API Catalog, look at the pre-requisites and wait for at least 30 minutes else Refresh
Metadata
Solution: if the developer logs out keeping the integration open, integration is locked. only the concerned
developer/ admin can unlock
What are the issues that you have encountered while doing
development?
6. Permission issues while reading a file/ writing a file to directory.
Solution: OIC user doesn't have read write access to that specified directory
7. Though wrong credentials are provided in SOAP/ REST adapter - but when clicked on Validate & Test - it
shows successful but wasn't able to invoke the service.
Solution: It's bug in OIC. At times it doesn't validate if it is wrong/ right credential but shows successful. could
be it just validates the configuration information
Solution: only message size of 10 MB is allowed for most of the connections/ adapters.
9. Agent failures/ delay in reading the file/ database from the on premise system.
Solution: Agent should be configured in High Availability (HA) mode. The delay is for fraction of seconds which
can be accommodated. Always better to go for asynchronous mode of communication with on premise systems
so delay can be accommodated.
OIC Interview Preparation
You can refer any good blog/ resources in the internet to find the answers of these general basic questions.