Generation 3 of OIC has been out for a few quarters now, and we’re starting to see guidance published on migrating from Gen2 to Gen3 and articles about OIC v3 features.
Tag: Integration Page 5 of 8
With Oracle Cloud World behind us and the customer/partner forum that occurred on the Monday before the main conference. I think we can expect to see more content following soon.
| Article / Link | Author | Subject Matter | Connecting |
|---|---|---|---|
| Oracle Integration 3 invoking OCI Process Automation | Niall Commiskey | OIC3 | OPA |
| OCI Process Automation -> Decisions | Niall Commiskey | OPA | |
| Process Automation – Invoking Child Processes and Business Keys | Niall Commiskey | OPA | |
| OCI Process Automation – Localization | Niall Commiskey | OPA | |
| Secure Oracle Integration Cloud (OIC) using OCI WAF (Web Application Firewall) | Omid Izadkhasti | OIC | WAF |
| Monitoring Integrations in Oracle Integration Cloud (OIC) Part1, Part2, Part3, Part4 | Amy Simpson-Grange | OIC | |
| Autonomous Transaction Processing (ATP) Adapter in OIC | Giri Prasad | OIC | ATP |
| Structured Process Custom Fault Handling Pattern | Jan Kettenis | OIC | |
| OIC Basics – Using the Mapper Code Window | Yan Scorrer | OIC | |
| How To Call DB Procedure Asynchronously From OIC | Ayyappa Maturi | OIC | DB |
| Invoke BIP Report with Parameters in OIC | Pawan Lakhotia | OIC | BIP |
With Oracle Cloud World just around the corner, the annual Customer Advisory Board event can be attended. So if you’re in Las Vegas for the event – consider registering – it provides a chance to talk with product leadership and hear in detail product development.
August is a special month for OIC as we see the launch of Generation 3 of the product. The biggest differences are under the hood, with the core engine moving from a WebLogic basis to running on top of Cloud Native OCI services. As a result, the solution will be able to more efficiently leverage other OCI features to deliver enhancements. Not all of the Gen2 features are running on Gen3, we can expect things to follow quickly. When looking at documentation you’ll need to watch out for references to Oracle Integration Generation 2 vs. Integration Generation 3.
Not only do we have Integration Generation 3, but a new independent Process Automation solution was launched in March.
To help differentiate the articles, where we can we’ll continue to refer to the Process automation that resides within OIC as PCS using the legacy name. Anything referring to the new Process Automation service we’ll identify as OPA. Differentiating Integration Generation 2 or 3 will be OIC2 or OIC3, respectively. If there is no generation number, then at this stage, you can assume the answer is quickly true to both generations.
July’s big news is the connectivity between OCI and Azure for Oracle to streamline Azure users accessing Oracle databases (here), and more importantly, for OIC users is the addition of new Sovereign nation regions (here). For OIC users this means the possibility of handling data that is more sensitive to where the data resides.
| Article / Link | Author | Subject Matter | Connecting |
|---|---|---|---|
| Extending Opera Cloud with OIC | Niall Commiskey | OIC & VB | Oracle Hospitality (OPERA) |
| End to End Business Process Automation | Niall Commiskey | OIC | AI Vision |
| Jira Adapter – Add Attachments etc | Niall Commiskey | OIC | JIRA |
| Update Oracle Integration Cloud connection from primary to standby database dynamically | Omid Izadkhasti | OIC | DB |
| Git source code management for Oracle Integration Artifacts using VB Studio | Ashritha Malli | OIC. VBS | |
| Making use of variables, properties and schedule parameters an | Yan Scorrer | OIC | |
| Invoke OIC Integration from Process application (plus other short posts on OIC) | Sanddy | OIC | PCS |
| Create process application with web form (plus other short posts on PCS) | Sanddy | PCS | |
| OCI API GW & JWT to call OIC with/without Credentials (Part I & Part II) | Ankur Jain | OIC | |
| Automation and AI – Oracle Process Automation with OCI AI Services | Milomir Vojvodic | OIC | AI |
May means we see another quarterly release with new features as we can see by the types of blog posts collected this month
Another month passed already, so here are Feb’s posts.
December is always a quiet month having had updates in November, but this month has been particularly so. One bit of good news, the handy resource links have been updated with a lot more additional resources – see right of the page.
| Article / Link | Author | Subject Matter | Connecting |
|---|---|---|---|
| CI/CD working with EiPaaS Oracle Integration (OIC) | Cristian Silipigni | OIC | CI/CD |
| Speed up your Accounting Closing Cycle with automated loading of Payable Invoices into Oracle ERP Cloud, using Oracle Integration Cloud | Juan Carlos | OIC | CX/ ERP/ ServiceCloud |
| Quarterly Updates | Phil Wilkins | OIC | |
| Using the Oracle Cloud Infrastructure Streaming Service Adapter with Oracle Integration | – | OIC | Streams |
| Build retry logic in Oracle Integration | Ankur Jain | OIC | |
| Call VB Business Objects from Oracle Integration | Ankur Jain | OIC |
The update regime for Integration Cloud is well established in its quarterly pattern, but within that pattern are two update cycles, separated by two weeks. It is possible to choose which cycle your OIC instance update will be executed in. If you don’t specify which cycle then by default you will be put into the second cycle.
For production deployments of OIC that makes a lot of sense. But we would recommend that your non-production instance be part of the 1st update cycle. This allows you two weeks to validate and fix any issues in the event that the upgrade breaks any of your integrations. While that shouldn’t happen if you are exploiting an undocumented behaviour or something reported as a bug there is always a risk.
So the obvious question is how to define which update cycle should be used. For OCI Gen 2 (the majority of users should have migrated to now), the control is achieved by setting a freeform tag on the OIC instance. The tag needs to be called OIC_UPDATE_WINDOW1 (note – if you don’t read the Oracle documentation carefully you could end up omitting the numeral) and the value can be left blank. The tags are set on the OCI view for your OIC instance, which has a tabbed view as you can see below. Once the value is set then the OCI view will show an Updating status – this is not to be confused with the OIC instance being updated with the latest quarterly changes.
All of this shows up in blog (here and script fragment here) and a documentation (here). What is less apparent is the lead time needed for the tag to be in place. This is in the order of 7 or more weeks. This means you need to have your OIC dev instance in place almost a full quarter before the opportunity is available, and spinning up a new OIC instance and expecting it to immediately adopt the latest version during the maintenance window isn’t going to solve any problems.

