Here is the slide deck from the presentation that the book authors delivered at Oracle OpenWorld 2017. It covers a number of recommendations, practises and tips…
Author: Phil Wilkins Page 6 of 8
-- I work for Oracle, all opinions here are my own & do not necessarily reflect the views of Oracle -- Oracle Ace Director Alumni
TOGAF 9 Certified Architect
- https://blog.mp3monster.org
Earlier in 2017, the Oracle A-Team released a Python library that abstracts the ICS REST API to make some management tasks that you may wish to perform easier. For example, identifying a set of integrations and activating or deactivating them, or simply importing and exporting them. In this Definitive Tip, we will look at the REPL tool and its benefits. The REPL tool can be downloaded here.
Getting setup on Windows at least is a little fiddly as you need to install Python and then depending upon your version of Python update the installer and retrieve a number of additional libraries. REPL itself is available here.
The authors of this book will be speaking at Oracle Open World 2017. Come hear us, and if you have a copy of the book, we’ll be happy to sign it for you.
This session explores best practices developed by AMIS and Capgemini for Oracle Integration Cloud Service in real-world scenarios. The best practices cover areas including configuration management, continuous integration, and use of the new REPL tool. Learn the various options for exposing databases to Oracle Integration Cloud Service that will work for the execution agent, and practical techniques for working with very large WSDLs such as the Salesforce interface. This session is presented by the authors of the recently published book “Implementing Oracle Integration Cloud Service,” Robert van Mölken and Phil Wilkins.Platform and Development: IntegrationSPEAKERSRobert van Mölken, Senior Integration Specialist, AMIS Services BVPhil Wilkins, Senior Consultant, Capgemini UK Plc
As we like all things ICS here. We have teased out of the OOW17 Session Catalogue the ICS sessions for you to consider.
- Oracle Integration Cloud Best Practices – Customer Panel [CON7014]
- Move from OnPremise Integration Suite to Oracle Integration Cloud [SUN7033]
- Digital Transformation: Implementing Oracle IntegrationCloud Service [CON4638]
- Integrate Salesforce.com & Workday with Oracle Integration Cloud Service (ICS) [CON7227]
- Simplifying Integration in the Cloud – New & Easier ways to Connect Applications [CON7016]
- Oracle Integration, API & Process Strategy [CON7118]
- ERP & HCM/HRMS Integration made simple with Oracle Integration [CON7020]
- Gain Insight into SOA Suite, ICS, PCS applications through Integration Analytics [CON7015] (includes on of the authors of the ICS Book)
- Integration Options for On-Premises and Cloud with Oracle E-Business Suite [CON6358]
- Reduce the Cost of Integrations While Modernizing Your JD Edwards Architecture [CON6608]
- Oracle Cloud Platform Strategy and Roadmap [GEN7119]
- Soaring Through the Clouds: Live Demo of 17 Oracle PaaS Services Working Together [CON2920]
- Integrating and Securing University Applications with Oracle Cloud Services [CON5983]
- The Top 5 PaaS Use Cases Driving Real-World Value for Enterprises [CON7019]
We have released a 2 minute tech tip through the Oracle Technology Network (OTN) which talks through the creation of a simple end to end integration using Oracle’s Integration Cloud Service (ICS).
Enriching an integration from data in a database or DBaaS (Database as a Service) is not an unusual requirement. Many integration use cases today need to access a database that is on-premises. The means to connect to the database is fairly obvious – the connection agent. Our book goes into a lot more detail as to why that is, and the implications of using database connections.
However when it comes to Oracle’s DBaaS a service it would be very easy to assume that given that you’re using two different parts of Oracle’s PaaS that it would be straight forward to connect the two together without an agent. However, at least today whether its on-premises or DBaaS you need to use a connection agent. This does mean that you’ll need an IaaS node to host the connection agent.
This quirk is driven by the fact that there are some scenarios that this does actually make sense. For example – the Oracle domains need to have a high level of isolation, so when the DBaaS is in another domain then the decoupling via the agent makes sense. When your database is in a different zone of the cloud – then you’re running DB calls across what is effectively a wide are network – not good.
The question of conditional mapping comes up regularly on the ICS part of community.oracle.com which prompted us to write this blog. So if you want the output of an integration in element X to contain value from element A or B depending upon element C there are a number of answers, each having pros and cons. So let’s look at them before we offer an example of how we would solve the simpler more common problem.. Your choices are ….
- Use the power of XSLT within the mapping,
- Use the conditional option Within a Basic Map Data or an Orchestration pattern,
- Use a custom piece of JavaScript
XLST | Condition in the flow | Custom Javascript |
Single path through the integration | Simpler to read and see visually | Can be used either in the condition oer the mapping. Easier to apply than XSLT directly. |
ICS doesnt make it the easiest to write this, but reading is fairly easy | Easy to visually understand, but means more maintenance effort | Easy to incorporate, but makes the development process multistep |
We have talked about the condition/filtering in the book, and we will tackle the use of JavaScript in its own Definitive Guide, so let’s look at the XSL mapping option, and probably the route that will cover most cases. In many respects this is nothing to do with ICS, and is all about the use of XSLT so you may find it helpful to have an XSLT reference to hand. To this end the following maybe useful:
- W3C – perhaps not the easiest to read, but definitely definitive,
- XMLSchool far more readable but keeps things simple, and focuses on XSLT to create (X)HTML content
In our book we talked about the difference between the agents offered by ICS, namely the Connection and Execution agents. Whilst we differentiated the two, we did focus on the connection agent as this is the type we expect to see used in most cases. However the execution agent still suffers from a level of confusion, and it has been helped by being called ‘ICS on-premises’.
As part of a number of recent conversations the questions and confusion of what the execution agent is and how it works has come up. There is the well known saying ‘a picture is as good as a 1000 words’ which prompted us to develop the diagram below as a power point slide – in its power point form much of the detail is used as an animated build up.
In the last few years Oracle’s iPaaS offerings have progressed significantly from one or two solutions such as Mobile Cloud Service to in excess of 35 offerings. This makes it challenging to decide which product(s) to use. The means for selection depends upon a range of factors including:
- Most suitable licensing model (ICS provides a lower cost of entry than SOA CS as you’re paying by message volumes)
- Development skills and desire to resilience or invest in people (SOA on-premises to SOA CS is easier than a technology change such as ICS)
- The amount of control you have in an environment – JCS offers more control than ACCS for example