Search This Blog

Saturday, May 13, 2023

Oracle Integration Cloud (OIC) - Introduction and Best Practices

As more customers adopt the Oracle Cloud Infrastructure (OCI) platform, and also the Fusion applications, such as ERP and HCM, the usage and prominence of the Oracle Integration Cloud (OIC) platform will continue to grow. OIC is a middleware, much like other competitors in the market, such as the Azure integration options, Biztalk, Boomi, and such. The competitive advantage of OIC, as it relates to the Oracle space, particularly for Cloud tools, is how the OIC product managers work closely with the FA development teams, and ensure that the adapters provided inside OIC for ERP, HCM, etc. stay up to date and are tested as quarterly patches are rolled out for both OIC and FA. In short, there's technical stack harmony when you use OIC to integrate with Oracle Cloud, not to mention that if you want to subscribe to business events from ERP, if you are looking to do event driven integrations that are real time, then OIC is your only option, since other tools cannot subscribe to these business events. In terms of adapters in OIC, the ERP and HCM adapters provide for reduced complexity when integrating with those systems. With the adapters, for example, you can subscribe to events, but also integrate via FBDI or HDL files without having to orchestrate calling many different jobs, and the adapters will instead handle a lot of the complexity on your behalf.

OIC is currently in it's third generation (Gen3), although a lot of customers are still using Gen2, and it has grown quite a bit in terms of capabilities over the last few years, particularly in terms of it's service limits. Previously OIC did not handle large files very well, or large payloads for API patterns, and although it still has limitations in this space, great strides have been made, and it can satisfy a lot of requirements that you may throw at it. As you utilize OIC, before implementing a design pattern, carefully review the service limits here, as you don't want to spend many cycles developing integrations that will fail when being load tested, or performance tested later on.

OIC can be licensed in several ways, but with the Enterprise License, you will get more than just Integrations, and you also get the Visual Builder web development IDE, to extend your SaaS applications, as well as the Oracle Process Cloud product (although this may no longer be bundled with OIC starting with Gen3). With OIC you need to keep a close eye on your message pack consumption, as that can drive up your cost a bit and also impact performance, if you environment is not sized correctly for your usage.

Below I've consolidated a lot of the best practices we have identified by using OIC over the past 4 years, to execute hundreds of integrations across multiple business units.

If you are planning to use OIC, review these in detail, and also pay attention to the third slide that talks about message pack consumption, as depending on how you implement your integrations, you could be unnecessarily incurring additional cost.



Another recommendation is taking complex business logic out of OIC, and instead use OIC to invoke stored procedures in a database cloud service (via a connectivity agent) or autonomous database (via adapter), because these heavy operations that rely on extensive business logic can be done with PLSQL quite more efficiently, and you can use OIC to control the flow, make external calls, and much more.

In terms of drawbacks, OIC still struggles with large files if you want to deal with them outside of them being an opaque element (meaning you don't understand the contents of the file and it's schema). We have also ran into issues when scheduling too many integrations, even with the maximum allowed number of message packs (but this isn't an area of concern unless you are scheduling hundreds of integrations in the same environment). From a disaster recovery perspective, OIC is highly available within it's region, but if you want to implement HA capabilities across multiple regions, accomplishing this is a bit manual and not as efficient as it could be, the architecture can be seen here, for Gen2.

In summary, OIC is a strong solution that continues to grow, but understanding it's limitations is key in order to implement the most robust integrations on behalf of your business partners.



No comments:

Post a Comment