Understanding Integration Cloud and how to get the most out of your implementation

Author: Phil Wilkins Page 7 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

Conditional Mapping – ICS Definitive Tip #6

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

Differentiating the ICS Agent Types – Definitive Tip #5

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.

ICS Agent Comparison

Selecting which iPaaS Product(s) to use – ICS Definitive Tip #4

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

Short Best Practices Presentation for Oracle Partner Event

The book’s authors presented a brief session on the best practices at a packed Oracle Partner event. The following presentation – shows the material that was presented.

Some of these points are expressed in the book already, others are our Definitive Tips and Guides posts.

Applying configuration management and related dev practises – ICS Definitive Guide #3

Good development practises such as  configuration management and naming conventions have been a topic of conversation a number of times recently for us when it comes to ICS. In this post we will look at what configuration management means to ICS and the application of naming standards.

Why Configuration Management?

So why do we need configuration management with a tool such as ICS? The question depends on what stage of the software lifecycle you are, but a few reasons:

  • As a developer there have been occasions where we have tried to optimise something and then decided to reverted back to the last secured state in configuration control.
  • Deleted something and then regretted it, whilst desktops have the concept of paper basket to recover from, not so in ICS.
  • If your providing packages of ICS functionality you may have different released versions – so need to keep master copies of every version available to refer to.
  • Sometimes we get ‘configuration drift’ – and therefore need to have a reference point to compare to. This allows us to determine the drift and if it is appropriate to reset an environment. Whilst this may sound less significant, it is enough of a problem for tools like Puppet to incorporate the ability.
  • Tracking what versions of integrations are running in a development vs production environment.

Using iCal in Scheduling – ICS Definitive Tip #3

In ICS Definitive Guide #2 we looked at the scheduling of integrations and mentioned the possibility of using iCal. In this tip we shall explore advanced iCal facility for defining schedules within ICS.

icalThe iCal format is probably best known for sharing meeting events in tools such as outlook. The format is actually a standard defined by the IETF originally in 1998 (https://www.ietf.org/rfc/rfc2445.txt)  and updated several times the latest being IETF Logo - owner of iCal std 2015 (https://tools.ietf.org/html/rfc7529). The goal of the definition has been for the purpose of driving standardisation across PIM tools (Personal Information Management) tools which includes Outlook and Thunderbird etc. It is a substantial standard the original document ran to 150 pages, but the section supported by the schweduler’s advanced option purely relates to the reoccurence definition covered by section 4.3.10 of the original RFC, and only takes five pages. If you want to know lots about iCal and the varying revisions then you may find https://icalendar.org/ helpful.

It is worth mentioning that today ICS under the hood exploits Oracle’s Enterprise Scheduler Service (ESS). ESS documentation identifies that it works to the 2445 version of the specification (see here). ESS became a 1st class citizen component with the start of the 12c middleware product stack. As a result, if you see any errors processing an iCal configuration the error codes will reference ESS does.

Using Integration Versioning – ICS Definitive Tip #2

In this Definitive Tip, we are going to look at the ability to use Versioning on Integrations to seamlessly deploy update integrations is an important requirement of any enterprise integration platform.

ICS supports the model of semantic versioning, perhaps better recognised as versioning as Major, Minor and patch.  Which is best described at http://semver.org/.

This post will demo a minor and then a major version change. So we can see how change as the behaviours change between the two. A major change indicates an likely change in definition and minor one reflects logical change.

Seeing Versioning in Action

To demonstrate versioning we need an integration that is currently active. Ideally, you will have some sort of data feed or test framework, such as SoapUI or even a simple cURL script regularly triggering the integration. We need this script running to demonstrate the impact of the cutover.

Designer Content Filters – ICS Definitive Tip #1

Definitive Tips, like our Definitive Guide posts address features could not be incorporated into the book, either simply because the feature is new or simply down to the fact the new feature arrived since the book has been published. Unlike the Definitive Guide entries, the tips will always remain very short. The first tip will address content filters in the designer.

Designer Content Filters

Release 16.4.5 introduced a new filter feature to help improve the location of Integrations, Connections and other designer elements. If you visit the Integrations  parts of the designer for example, you will now see  additional options included in the banner as highlighted in the following screenshot:

Scheduling Orchestration Integrations – ICS Definitive Guide #2

This is the second article in the Definitive Guide series. This time we take a look at the ability to Schedule an Orchestration integration within ICS has arrived with release 16.4.5 release of ICS,   To demonstrate this, we are going to reuse our FlightSitRep endpoint from the book’s Chapter 3. If you have not got the book yet – it’s a WSDL one way integration that is connected to Mockable.io.

Creating Scheduled Orchestration

From the Integrations screen we need to click on the New Integration button, and select the Orchestration pattern in the pop-up dialogue. The first thing we will see when creating an integration is the Create New Integration dialog, as shown here:

create new orchestration wizard

As you can see the dialog has a new toggle option which defaults to represent the common approach to Orchestration, that being event triggered through an event or object defined by a connection.

iPaaS and Cloud Security

Oracle iPaaS SecurityWithin the Oracle iPaaS products you will encounter features that exist to help provide security or mitigate the risks of someone misusing Oracle cloud accidentally (or otherwise). These features look to mitigate security issues such as a Denial of Service (DoS) attack (e.g. flooding a web service with more calls than it can handle preventing genuine service calls for being serviced).

We thought it might be useful to pull some articles together that engage and talk about the challenges that can exist:

Page 7 of 8

Powered by WordPress & Theme by Anders Norén