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.
Category: General Integration Page 1 of 3
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|
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|
|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|
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.
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.
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?
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.
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.