Article / Link | Author | Subject Matter | Connecting |
---|---|---|---|
Field Level Encryption with Oracle Integration and OCI Vault | Stan Tanev | OIC, Vault | |
Process Excel files with OIC + Oracle Functions | Stan Tanev | OIC | Excel |
Setup Email Notifications with the Oracle Integration Cloud | Daniel Teixeira | OIC | OCI Email |
Oracle Integration Cloud – Twilio Adapter for SMS and WhatsApp | Daniel Teixeira | OIC | Twilio |
Visual Builder – A Crash Course by Shay Shmelzer | Shay Shmelzer | VBCS | |
Configuring OIC Notifications | Niall Commiskey | OIC | OCI Notifications |
Leveraging Grafana for OIC Metrics | Niall Commiskey | OIC | |
Using OIC Logging Analytics for searching OIC Activity Stream log | Niall Commiskey | OIC | OCI Log Analytics |
Surfacing OIC Design Time audit logs in OCI Logging Analytics | Niall Commiskey | OIC | OCI Log Analytics |
Using OCI Logging for searching OIC Activity Stream Log | Niall Commiskey | OIC | OCI Log Analytics |
OIC docs link for restricting access to OIC instances | Niall Commiskey | OIC | |
Create a fixed-length file in Oracle Integration | Ankur Jain | OIC |
Category: General Integration Page 1 of 2
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.

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)
- https://icalendar.org/validator.html – validates ical contents
- https://ical.marudot.com/ – tool for defining iCal entries
- https://www.textmagic.com/free-tools/rrule-generator – another iCal format generator
Blink and it’s another month gone. But Oracle has been very very busy as we come around for the latest quarterly updates and the details published. Plus a lot about Oracle Hospitality Integration Hub (OHIP) which builds upon OIC.
OIC has for some time now provided an FTP adaptor and more recently included a full FTP server capability. But both have limits on the file size and capacity. The file constraints (1GB for a file and 500GB for the FTP server) shouldn’t be an issue for day to day activities. But OIC is often used to support SaaS Financials and other cloud solutions which do have monthly process cycles which can generate significant data volumes, for example, payroll data. The question is how to handle such data with such constraints?
Data Integration?
There is a school of thought that points to the possibility when handling such large data volumes we should consider using Data Integration rather than a more event-centric integration tool. Personally, I think there is a lot of validity in the argument, and anyone dealing with such bulky data activities should review and question if it is a better answer.
That said, there are cases where it does stand-up. For example:
- If an organization is transitioning to a more event-driven or at least micro-batch model, you have to start the transition somewhere, but trying to line up changes everywhere can be problematic, so we have to start somewhere. Building an integration process so you have an event model developed, but in the interim, you need to take that bulk mechanism and convert it to a small stream of events.
- You may be working with a bulk data extract and only need a small subset of the data provided, it won’t help if the data is also represented using a verbose notation such as XML.
Other Approaches
How to overcome the constraint? Oracle databases aren’t so constrained, and SQLLoader can provide an easy means to ingest the data into a staging table. The benefit of this is:
- if you’re only needing a subset of the data you can pull just those columns from the table.
- the bulk of the use of XML to be self-describing can be shed through using the DB schema as being more prescriptive.
- SQL scripts can handle the checksum records removing that data and overhead from the integration process, leaving you to concentrate more on the business process.
If the data is still substantial once in the database there are a number of strategies to consume the data in more manageable chunks, such as
- Running SQL script on the database that takes each row and calls the OIC as a restful API point. This approach is potentially very interesting as it may then mean if you’re moving towards an event process in the future the API endpoint represents the future state and the database stored procedure is mimicking the future client behaviour.
- Use polling strategies and result set limits to control how much data is processed in a single execution of the integration. This approach does mean the integration needs to tag which records have been processed to avoid re-reading them.
Useful Links
Handling integration between Oracle SaaS applications and modules has been something of an evolutionary journey. A couple of years ago if you wanted to intgrate say HCM and ERP you needed to ICS or OIC to perform the integration.
In many respects this wasn’t such a terrible thing. Technically as it meant that the back end database schema development for each app was not going to be slowed by needing to be mutually dependent with each other. As a result avoiding the complexities of managing a canonical model and ensuring any changes to that model are delivered in a manner that aligns across multiple development teams plans.
Although you can see from a marketing position it might not have seemed so great, as the customer incurs more cost and development effort to realize a process of managing people (HCM) and paying them (ERP) for example.
Things have moved on, and as long as SaaS apps reside in a Global Single Instance (GSI) (i.e. same region, account and deployment) then for the major products (e.g. ERP, CX, HCM, etc) are internally integrated so a person change in HCM will propagate to ERP as necessary. This certainly reduces the need for integration, saving effort (and the cost of needing OIC).

The problem now is understanding which entities in the SaaS apps are integrated out the box if you deploy using the GSI manner. If you have been working from an integration/technology view point with ICS and OIC for a while it is very easy to get sucked into thinking you need to repeat the integration. After all explicitly integrating the apps is how we started out.
Oracle also want to make it very easy for non Oracle products to integrate, so OIC documentation and the many very good blogs from product management and the engineering team focus on external integration which does (for me atleast) lead to thinking about the older way of working.
Recommendation
Look to see if you’re working with GSI deployment or not. If it isn’t a GSI setup then the old way of working is required. If it is, then determine whether the entity or processes are out the box integrated. This is probably best approached from the SaaS documentation today.
Useful Links:
A couple of days ago the updates for OIC included a new feature B2B (April 2020 new). Specifically, support for EDI X12. Whilst this doesn’t mean SOA Suite B2B is redundant yet (as that still offers a broad range of other complex exchange protocols HL7, EDIFACT, SAP iDoc – complete list here). I wouldn’t be surprised if Oracle considers leaving behind support for one or two of the more complex file formats such as EDIEL. But with X12 cracked, I wouldn’t be surprised to see EDIFACT follow soon.

SOA CS future?
So where does the leave SOA CS given one of the differentiators to OIC was the existence of the B2B and MFT elements? OIC has not yet fully displaced SOA and SOA CS, there are use cases that OIC can not yet fully address. For example in the MFT space OIC has caps on filesize (whilst MFT does not). MFT also supports Applicability Statement (AS) standards (IETF specification for AS2). Unlike some of the payload formats, particularly the metadata-driven ones we may see fall away more quickly, the AS standards provide the means for communications to be responded with a ‘Message Disposition Notification‘ (MDN) which means the receiver will tell the sender the receiver has safely and fully received the communicated payload – non-repudiation. We have seen banks and other data-sensitive organizations continue to use such standards (after all you want your employer saying they told their bank to pay your salary, and the bank say, nope not got anything or transfers between the bank and the tax man).
How quickly these gaps will be addressed in OIC is not clear, or whether these cases will be addressed, or whether SOA will continue to answer these edge cases until superseding standards and techniques make them redundant.
The bottom line is there are too many customers with legacy estates on-prem for SOA CS to be retired any time soon. However, I would not be surprised if SOA follows the route of ODI when it comes to Oracle Cloud. Oracle has developed ODI on Oracle Cloud Marketplace, which provides an on-prem style deployment configured (and presumably tuned) to run on Oracle Cloud as an IaaS Virtual Machine. This potentially simplifies the BYOL license model leaving the customer responsible for a level of patch maintenance (be that take a new ODI Marketplace instance spin it up and apply the configuration, then drop the old one, or run the traditional patch processes).
We will see SOA continue to be patched and maintained for a long time to come. But I wouldn’t surprised if Oracle makes it more and more attractive for SOA customers to use OIC – possibly combining OIC and their SOA Suite instances with a view that when customers need to update migrations, they consider the port.
Whilst this may sound like Oracle are potentially leaving customers without the infamous paddle. However, our experience in the partner space is that Oracle seeks to enable them and recognize that most partners are very capable. Not to mention, when the heat is on, partners with middleware Aces can usually find their way through the Oracle organization to get what is needed.
I think we’ll continue to see a number of Oracle’s specialist partners file the gap with tooling adapted from on-premise solutions. It is these partners that also have the wealth of expertise on knowing to get the most out of SOA Suite and keep it secure.
Finally …
So OIC will continue to absorb capabilities that had separated it from SOA suite cementing it as the mainstream offering. But the old warhorse will be around for a long time (remember many older companies still use Cobol successfully) yet. To use a car analogy, those sticking with their trusty vintage Mark 1 Golf that has done 500,000 miles will have to stop looking to the manufacture for service and parts and enlist the support of a passionate specialist.
To be clear, this is only our opinion, and not informed or confirmed by Oracle.