Should organizations go for Cloud based Integration Platform or On Prem based Service Oriented Architecture
Organizations require the point-to-point integrations to be governed and managed via a middleware product to reduce the number of point failures related to each of these as well as reduce the complexity with governing these integrations. With Oracle as a middleware, customers have a choice to look at a on premise or a cloud-based middleware product and hereby, in this article, leveraging our experience in supporting global customers, various features are compared at length to enable customers to choose either of these products based on landscape needs, complexity and business needs.
Oracle Service Oriented Architecture (SOA) Vs Oracle Integration Cloud (OIC)
Oracle SOA Suite is a comprehensive, standards-based software suite to build, deploy and manage integrations of service-oriented architecture. While SOA is customer managed, Oracle Integration Cloud 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 using drag-and-drop integrations between their various cloud and other on-premise related applications. However, in OIC, customers are responsible to build, deploy and monitor the integrations that solve their integration requirements.
SOA Overview
SOA provides companies, integration platform as a service. The environment is built automatically and instantly in a few clicks, allowing more time to develop/deploy SOA Composite applications and Service Bus projects.
It also provides real-time analytics while companies transition to Digital Business.
Oracle SOA Suite is used to build, deploy, and manage integration following the concepts of service-oriented architecture (SOA).
SOA Suite includes the following core components:
BPEL — Business Process Execution Language — Orchestrates integration processes.
Human Workflow — Creates interactions that require human input, like approvals or manual routing decisions.
Business Rules — Defines flexible business rules to direct actions in an integration process, such as approval routing decisions.
Mediator — Mediates messages and provides routing and the capability to transform simple message flows.
Oracle Integration Cloud (OIC) Overview
Oracle Integration enables various applications, systems, repository, and IT environments to connect with one another. With a real-time exchange of data and processes, the data and integrated cloud services can be accessed on multiple devices in a network or through the internet.
It eliminates barriers between business applications through a mixture of machine learning, prebuilt integration, and process automation.
OIC provides a vast collection of pre-designed connectors for platforms such as RightNow, Eloqua, Oracle Sales Cloud, and multiple social media channels such as Facebook, Twitter, LinkedIn, among others. This empowers businesses to achieve speedy and efficient results.
With competing technologies both have value, the challenge is to know when and why to choose between Oracle Integration cloud service and SOA.
SOA & OIC Components Comparison
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, in OIC. These can effectively replace existing 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.
SOA & OIC Components Comparison
SOA | Oracle Integration |
---|---|
BPEL Orchestrated | App Driven Orchestration Integration |
Service Bus/Mediator | App Driven Orchestration Integration |
Process | Process in OIC |
Human Workflow | Process in OIC |
Human Workflow | Process in OIC |
Business Rules | OIC Process Create Decisions |
B2B | B2B OIC |
Large File Handling/MFT | OIC File Server |
Hybrid Integrations | Connectivity Agent |
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.
For B2B use cases, Oracle Integration provides B2B capability to exchange business documents securely and reliably 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 document.
Use cases of SOA and OIC
To design the integration in SOA we can find different design patterns like Synchronous, asynchronous, one way patterns, which is similar in OIC also. We can find six different design patterns i.e Scheduled Orchestration, App Drive Orchestration etc. Based on our requirement we can choose the respective design pattern.
In SOA we can do the parallel flow in BPEL by using the flow activity, but in OIC we are unable to find flow activity.
When we do the polling activities by using Database adapter in SOA we are able to see multiple polling options but in OIC we can only find logical delete option in Database adapter.
Creating the connections is very easy in OIC as compared to SOA.
To handle the integrations errors, we can find fault-policies concept and catch all blocks in SOA. In OIC we can handle the faults through global and scope faults objects.
The transfer of bulk data files from remote server location to any other systems through OIC or SOA, can be done by using FTP adaper. For example, we can send the invoices files in FBDI fromat to ERP through OIC by using the FTP and ERP adapters.
For one of the mobile insurance and ecomerce business projects we have developed the integrations completely in SOA 12c for sending the mobile request data and order details from CRM to warehouse. Here we have developed the Simple Object Access Protocol (SOAP) based services by using synchronous and asynchronous design patterns.
Another customer which is a major printer manufacturing organization, we have developed the integration using OIC. In this scenario, the integrations are implemented using OIC design patterns namely Scheduled Orchestration and App Drive Orchestration.
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
Security requirements
OIC provides a wide array of adapters that connect to various Oracle Cloud, external cloud and 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
When to Choose SOA?
When large amounts of messages or when large files are to be sent, then the SOA is the best option.
If the logic of orchestrated transaction and service is complex, then SOA would be preferred with all BPEL features.
And needless to say, where there is a need for On-Premise integration due to regulatory requirements or compliance, SOA is recommended.
When to Choose OIC?
OIC is leveraged if the services and APIs are required to be in the cloud or already existing in cloud. In the case of legacy systems where default API’s are exposed, data can be integrated via OIC.
If you have an existing SOA architecture On-Premise that is working efficiently and the requirement is ― to only connect the already existing services with the cloud systems, then OIC would be a perfect fit.
Using connectivity agents, the integration can be created with the already existing services.
It is quicker and easier to develop atomic and simple integrations in OIC and as
Also, the initial investments are less in OIC, as the license is cheaper than SOA.
Looking for more guidance, please do not hesitate to reach out to marketing@3i-infotech.com