X

Best Practices from Oracle Development's A‑Team

Guidelines when moving Integration Workloads from SOA to Oracle Integration

Shreenidhi Raghuram
Consulting Solutions Architect

Introduction

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.
 

SOA      Oracle Integration

 

 

 

 

 

To start with the SOA Suite installations could be any of the below -

  • SOA on-premise - Where SOA is installed and managed on-premise or within customer datacenter
  • SOACS on OCI - these are SOACS installation running on customer OCI tenancy in one of the OCI regions worldwide 
  • SOACS Marketplace - This is the newer installations which run on OCI and are installed using the SOA images available in Oracle market place 
  • SOACS on OCI Classic - These are legacy SOACS installations running on OCI Classic datacenters 

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.

 

SOA vs OIC - a customer centric comparison

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.

* Refer to the RACI Matrix for SOACS and SOA Suite Marketplace to understand the division of roles and responsibilities between Customer and Oracle 

Review of existing SOA installation

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 -

  • Number of SOA Environments (Example - Production, Pre-Prod, Test, Development)        
  • SOA Components used
  • Message Processing metrics
  • Location of integration endpoint applications

Number of SOA Environments

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.

SOA Components used

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.

SOA to OIC Components Mapping

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.
      

SOACS Oracle Integration
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.

SOACS Oracle Integration
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.

SOACS Oracle Integration
B2B B2B OIC
Large File Handling/ MFT OIC File Server
Hybrid integrations Connectivity Agent

 

Message Processing metrics (OIC: Message Packs)

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.

  • Volume of inbound messages into OIC per hour along with their message size in KBs
  • Volume of outbound invocations from OIC to endpoint systems per hour along with response message size in KBs

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.

Location of integration endpoint applications (OIC: Region)

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.

Integration Patterns and Design 

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

PaaS4SaaS

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

Adaptershttps://docs.oracle.com/en/cloud/paas/integration-cloud/find-adapters.html

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.

File Handling Integrations

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 Based OIC integrations
OIC Adapter/Feature Feature
File adapter

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 adapter 

REST Attachment for large files

Connect to OCI Object Storage service

File Server Capability Embedded sFTP repository in OIC for integration ile storage needs
Connectivity Agent

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 based Integrations

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.

Messaging Integrations
OIC Adapter/Feature Feature
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

 


Scheduled Integrations

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 requirements

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

  • Federation with Enterprise wide Identity provider
  • Single sign on between OIC and SaaS applications
  • Hybrid integration with on-prem networks and applications
  • Separation of identity stores between Dev, Test and Production 
  • User identity propagation via OIC

Search for specific solution playbooks on the Oracle Architecture Center

Messaging sequencing - Resequencer use case

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.

Application database/ Parking lot pattern

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

  • tracking datastore - business milestones and state tracking
  • resubmission store - store failed requests for remediation
  • persistency - storage of data between integration flows
  • guaranteed message delivery -  persistence of messages at milestone for compensation

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
https://www.ateam-oracle.com/oic-error-handling-guide
https://www.ateam-oracle.com/advanced-error-handling-oic

References


 

Join the discussion

Comments ( 1 )
  • kavya Saturday, February 27, 2021
    Great read! Thank you for such useful insights. Visit here for advanced technical courses on Oracle Project Accounting ONLINE TRAINING
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha