What this book covers
The book's goal is to illustrate the capabilities of ICS and how they can be applied. The book will introduce some concepts and technologies that will allow you to develop integrations not only quickly but in a way that means they are maintainable and extensible. The book will also help guide the reader as to where more information can be found, as a single volume can't cover every aspect of integration.
Chapter 1, Introducing the Concepts and Terminology, is an overview of the ideas and terms that anyone working with ICS and integration generally needs to have a basic handle on, and it also introduces common characteristics of integration with ICS.
Chapter 2, Integrating Our First Two Applications, is the first practical use of ICS, which will illustrate integrating two systems together.
Chapter 3, Distribute Messages Using the Pub-Sub Model, reworks the integration demonstrated in the previous chapter to use the pub-sub model to help demonstrate the differences and benefits of the different approaches.
Chapter 4, Integrations between SaaS Applications, builds upon the ideas presented so far, explores how to integrate SaaS solutions, and shows how you can test your integration without affecting a live system.
Chapter 5, Going Social with Twitter and Google, looks at how connecting social applications differ. As social capabilities become ever more important, how do you connect and authenticate against such services?
Chapter 6, Creating Complex Transformations, explains that simply connecting systems together and performing data mappings is only the beginning of integration. Often, integration will need to enrich the data from simple things like transforming different representations and beyond.
Chapter 7, Routing and Filtering, demonstrates how things can be done when you need rules to determine who will receive data.
Chapter 8, Publish and Subscribe with External Applications, takes the concept of subscribing to events a step further using other Oracle middleware capabilities.
Chapter 9, Managed File Transfer with Scheduling, looks at how some processes follow the older file-based integrations with ICS and the use of file transfer, because not all integrations are event-driven.
Chapter 10, Advanced Orchestration with Branching and Asynchronous Flows, demonstrates the latest capabilities of ICS that include the ability to make parts of the integration asynchronous, so the process is not limited by the slowest part of an integration.
Chapter 11, Calling an On-Premises API, look at how ICS enables a cloud integration platform to work systems in different clouds or on-premises easily with forecasts for enterprises needing to run hybrid environments (that is, any combination of public, private, and normal on-premises solutions).
Chapter 12, Are My Integrations Running Fine, and What If They Are Not?, examines how to determine if things are running well or not, and when they are not, how to diagnose problems because, in the ideal world, nothing ever fails, but the world is not perfect.
Chapter 13, Where Can I Go from Here?, presents the other resources that are available to you to further exploit ICS because, with everything presented so far, we have not distinguished between a live environment and a development environment.
How we have approached this book
The approach we have adopted with this book is worth explaining. If you read the section on the target audience you'll note that we're not aiming only at the developer community but at a wider potential user audience of ICS. To help us do this, we have set ourselves some parameters that will help you understand why things have been done a particular way:
- Using tools that the entire target audience can use and understand; so, nice integrated developer tools are not used for most of the book – there are a couple of areas where they are relevant, though.
- Not forcing the reader to buy lots of extra products to allow the majority of the examples to be exercised – this does mean that rather than real end systems, we use tools to allow us to pretend they exist. If you are a developer seeing this, you will recognize this as simply implementing the idea of mocking. We have used apiary and
Mockable.io
for this in the book. We will also make use of several different but well-known tools to demonstrate triggering of web services such as SoapUI, cURL, and Postman to help give a sense of the different choices, although we make strong use of SoapUI as it is a leading tool. - Not getting caught up in any unnecessary complexities that can arise to ensure data can flow from A to B. All the examples should work from your home or work computer without needing to talk with your Internet provider or network manager about IP addresses.
- Trying to build the examples around a plausible idea that anyone could relate to. To achieve this, we have drawn on the idea of services that can be connected to the FlightAware API, which provides the ability to get events and query information relating to flights, airports, and air travel generally at one end and other systems at the other, for example, Salesforce or a Flight Progress notification. The example will only be a vehicle to help illustrate the product's utilization, though:
- The FlightAware API can be found at https://uk.flightaware.com/commercial/flightxml/
- The services we have used are not fully aligned with the FlightAware API to simplify the amount of effort in the reader implementing the examples
- The simplification also enables us to focus on the parts that are central to explaining ICS and the ideas behind it (so not all elements are used in the example)
- Rather than explaining every step in each example, we have reduced the amount of explanation provided as certain activities need to be repeated, such as setting up connections.
- Conveying the ideas and concepts will always take priority of being puritan with best practices.
- ICS is a growing and maturing product—everything in this book will hold largely true for a few years—even if the occasional screen label changes or stylesheets get updated, the reader should understand what they are being shown as well as how.