Using OCI to integrate with Oracle Fusion SaaS Applications (aka Fusion SaaS) can take many forms
VIrtually every Fusion SaaS installation will have some level of integration with other systems. This could be loading currency exchange rates into Fusion SaaS ERP, Exporting payslips to a payment service to importing Leads from Eloqua to Sales Cloud. Most inbound integrations will follow a similar pattern
Depending on the pillar you are using you may/will have to use Fusion SaaS Data Loading tools and techniques. Each pillar uses a different file format and this needs to be known before you can understand how to import the data correctly.
There are three primary ways to upload data into Fusion SaaS , the method used depends on the Fusion SaaS, or module, being used :
CX File Import
HCM Data Loader
ERP File Based Data Loading (FBDI)
All of the above data loading technologies provide REST/SOAP calls so that the data loading can be automated and scripted and many of our customers do automate the importing of data into Fusion SaaS.
Many of Oracle's customers successfully load data into Fusion SaaS using Oracle Integration (previously they might have used Oracle SOA Suite). Oracle Integration is a declarative based environment which is used for integration and can be used for loading data into SaaS. Whilst it is very popular some customers prefer code centric integration tools or building it themselves.
The rest of this article focuses on loading data into Oracle SaaS using OCI Serverless Services. We will focus on loading data into Oracle ERP but the same technique can be used for any of the SaaS services.
Let us recap how data is loaded into Oracle ERP
In more detail :
Some customers don't want to use a declarative tool like Oracle Integration and purposely want a "code centric" approach. The reasons for this are many, sometimes they don't to be tied down to a proprietary product, but more often they want complete control , how it's deployed, how retries are done, how logging is performed and more importantly with the advent of serverless technologies they only want to pay when they are using the service...Using Serverless technologies offers this but the developers do need to be aware that they will be responsible for everything including error management, logging, dashboards etc.
The above diagram shows a pattern of loading data into Fusion SaaS ERP using serverless technologies.
The pattern uses the following OCI objects:
The pattern works like this :
The above example demonstrates how one can create a serverless architecture for loading data into Fusion SaaS ERP. It demonstrates a pattern of using OCI Buckets, Events , Functions and other OCI Services to implement the integration pipeline. The pattern highlights how the pattern can be extended to include notifications and further enrich the integration. This pattern is code based and totally serverless and unless running there is zero cost to the consumer (except the storage of the files in OCI Storage). If a customer has a lot of integrations they wish to implement and these integrations will be changed frequently then perhaps Oracle Integration Cloud (OIC) is the right service. OIC provides a rich declarative development environment where integrations can be built , deployed quickly and scale to meet your needs. Additionally the OIC gives you a lot of extra functionality OOTB, such as error handling, retrying of messages , dashboards, reporting, state tracking of previous requests etc.
However you want a totally serverless approach, don't mind the code centric style of integration and relish the flexibility and extensibility this pattern provides then the Serverless Cloud is your oyster! The above example is available as open source sample code on github, see https://github.com/oracle/sample-serverless-saas-erp-dataload for more info and pull requests welcome. Also see this article for more information on this pattern https://www.ateam-oracle.com/loading-data-into-oracle-fusion-saas-serverless-style-v2 ,.
Within Fusion SaaS there are a number of tools that can be used to export data. The correct tool of choice depends on the pillar you are using.
Generally the following rules should be used when deciding on what tool to use :
We often see customers who need to query lots of data from their Fusion SaaS services , synchronously, and struggle with the REST APis. The issues they may face include performance, number of rest calls required, lack of complex query functionality with our REST APIs and so on. For example you need to query some data and then "join" it with other data, if you are lucky the "joined" data is available as part of the REST result , within a sub element (e.g. Within Opportunity you also get the customer name as part of the result) but sometimes you don't and need to query the dependant data separately.
This approach uses the database as a middle-tier server. Its is very efficient given the cached data is already stored in this middle tier. If your "join" query is complex and involves many tables and perhaps advanced query constructs like
If you are exporting bulk data out of Fusion SaaS using BICC you can choose to store the results in Oracle OCI Storage Buckets. If you do this then you can use Oracle OCI Events and Oracle Cloud Functions to further process this data .
In this example pattern, we are delivering bulk data extracts to a mobile device. This data could be a list of products, current opportunities etc, something which takes time to export, usually large (maybe 10s of Mbs) and more importantly it is the same data for everyone (ie no data security except perhaps you need to be authenticated). Additionally if the export is done on a periodic basis then it only needs to be done once in every time period (e.g. every 6hrs) and not for every client.
Walking through this example
This is another example where we can use Oracle OCI functionality to enrich our SaaS functionality in a seamless and efficient way. Much of the efficiency comes from the serverless resources only being used when they are needed, in turn reducing costs to our customers
As you can see there are many ways that Oracle OCI can be used to integrate with Fusion SaaS. In the first instance we would always recommend using the Oracle Integration Cloud service , it's designed for integrations, and then if needed use our OCI cloud native offerings.
As a team we have written, and still writing!, a number of articles where we cover many of the "Extending Oracle Fusion SaaS with OCI" topics. If you want to learn more navigate to the Extending SaaS with OCI Series post and checkout the other articles we have written. Do let us know if you have any other topics you would like us to cover do let us know!