How to confirm the instance version
The related question is where to look for the version of OIC is running. The information is only provided in the instance console rather then the OCI View of OIC. The version information is available as part of the drop down visible on the question mark icon at the top right of the UI, as the following screenshots show:


We do hope that Oracle will shorten this in the months to come.
Terraforming …
If you’re building your OIC deployment(s) using Terraform, then you could pass a variable into your Terraform module (hence the reference to var. or read from a configuration file in which case you will want a data block and the value becomes data.)
locals {
updateWindow = (var.use_window1) ? "OIC_UPDATE_WINDOW1" : "--NOT-WINDOW1--"
}
resource "oci_integration_integration_instance" "test_integration_instance" {
#Required
compartment_id = var.compartment_id
display_name = "ExampleOIC"
integration_instance_type = var.integration_instance_integration_instance_type
is_byol = false
message_packs = 1
consumption_model = var.integration_instance_consumption_model
custom_endpoint {
#Required
hostname = var.integration_instance_custom_endpoint_hostname
#Optional
certificate_secret_id = oci_vault_secret.test_secret.id
}
freeform_tags = {"${local.updateWindow}"= ""}
idcs_at = var.integration_instance_idcs_at
is_file_server_enabled = var.integration_instance_is_file_server_enabled
is_visual_builder_enabled = var.integration_instance_is_visual_builder_enabled
network_endpoint_details {
#Required
network_endpoint_type = var.integration_instance_network_endpoint_details_network_endpoint_type
}
is_integration_vcn_allowlisted = var.integration_instance_network_endpoint_details_is_integration_vcn_allowlisted
}
state = var.integration_instance_target_state
}
As you can see in my example I have hardwired more values than the example provided by the Oracle Terraform documentation (here) as it helps show the legal values. Here to keep the declarations simple – I have set a freeform tag regardless, but changed in the local variable value to be used by the freeform tag depending on if a variable ( use_window1) is set.