Implementing Oracle Integration Cloud

Understanding Integration Cloud and how to get the most out of your implementation

Book Birthday

I had an interesting conversation today, where it was pointed out to me that our book Implementing Oracle Integration Cloud Service, the first ever Oracle PaaS book is five years old today (according to Amazon). This website was also five years old back in August last year.

While some parts of the UI have become more sophisticated than shown in the book, and the choice of adaptors has grown significantly the core fundamentals of the book still hold true.

Of course the book is only as good as the technology, and Oracle Integration continues to fly in the Gartner Magic Quadrant.

So Happy Birthday us, and congratulations Oracle, and thankyou to our readers.

December 21 – New OIC Articles

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 / LinkAuthorSubject MatterConnecting
CI/CD working with EiPaaS Oracle Integration (OIC)Cristian SilipigniOICCI/CD
Speed up your Accounting Closing Cycle with automated loading of Payable Invoices into Oracle ERP Cloud, using Oracle Integration CloudJuan CarlosOICCX/ ERP/ ServiceCloud
Quarterly UpdatesPhil WilkinsOIC 
Using the Oracle Cloud Infrastructure Streaming Service Adapter with Oracle IntegrationOICStreams
Build retry logic in Oracle IntegrationAnkur JainOIC 
Call VB Business Objects from Oracle IntegrationAnkur JainOIC 

Quarterly Updates

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.

November 21 – New OIC Articles

Another month and another raft of great content. Lot of activity springing up around the new Oracle Hospitality Integration Platform (OHIP) with its new OIC Adapter.

Article / LinkAuthorSubject MatterConnecting
Clone an Existing Integration Flow in OIC Basics of OICOIC 
OIC: Synchronous versus Fire-and-Forget Process to Process InvocationJan KettenisOIC 
Oracle Integration Cloud – Gmail AdapterDaniel TeixeiraOICGMail
Between Oracle Integration Cloud (OIC) And Oracle Cloud Infrastructure (OCI)Atul KumarOIC 
How to call the OCI AI Language Service from the Oracle Integration CloudDaniel TeixeiraOICOCI AI Language Service
Creating Custom Messages/Notifications in Visual BuilderShay ShmeltzerVBS 
FlexDeploy for Oracle Integration CloudJürgen KressOIC 
Connecting Opera Cloud to the World – PaaS Partner Community Webcast November 30th 2021Jürgen KressOICOPERA (Oracle Hospitality)
OIC November Release New Features – Oracle Hospitality AdapterNiall CommiskeyOICOPERA (Oracle Hospitality)
OIC November 21 Release New FeaturesNiall CommiskeyOIC 
DB adapter – overcoming 10 MB limitNiall CommiskeyOICDB
Leveraging OCI AI Language Service from Oracle Integration (Part 1) (Part 2)Niall CommiskeyOICAI Language Service
Fetch & update Integration lookup using Visual BuilderAnkur JainVBS & OIC 
OHIP and Oracle Integration Cloud: Simplifying hospitality integrations even moreLuis WeirOICOHIP (Hospitality Integration)
November 2021 New Third Party Application AdaptersMadhav PoosarlaOICSugar CRM, eBay
Delivering Real Customer Value with Agile Innovation: Heathrow rapidly moves to Oracle Cloud and connects with hybrid Integration – Webcast November 16th 2021Jürgen KressOIC 
November 2021 Oracle Integration UpdateAntony ReynoldsOIC 
Answers are never far away with Oracle AssistantKevin HopkeOIC 
Exporting Data from Oracle HCM Cloud using OICHemanth LavesattiOIC 
CI/CD for Oracle Visual Builder ApplicationsVijayaraj GovindharajVBSFlexDeploy
Decouple complex flows into simplified multiple resource REST flowMadhav PoosarlaOIC 

Oracle Hospitality OIC Adaptor

Oracle Integration Cloud is rich in adaptors for technology and major SaaS services both Oracle (E.g., HCM, ERP, CX) and non Oracle (e.g., Salesforce, ServiceNow). But the more observant may have noticed a new addition to the list of Oracle industry (vertical) adaptors joining the Utilities vertical is a new adaptor for Hospitality.

OPERA, and it’s integration service OHIP have been developing to bring first of all its 3000+ APIs upto date as RESTFUL and self service enabled as the OPERA product becomes a SaaS delivered solution. Not to mention provide a good developer experience with Apiary and resources such as Postman collections (more about this here).

