The aim of this blog is to guide customers when they set out to migrate their integration solutions from SOA to Oracle Integration (OIC).
The focus in this blog is to help customers during the creation, configuration of Oracle Integration service instances, and also provide best practices for choosing the right OIC features and integration patterns when developing SOA equivalent integrations on Oracle Integration Cloud.
The existing SOA workloads could be running in customer data-centers, on-premise or on Oracle cloud. The blog aims to provide high level guidelines when moving integration workloads from SOA to Oracle Integration Cloud.
To start with the SOA Suite installations could be any of the below -
SOA to OIC is not an upgrade or an automatic migration. The two integration products have different design-time and runtime environments. Hence the integrations need to be re-developed in the target OIC platform. Although, the high level integration concepts remain same for both platforms, a sound knowledge of Oracle Integration Cloud's features, wide range of adapters and a good idea of cloud integration concepts are key to get all the benefits of Oracle Integration during the migration from SOA.
Oracle SOA Suite is a comprehensive, standards-based software suite to build, deploy and manage integrations following the concepts of service-oriented architecture. While SOA is customer managed* PaaS product, Oracle Integration is a completely Oracle managed PaaS platform. This means that responsibilities such as upgrades, patching, High Availability, performance tuning, scaling which are performed and managed by customer in the SOA platform are now available out-of-the-box and managed by Oracle in the Oracle Integration Cloud.
Oracle Integration provides a low code platform where customers can easily build drag-and-drop integrations between their various cloud and ground applications. In OIC, customers are responsible to build, deploy and monitor the integrations that solve their integration requirements.
This is an important phase and involves a review of the existing SOA environment.
In order to choose the right configuration, topology on OIC it is imperative for customers to review vital metrics from the existing SOA installations.
It entails collecting information on existing solutions architecture, topology and also review the functional and non functional requirements being addressed by SOA in the current installation. The SOA integrations are also reviewed and the integration patterns used, noted. This will help in selecting the right integration patterns and design on the target OIC platform.
Here are the key data points to be reviewed from SOA -
There maybe separate SOA installations for Dev, Test, pre-prod and Production. In Oracle Integration this would translate to separate
OIC service instances for Dev, Test, Pre-prod and Production with separate message Pack configurations.
By default the OIC service instances are configured with the primary IDCS for identity management.
However if for example Test and Production OIC instances need to have separate identity stores, then they can be configured with different IDCS stripes during provisioning
refer here for configuring non default IDCS stripes with OIC.
The features of SOA used will determine the feature set to be enabled and used on OIC. This will help customers decide if they require the Standard Edition or Enterprise edition of OIC. Refer here for feature differences between Standard and enterprise Editions.
This section provides a high level mapping of features and components between SOA and Integration Cloud.
Orchestration logic in integrations can be modelled using Application Driven Orchestration integrations. These can effectively replace exiting SOA implementations which use BPEL, Mediator or Service Bus components. The Application Driven Orchestration integrations provide a wide range of constructs for modelling various Synchronous, Asynchronous and Fire-and-forget integrations flows.
|BPEL Orchestrated||App Driven Orchestration Integration|
|Service Bus/Mediator||App Driven Orchestration Integration|
For use cases to automate business processes, Process in OIC is the ideal choice. It provides Human Interaction in business processes and Decision models to automate business rules apart from other capabilities.
|Process||Process in OIC|
|Human Workflow||Process in OIC|
|Business Rules||OIC Process Create Decisions|
For B2B use cases Oracle Integration provides B2B capability to securely and reliably exchange business documents with back-end applications and trading partners.
For some of the MFT use cases and large file handling requirements, OIC offers the File Server capability which can be enabled on OIC during creation. The OIC File Server feature provides an embedded sFTP server in OIC which can be used to store and process files. File based integrations are discussed in more detail in a separate section later in this blog.
|Large File Handling/ MFT||OIC File Server|
|Hybrid integrations||Connectivity Agent|
The expected Message processing targets on OIC will determine the number of Message Packs. Message packs are the units that customer can define for their Integration Cloud instances to specify the horse power expected of OIC. These internally translate to level of scaling needed of OIC backend resources like servers, databases and storage. The scaling and resource levels allocated for OIC service instances is hidden from customers. The level of scaling is geared to meet the number of message Packs that the customer has configured.
Based on SOA runtime data monitored over a period of time and factoring for any growth predictions, customers should estimate the below metrics for OIC.
These metrics will help in determining the number of Message Packs to configure on the OIC instances during or after creation. Refer here for details on message pack calculations for OIC.
The SOA Topology review is useful to decide the OCI region where the OIC service instances can be created. Specifically, the external application endpoints where OIC will connect to will determine the region where OIC is best suited to reside. For instance if the integrations are SaaS centric, then it makes sense to create OIC service instances in the same region where SaaS is provisioned. Refer here for OCI region wise availability of OIC and other services.
Now that we have seen the infrastructure requirements, Provisioning time configuration considerations of Oracle Integration, This section gives a high level overview of integration patterns, OIC feature sets that will help in designing the right integrations in target OIC platform
Integration cloud provides a rich set of SaaS adapters to connect natively to Oracle SaaS applications. These include ERP Cloud, HCM Cloud, SCM cloud systems, Engagement cloud and others. Refer below for the full set of available OIC Adapters
These adapters provide an integration centric view of the SaaS applications making it easy to create SaaS integrations by using Business Events, Business Objects, Data extracts, ATOM feeds, Bulk Imports and SaaS callbacks.
Oracle Integration provides various adapters for facilitating file based integrations. File adapter, FTP adapter, SOAP and REST adapter's attachment support are some ways to transfer file to and from endpoints. In addition Stage activities in OIC allow for temporary persistence of files and file based processing like encryption/decryption and compression operations. All these adapters also allow connecting to applications and private endpoints residing in on-prem networks using the connectivity agent.
All integrations allow upto 10MB of file size for in-memory and schema based processing. In addition upto 1 GB of file sizes are possible using the opaque schema, REST and SOAP attachments and for download file use cases which do not require OIC to load the file contents into memory.
Oracle Integration also provides the File Server capability for use cases which require an embedded SFTP repository for storing files for offline processing.
In addition, the REST adapter also provides native support to connect to OCI Object storage. This enables OIC to be used for various internet scale integrations where files can be stored, uploaded and retrieved from Object Storage.
File and Directory operations on File Servers
|FTP adapter||File transfer and directory operations on ftp/sftp repositories|
|SOAP adapter||MTOM attachments capable of large files|
REST Attachment for large files
Connect to OCI Object Storage service
|File Server Capability||Embedded sFTP repository in OIC for integration ile storage needs|
Enable Hybrid file based integrations to on-prem File/FTP repositories and all applications supporting agent based integrations
|Stage Activities||Temporary file persistence during inflight integration flows and common file batching/debatching operations|
Refer to this blog for more details on File based integration details in OIC
Messaging patterns are very common in many enterprise integrations. Oracle integration provides JMS adapter and AQ adapter to connect to legacy messaging systems. OIC provides Kafka adapter to connect to Kafka infrastructure. Also, the OCI Streaming service adapter provides connectivity to OCI streaming service to enable integration for processing continuous, high volume streams of data.
|Kafka adapter||Connect to the Apache Kafka distributed publish-subscribe messaging system|
|OCI Streaming service adapter||Integrate with OCI Streaming Service - a fully managed, scalable, and durable storage solution for using continuous, high-volume streams|
|OIC Pub Sub||Enables publish to and subscribe messages from Oracle Integration|
|JMS Adapter||integrate with Oracle WebLogic JMS through use of the on-premises connectivity agent|
|AQ Adapter||Integrate with Oracle Advanced Queuing (AQ) in an on-premises Oracle database through use of the on-premises connectivity agent|
Integrations that are triggered at predefined times and frequencies by the platform is a common requirement for many enterprise integration scenarios. Just like SOA, OIC provides vast support for creating scheduled integrations. Use of scheduled parameters to pass data between scheduled runs, triggering ad-hoc runs of scheduled flows, pausing and resuming schedules, ability to run schedules with a specified user context, refactoring from scheduled to application driven orchestration are among a few of the key scheduled integration features.
Refer to the Scheduled integration documentation for full feature capabilities.
Also the below blog talks about scheduling best practices for OIC.
Advanced Error Handling and Scheduling best practices
Security is a vast topic and and covers a lot of ground. Just the security features of OIC warrants a separate blog in itself. However let us discuss at a high level, the security requirements from the context of moving integrations from SOA to OIC here.
As seen in previous section, OIC provides a wide array of adapters that connect to various Oracle Cloud, external cloud, on-prem enterprise systems. Each of these adapters caters to the specific authentication and authorization of the end systems. In addition the generic REST and SOAP adapters can enable secure connectivity with a wide range of internet endpoints by using Oauth, Basic Auth, API key, Oracle Cloud Infrastructure (OCI) Signature, AWS Signature, 2-way SSL, SAML security policies to name a few.
Other common requirements in enterprise security are the below
Search for specific solution playbooks on the Oracle Architecture Center
Often certain enterprise integrations pose a requirement of processing messages in a strict order, for example in first in first out (FIFO) order. SOA has a resequencer component that goes with the mediator. It can be configured to achieve FIFO, Standard and Best Effort resequencing capabilities.
How does one achieve this use case in Oracle Integration? While OIC does not provide a component or feature to achieve this, there is a documented approach and design to achieve sequencing. Note that OIC requires an additional Autonomous database (ATP) for implementing such an integration.
This can be used when moving SOA resequencer integrations into OIC.
The basic integrations used for sequencing in OIC are available as an Integration Accelerator.
Refer to below link for using the accelerator available to jumpstart development of such integrations.
Accelerator - https://docs.oracle.com/en/cloud/paas/integration-cloud/int-get-started/resequence-messages.html
Also, additional design details are available in this product management blog on the feature.
SOA as a integration platform provides its developers with a lot of flexibility when it comes to Error Handling, Transaction management, Fault policies, security policies attachment and so on. When moving such complex use cases to Oracle Integration it maybe necessary to have an application database for controlled persistence. It is preferable to use ATP due to its ease of connectivity, autonomous nature and performance.
Advanced error handling, business milestone tracking, can be implemented in Oracle integration using an additional application database like ATP as a parking lot store.
These are some of the common use cases for employing an additional Application database along with OIC
Also migrating SOA composites which implement these patterns could benefit from using different variations of the parking lot pattern in OIC. Refer to these below blogs for a discussion on parking lot pattern in OIC