Last month, Oracle made available their latest tool within their integration cloud strategy, Integration Cloud Service (ICS). With the number of SaaS applications growing, the need to integrate is becoming more important, making ICS even more relevant.
The intended usage of ICS are implementations of simple, light weight integrations between SaaS applications. It resides within the cloud, is built off the Oracle Service Bus, and is available on a monthly subscription basis.
Pre-built solutions will be available in the marketplace (think app store), allowing for reusable integrations to be purchased, implemented in an accelerated manner. This will provide the option to reuse existing integrations as-is, or build on top of the existing, customizing for your business integration needs. If the pre-built solutions don’t meet your integration needs, the capability to develop your own from scratch is always on option. Either way, the development of an integration within ICS can be done using the capabilities detailed in this article.
Within ICS, there are 4 aspects: Integrations, Connections, Lookups, and Packages. Each of these will be discussed in further detail.
Developing integrations between SaaS applications is done in ICS via a web based tool. Using drag and drop capabilities, an integration can easily be defined. Since the tool is built on top of OSB, the functions defined within the VETO (validate, enrich, transform, and operation) integration design pattern are available for implementation:
The same XSLT mapping tool available within the SOA Suite 12c is also available within ICS. ICS provides the ability to create the maps within the web based designer (see example below), but also has the ability to import maps developed in JDeveloper, allowing for reuse between cloud and on premise SOA implementations.
Of note is the ability to define complex mappings, using functions, operators and XSL elements. Glad to see this functionality included, since these are necessary in so many transformations used within an integration:
Through the use of the message cloud service adapter, the publish/subscribe integration pattern can be implemented. Along with this, ICS can listen to events generated by an application, providing the ability to then publish to whatever system is interested. If application generates an event, ICS can listen to it.
The dashboard within ICS gives visibility into what is happening within the integrations. Like auditing in SOA Suite, messages can be introspected for purposes of troubleshooting and debugging.
As shown below, the dashboard in ICS provides a snapshot of the health of the integrations:
The connections can be configured for notification of issues, ensuring that any issues do not go unnoticed:
Oracle SOA Suite has the ability to set sensors within an integration implementation, providing easy search capability for data defined within the sensor. The same capability in ICS is contained within ‘Business Identifiers for Tracking’. These defined fields are then searchable within the ICS dashboard, allowing for easy lookup of instances that contain the defined fields.
A connection is defined for any endpoint (source or target) that is implemented within an integration. These connections are based off of defined adapters. Adapters allow for easy connectivity to applications, insulating the developer from complexities that can occur when interacting with an application (i.e. token management). Currently, there are a handful of adapters available, with many more planned within the roadmap.
A new adapter framework is available for adapter development. The cool thing about these adapters are that they can used either in the cloud or within the on premise SOA Suite, provide greater reuse.
Domain Value Maps (DVM) have been a part of the Oracle SOA Suite for a while now. They provide a way to implement a lookup table (i.e. state abbreviation to state name) easily within the toolset. ICS has the same capability, allowing for cross reference lookup of data within mappings. Just like DVMs, the tables are reusable across multiple integrations. Along with this, the Lookup maps can be imported and exported to CSV format, again allowing for reuse across cloud to on premise implementations.
Packages allow for grouping of integrations, providing the ability to import and export packages between environments. The action of exporting a package creates a .jar file, which can then be imported into another environment. When a package is imported from a .jar file, all artifacts (integration, connection, lookup, etc.) are created/updated. One thing to note about this functionality is the impact on connections. When a connection is imported, it is created with an empty configuration the first time, eliminating the need for a config plan. Instead, the configuration can be updated within the environment deployed to.
ICS is a great option within the SaaS application integration space.
Join the Conversation
would this be ideal for saas applications or any restriction for saas to on-premise light weight transactions
Yes, this is an ideal solution for SaaS integrations. For SaaS to on-premise, the only restriction would be
access from the ICS endpoint to the on-premise application, which typically would go through a DMZ.
Excellent explanation in nutshell.