The latest step (from 21.4.2) has been to further the simplify the development process through the use of low code integration OIC provides. You can read some initial blogs about it here, and I’m sure there will be more to come.

Today the Adaptor just supports the Property Management System (PMS) that is for us uninitiated the system element handling the hotels core operations such as rooms, housekeeping and associated tasks – the heart of a hotel based business. Areas such as marketing, cruise ships, point of sale (PoS) etc fall out side of PMS and are not covered today.

Why OHIP and OIC

OHIP and OIC really comes into its own because it is very easy to wire the hotel management solution to common services such as ERP and HCM functions.

For example if you’re operating a group of hotels, then each hotel will use an OPERA instance, but the group may well make use of ERP Cloud for the overall accounting, taking the costs etc identified in the hotel operations via OPERA and then those figures are put into the group ERP to provide the overall financial controls and picture.

Adaptor Foundations

The OIC Adaptor builds on top of the OHIP APIs, as a result the same restrictions on invocations, security needs exist as going to the native API. Like all OIC integration development we need to establish a connection definition which needs the URL of you OHIP instance, plus the same credentials you would use for a rest connection.

Connection Palette in OIC with oracle Hospitality highlighted

October 21 – New OIC Articles

Article / LinkAuthorSubject MatterConnecting
Field Level Encryption with Oracle Integration and OCI VaultStan TanevOIC, Vault 
Process Excel files with OIC + Oracle FunctionsStan TanevOICExcel
Setup Email Notifications with the Oracle Integration CloudDaniel TeixeiraOICOCI Email
Oracle Integration Cloud – Twilio Adapter for SMS and WhatsAppDaniel TeixeiraOICTwilio
Visual Builder – A Crash Course by Shay ShmelzerShay ShmelzerVBCS 
Configuring OIC NotificationsNiall CommiskeyOICOCI Notifications
Leveraging Grafana for OIC MetricsNiall CommiskeyOIC 
Using OIC Logging Analytics for searching OIC Activity Stream logNiall CommiskeyOICOCI Log Analytics
Surfacing OIC Design Time audit logs in OCI Logging AnalyticsNiall CommiskeyOICOCI Log Analytics
Using OCI Logging for searching OIC Activity Stream LogNiall CommiskeyOICOCI Log Analytics
OIC docs link for restricting access to OIC instancesNiall CommiskeyOIC 
Create a fixed-length file in Oracle IntegrationAnkur JainOIC 

September 21 – New OIC Articles

Latest updates, lots about use of Streaming with OIC ….

August 21 – New OIC articles

Article / LinkAuthorSubject MatterConnecting
Oracle Assistant for OICNiall CommiskeyDigital Assistant to help with using OICN/A
OIC & Blue Prism Part 3 – Invoking an OIC Integration from Blue PrismNiall CommiskeyOICRPA (Blue Prism)
Tracing and Monitoring Business Objects in Visual BuilderShay ShmeltzerVBCS 
New Features in Visual Builder – August 2021Shay ShmeltzerVBCS 
OIC Activity Stream to OCI Log analyticsShreenidhi RaghuramOICLog Analytics
Extending Oracle Fusion SaaS with OCI – IntegrationAngelo SantagataOICHCM, CX, ERP
Extending Oracle Fusion SaaS with OCI – User InterfaceAngelo SantagataOICHCM, CX, ERP
Extending Oracle Fusion SaaS – Best PracticesAngelo SantagataOICHCM, CX, ERP
Advisor Webcast: OIC JDeveloper PluginTanya HeiseOIC 
Migrate Your Oracle Integration Cloud Classic Services to Oracle Cloud Infrastructure (OCI)Elizabeth EarleOIC 
CI/CD for Oracle Integrations with Visual Builder StudioShay ShmeltzerOICOVBS
OIC Integration Lifecycle Using REST EndpointsAmy Simpson GrangeOIC 
Create Free Trial OIC Instance for one MonthKabir YadavOIC 
Tips and Tricks for handling numbers in BPEL or OICPranav DavarOIC 
Convert JSON to String in Oracle IntegrationAnkur JainOIC 
https://oracle-integration.cloud/2021/08/26/oic-scheduling-for-end-of-month-style-processes-tip-11/Phil WilkinsOIC 

OIC Scheduling for End of Month style processes – Tip #11

Setting up calendar schedules that aren’t simply reoccurring, such as a specific date in a month like 28th or third Friday, become more of a challenge with the OIC Scheduler. The calendar works with the ical standard set by the IETF standard 2445. If you review the standard’s section 4.3.0, this describes the reoccurrence options, whilst able, not able to address these needs.

Reoccurring on specific dates can, in theory, be set. If you review section 4.3.4, you will see a date has the potential to be defined as a comma-separated list. So multiple dates for month-end can be provided as a list. Note, this is predicated on the calendar attribute supporting date-mday (DATE). The DTSTART and DTEND attributes accept DATE with no indication that the date-mday is not supported.

Specifying the dates explicitly overcomes the problems of national holidays. The downside is that you need to know when the list needs to be extended and, in the case of OIC, the means to edit the scheduler format safely.

NOTE: we have not tested whether the OIC scheduler is compliant with the use of date-mday at the time of writing.

Versions 1 and 2 running concurrently

Complex formulas for scheduling and more manageable scheduling..

There are several options for managing reoccurring events, such as month-end, year-end accounting, payroll and expenses payments etc.

In most options, we assume that we have a simple reoccurring schedule that triggers an integration that determines whether the trigger is legitimate. This could be as simple as daily. If valid, then invoking the main integration with the business process.

Defining Dates in the database, we can wrap it with JET, Visual Builder or APEX to create a presentation layer. The task of managing the schedule to be taken on by the business.

This approach makes it very easy to adjust and test. Whether there are any more future schedule dates can also be overcome by having an integration that queries the table for the next date being set. If not date set, then the generate relevant alerts using OCI native tools.

The schedule is triggered regularly, e.g. daily, and the scheduler trigger invokes an integration then looks up the DB to see if the date appears in the list. When the date appears, then the integration is executed. It would be straightforward to extend this to trigger different schedules.

Automated option

If an algorithm can be described for when the month-end processes should be performed, we eliminate the need to manage a list of dates. There are some ways to implement a formula, and you have the option of trying to do it OIC, but using OCI Functions – the formula is coded in the language of your choice and then packaged and deployed. The Function is then invoked using a REST web service to confirm whether the process should run (more on how here).

Handling public and national holidays. Not all national holidays are locked into an algorithm, or the holiday is fairly complex. That said, there are several API sources available that can tell you these dates, for example, https://holidayapi.com; this makes things easier.

The beauty of this process is that the same Function could keep a company website up to date with the next run date. Be integrated into corporate notifications and so on. As a result, one point of truth.

Enhanced Automation (feature wish …)

Unfortunately, OIC doesn’t provide an API to add new schedules. We can’t simplify the integration logic until it does, which adds the next calculated date for the process to run as a one-off schedule.

iCal Resources (inc Tools)

July 21 – New OIC articles

Article / LinkAuthorSubject MatterConnecting
Oracle Integration Cloud (OIC) & octet-stream MIME-typeAmy Simpson-GrangeOIC 
delete a schedule from an IntegrationKabir YadavOIC 
How Granular Should My Microprocesses Be?Jan KettenisPCS 
How to perform FBDI GL File UploadDeb MukherjeeOIC 
Load FBDI and callbackDeb MukherjeeOIC 
Basic File Encryption and Decryption in OICDeb MukherjeeOIC 
Oracle Digital Assistant – Backend Integration with the Oracle Integration CloudDaniel TeixeiraOICODA
Oracle Integration Message Packs and PricingAnkur JainOIC 
Business Identifiers in Oracle IntegrationAnkur JainOIC 
FlexDeploy Support for Oracle CloudJurgen KressOICCI/CD
OIC & Blue Prism Part 1, Part 2Niall CommiskeyOICBlue Prism (RPA)
August 2021 Oracle Integration UpdateAntony ReynoldsOIC 
OIC Monitoring and Logging Analytics – adding Business Data to DashboardsNiall CommiskeyOICLog Analytics
OIC and Logging Analytics – steps towards fleet management and more stepsNiall CommiskeyOICLog Analytics
Logging Analytics for OICNiall CommiskeyOICLog Analytics
Event Driven Integration with Oracle Commerce CloudNiall CommiskeyOICCommerce Cloud
Turning SFTP Cloud NativeJohan LouwersOIC 
Authenticating Oracle Integration flows using OAuth token from 3rd party providerPrakash MasandOICOAuth
August 2021 New Third Party Application AdaptersPrakash MasandOICSAP, Zendesk

Page 5 of 11

Powered by WordPress & Theme by Anders Norén