46,79 €
Understand everything you need to know about Oracle's Integration Cloud Service and how to utilize it optimally for your business
This book is ideal for any IT professional working with ICS, any Oracle application or cloud solution developer or analyst who wants to work with ICS to deliver business value.
Businesses are built on data, and applications that access that data. In modern businesses the same cloud-based data stores and applications might be accessed by hundreds of different applications from thousands of different devices via APIs. To make this happen, APIs must be wired together i.e. integrated. Oracle Integration Cloud Service provides a complete method for integrating enterprise applications in the cloud. Integration Cloud Service (ICS) provides a cloud hosted means to integrate systems together using a graphical means to define and represent integrations.
This book will be a comprehensive, hands-on guide to building successful, high-availability integrations on ICS. This book sets out to demonstrate how ICS can be used to effectively implement integrations that work both in the cloud and on premise. It starts with a fast, practical introduction to what ICS can do for your business and then shows how ICS allows you to develop integrations not only quickly but in a way that means they are maintainable and extensible. Gradually it moves into more advanced integrations, showing how to achieve sophisticated results with ICS and work with external applications. Finally the book shows you how to monitor cloud apps and go beyond ICS to build even more powerful integrated applications.
By the end of the book, you will the knowledge on how to use ICS to solve your own integration needs and harness the technologies in a maintainable and sustainable manner.
This book will take a pragmatic approach and will be a business-focused guide to delivering business value with ICS.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 478
Veröffentlichungsjahr: 2017
Copyright © 2017 Packt
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: January 2017
Production reference: 1130117
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78646-072-1
www.packtpub.com
Authors
Robert van Mölken
Phil Wilkins
Copy Editor
Safis Editing
Reviewer
Rolando Carrasco
Project Coordinator
Nidhi Joshi
Commissioning Editor
David Barnes
Proofreader
Safis Editing
Acquisition Editor
Nitin Dasan
Indexer
Aishwarya Gangawane
Content Development Editor
Mayur Pawanikar
Graphics
Disha Haria
Technical Editor
Prasad Ramesh
Production Coordinator
Nilesh Mohite
As the digital age embraces each of us, our businesses and the world around us, the importance of Software as a Service (SaaS), Cloud Integration, and API Management and is higher than ever before. Today, every business is not only expected to lead but also be able to pivot and flex to ride over disruptions or even disrupt age old industries themselves-be it banking, public sector, hospitality, music or any other, even the 300 year old taxi industry. Today businesses expect their IT to be agile and rapid enough to enable them to compete and lead in an environment where the next technology-led disruption is always just around the corner.
Enterprises, large, and small, are seeing rapid uptake of best of breed SaaS applications, often led not by the CIO or IT, but by the Line of Business (LOB) such as the HR manager, the sales VP or the marketing officer. SaaS bring unprecedented advantages of the cloud with rapid deployments, ease of use and huge savings in time and money. While SaaS undoubtedly brings these benefits, it doesn't take long for the LOB to realize the importance of their SaaS applications integrating with each other, with existing on-premises applications and with business processes across the enterprise – without this SaaS is nothing but silos as a service. This is where the rapid development and elevated user experience of the leading Integration Platform as a Service (iPaaS)-Oracle Integration Cloud Service (ICS) comes in.
In this book, Phil Wilkins and Robert van Mölken, take us through an exciting and insightful journey of how Oracle ICS solves exactly this crucial and urgent need that businesses face today – an iPaaS solution that complements your SaaS and on-premises application landscape allowing SaaS business users to rapidly build cloud and hybrid integrations, while allowing IT to have visibility of these integrations at design time and runtime, across the enterprise.
Phil and Robert, bring years of rich experience solving integration problems for market leading businesses across the globe. Through this book, they not only share their expertise of Oracle ICS through in-depth information on leveraging the service but also take us through an exciting journey weaving through various aspects of rapidly building cloud and on-premises integrations-simple as well as complex, multi-step orchestrations – leveraging tens of out of the box connectivity adapters and monitoring capabilities that Oracle ICS brings, for the SaaS user as well as IT. Phil and Robert, have not only shared when and how to use Oracle ICS for your business but have also articulated how to effectively solve modern business integration problems.
Your drive and expertise will always have the biggest impact on your IT and business, but I hope the knowledge you gain from this book of Oracle ICS enables you further to build the technical, architectural, and integration capabilities your business critically needs today, whether in the cloud, on-premises or both, to innovate and to future proof your business and IT.
Vikas Anand
Vice President, Product Management, Oracle Integration Platform Oracle Corporation
Robert van Mölken lives in Utrecht, the Netherlands, and is a Fusion Middleware specialist. He has over 9 years of experience in IT. Robert studied computer science at the University of Applied Sciences in Utrecht and received his BCS in 2007. Before his graduation, he started as a graphic designer and web developer, but soon shifted his focus to Fusion Middleware. His career started just before the release of Oracle SOA Suite 10gR3 and progressed heavily from there. Currently, Robert is one of the expertise leads on integration and cloud at AMIS. Before he started working at AMIS, he already had 4 years of experience in SOA Suite 10g and 11g. AMIS is specialized in most of the facets of the Oracle Red Stack and is an initiator of the Red Expert Alliance, a group of well-known Oracle partners. His main emphasis is on building service-oriented business processes using SOA Suite 12c, but lately his focus has shifted towards cloud and on-premise integrations, using Oracle's offerings and custom JEE solutions. Robert is a speaker at international conferences and is frequently on the AMIS Technology blog, the Oracle Technology Network, and OTN ArchBeat Podcasts. He is one of the two SOA/BPM SIG leads for the Dutch Oracle User Group (OGh) and organizes these meetups. He also works closely with the SOA Oracle Product Management team by participating in the Beta programs. In 2016, Robert was named Oracle ACE, promoted from ACE Associate, for SOA and middleware, because of these contributions. He served as a technical reviewer for the book Applied SOA Patterns on the Oracle Platform. It was published in 2014.
I would like to thank the people who have helped me over the years to shape my professional career. I'm most thankful of the people at AMIS who gave me the chances to excel in my career. Without them, I wouldn't have come this far. My utmost gratitude goes to my friends and family for their loving support in writing this book. And finally, a special thanks goes out to my coauthor, Phil Wilkins, for his efforts and hard work in making this title a reality.
Phil Wilkins has spent over 25 years in the software industry with a breadth of experience in different businesses and environments, from multinationals to software start-ups and customer organizations, including a global optical and auditory healthcare provider. He started out as a developer on real-time, mission-critical solutions and has worked his way up through technical and development leadership roles, primarily in Java-based environments. Phil now works for Capgemini, specializing in cloud integration and API technologies and more generally with Oracle technologies. Outside of his work commitments, he has contributed his technical capabilities to support others in a wide range of activities, from the development of local community websites to providing input and support to the development of technical books (particularly with Packt) and software ideas and businesses. He has also had a number of articles published in technical journals in his own right and is an active blogger. The journal contributions have been part of a wider commitment to the UK Oracle User Group (UKOUG), where Phil is also a member of the Middleware Special Interest Group Committee. He has been recognized as an Oracle ACE Associate. When not immersed in work and technology, he spends his time pursuing his passion for music and with his wife and two sons.
I would like to thank those who, over the years, have offered me opportunities, encouraged me, and supported me to reached the point where this book has become a reality. I would also like to thank my coauthor, Robert van Mölken, not only for his hard work but for also his passion and commitment that has taken an idea to a conclusion. Lastly, but most importantly to me, I would like to take this opportunity to thank my wife, Catherine, and our two sons, Christopher and Aaron, for their tolerance of the many hours I spent in front of a computer, not only on this project but also many that have preceded and those that will surely follow.
We would like to thank the Oracle middleware team, particularly Ramkumar Menon, Yogesh Sontakke, and Jürgen Kress, who have been very supportive and engaging; they shared with us the details of the ICS Roadmap, providing access and an early glance of the product and answering the questions we posed.
We would also like to thank the Packt team, particularly David Barnes, who took the time to help us get this project up and running.
With a passion for system and application integration, Rolando Carrasco has spent most of his professional career working with customers to solve a common long-time problem: application integration. He started working with Hewlett Packard (Mexico) back in 2001, when he was in college. Even though his tenure with HP was short, as he realized very early that his professional career should be focused on Applications Integration. He started to implement integration solutions with JAVA, XML, Web Services, and EAI. He graduated with honors and was the best student of his batch (1997-2001). He studied in Mexico at Universidad Iberoamericana. The HP and Compaq fusion initiated a lot of changes in HP, so Rolando moved to Oracle, and that changed his professional career. At Oracle, he was always focused on the integration technology that Oracle had at that time; it was not as many products as today, but it was something to start with.
Then the Collaxa acquisition by Oracle happened, and that was the first step in this journey that turned Rolando into one of the most respected professionals in the Oracle SOA space for the Latin-American market. Rolando started to work with Oracle BPEL PM and had the opportunity to join the Oracle Product Management Team. He was the first PM for LAD in those days, covering Mexico to Brazil.
From 2005 to 2010, he was a Principal Product Manager for the Latin-American region and was the in charge the whole Fusion Middleware stack. Oracle acquired most of the components that are the foundation of the current Middleware offering: BEA, Thor, SUN, Oblix, Tangosol, and so on, at that time. Rolando had to be proficient in the whole stack, which was great challenge because of the extension of every product. All this kept Rolando very busy in the whole region and gave him the opportunity to work with the most important customers of the region. From Mexico to Argentina, Rolando collaborated with the different Oracle subsidiaries to promote the usage of Fusion Middleware.
Then in 2010 he joined S&P Solutions as an associate. S&P Solutions is one of the most important Oracle partners in the Latin-American region. In S&P, Rolando has had the opportunity to implement most of the Oracle Fusion Middleware stack, with the top companies in Mexico (telcos, financial institutions, retailers, manufacturing, and construction). Rolando is an Oracle ACE and is also one of the leaders of the ORAMEX Oracle Users Group in Mexico. He has a lot of articles and posts published on his blog, (http://oracleradio.blogspot.com/) as well as in the Oracle Technology Network for the Spanish speaking community.
Rolando wrote, back in 2015, the Oracle API Management 12c implementation book together with some other friends and colleagues, and this has been one of the greatest achievements in his career.
I would like to thank, first and foremost, my savior and lord Jesus Christ. Everything I do is to thank him and for him. I also thank my wife, Cristina, and my daughter, Constanza, as well as my parents, Rolando and Mercedes, and my brother, Manuel, for being my support. I would also like to thank my company, S&P Solutions, and my friends, in particular Paola, Erick, Ricardo, and Leonardo. I would also like to thank Robert van Mölken and Phil Wilkins, who are the authors of this book. I want to thank them for allowing me to be the technical reviewer. It was a very interesting and fun time to be reviewing all the chapters and sharing my thoughts with such a great Oracle professionals.
For support files and downloads related to your book, please visit www.PacktPub.com.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
https://www.packtpub.com/mapt
Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt books and video courses, as well as industry-leading tools to help you plan your personal development and advance your career.
Thank you for purchasing this Packt book. We take our commitment to improving our content and products to meet your needs seriously-that's why your feedback is so valuable. Whatever your feelings about your purchase, please consider leaving a review on this book's Amazon page. Not only will this help us, more importantly it will also help others in the community to make an informed decision about the resources that they invest in to learn. You can also review for us on a regular basis by joining our reviewers club. If you're interested in joining, or would like to learn more about the benefits we offer, please contact us: [email protected].
As you are reading this, we can assume you will have some sense of what Oracle Integration Cloud Service (ICS) is; if you don't, then do not worry, as this book will guide you through the product and the underlying concepts. We start by putting ICS into context in terms of the rapidly growing cloud marketplace, and given that we are writing for the benefit of a broad audience, let's try to get a common understanding. As you probably know, enterprise cloud solutions can be roughly split into three layers: Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). ICS fits into the broad band of PaaS, which itself is divided into many forms, but we will come back to that in a moment. IaaS services such as Amazon Web Services, Microsoft Azure, and Oracle IaaS are well understood–effectively, the provision of virtualized hardware and the idea is not that new. We just have cool new names and have developed the concept. If you were involved with websites 10 years ago, you would have talked about hosting using a third-party server on which you would have installed a chosen website tool or written something from scratch. The difference between then and now is primarily the hyperscales, the speed of provisioning, and the ability to provision as many servers as you need. SaaS, at the end of the scale, is essentially a full-blooded application that users may be able to configure to meet their specific needs, but fundamentally, there is no major development involved. Illustrations include commodity blogging solutions such as WordPress and enterprise-class capabilities such as Salesforce and Office 365.
PaaS differentiates itself from the top and the bottom tiers by the fact that the platform will give you a foundation far greater than just the operating system and network, but not a complete solution that is ready to configure and use. PaaS represents the cloud-based provision of the resources you would need to build a contemporary enterprise solution such as an empty database and an application container. To return to our IaaS analogy, if in setting up a hosted website you were given all the software preinstalled to then build the website (for example, a MySQL database and perhaps a CMS solution such as Drupal) and your provider took care of the patching and so on, of the software (that is, deployment of the latest software versions with new features, bug fixes, and security fixes for the O/S, MySQL, and Drupal), then you were buying into the idea of PaaS. The challenge in understanding is the vast breadth of functionality here – from almost SaaS-like offerings such as WordPress (which can be used to build whole websites) to cloud-hosted databases, which are only a bit more than IaaS. As a result of all the flavors of PaaS we talk about, the different areas of PaaS have developed their own terms to make them distinct from other PaaS offerings; for example, integration platforms have adopted the term of iPaaS (integration Platform as a Service), and cloud databases are referred to as DBaaS, and so on.
This fragmentation, as well as the desire for a similar acronym for all layers, has spawned the adoption of the expression XaaS—anything (or X) as a Service.
iPaaS can be commonly characterized in two flavors of products—the heavily technical solutions such as Oracle SOA Suite (known as SOA CS) and IBM's WebSphere Application Server on Cloud, along with the second type with graphical user interface-driven solutions in which ICS competes, which includes products such as MuleSoft, Dell Boomi, and SnapLogic. These more visual and often less technical tools can often draw on more consumer-like experiences, and you can trace the origins of this group of iPaaS solutions to consumer predecessors such as products in the form of solutions such as IFTTT (If This Then That – https://ifttt.com/) and Zapier (https://zapier.com), where you could set up in a fairly visual manner integrations like, when a favorite RSS feed posts something, you can get it to be tweeted by on your Twitter account by exploiting the APIs provided.
The difference between solutions such as IFTTT and iPaaS at the enterprise end of the spectrum is sophistication, capability, security, and reliability; that is, you expect enterprise solutions to be 24/7 resilient and very robust, not to mention, having a focus on connecting enterprise solutions such as Salesforce, Workday, Oracle Taleo, Office 365, and SuccessFactors. That said, as more social and collaborative platforms influence more and more of the workplace, we will see this line blur.
The last thing to keep in mind with our first iPaaS group is that these more technical products are typically cloud-enabled versions of their mature on-premises solutions. As mentioned previously, SOA CS is Oracle SOA Suite when deployed on-premises (with a few additional tools added to address the need to hide the platform considerations of the deploying SOA). The newer generation products, such as ICS, Boomi, and MuleSoft, are largely focused on a cloud delivery approach and cannot be deployed as on-premises solutions in the traditional manner (such as SOA Suite), although vendors such as Oracle are leading innovative thinking in this space.
Before we look at why ICS is a significant product in the iPaaS space, it is important to remember that you do not need to have acquired any other products from Oracle to use it. In simple terms, ICS can be used to integrate with any application/service if it complies with one of a number of supported standards or has an adaptor. The ability to offer adapters that simplify integration is going to be an area of growth and market differentiation.
Oracle has several distinct advantages in the marketplace that makes ICS a very significant player. Setting aside the arguments of Oracle's deep pockets, the factors you might consider are as follows:
The last point here is worth exploring a little further. Oracle's application portfolio has grown through build as well as acquisition. This has meant Oracle has needed to have a story for making these products working together easily. This approach has changed over the years, starting when Oracle effectively owned multiple discrete products and having overtime brought the best of the different products together to form what is now known as Fusion applications. The Fusion applications are also the core of many of Oracle's SaaS solutions (and the foundation of Fusion applications is Fusion Middleware and is the basis of nearly all Oracle products today).
The following diagram illustrates how Oracle has evolved and enabled integration between the different portfolio offerings over the last decade to arrive at where they are today:
We can characterize the different periods and their approaches to integration along the following lines:
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.
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:
Beyond the use of ICS, we have taken the approach of utilizing additional services and tools that are free wherever possible. We will explain in more detail the different tools and services, but let's start by just introducing what is needed:
Several of the chapters also make use of additional external services to demonstrate some of the features such as file-level integration and social web services. To demonstrate such capabilities, we have created accounts with the following services. To follow these chapters, you may wish to do them. The services are as follows:
This book is intended for web developers with no knowledge of WebStorm yet, but who are experienced in JavaScript, Node.js, HTML, and CSS, and reasonably familiar with frameworks such as AngularJS and Meteor.
To be able to describe, work with, and simulate (mock) web services that use the REST paradigm (explained in Chapter 1, Introducing the Concepts and Terminology) easily and in a way that reflects the sort of integrations you are likely to build with ICS, we have chosen to use Apiary.io (although there are other services on the Internet that offer similar capabilities). We chose Apiary.io as Oracle are developing a closer relationship with apiary with other products, so it may be possible that Oracle will develop its ecosystem for ICS to further incorporate apiary in the future. Apiary also offers a pricing model that allows you to get started without any additional expenditure.
Cloud services that offer support for SOAP mocking are limited, in part as REST is overtaking SOAP as a more popular way to provide web services and define them using definition syntaxes such as Blueprint and Swagger. We have adopted Mockable.io for this book – driven by its ease of use and simplicity and again free startup model.
When you first start using ICS, you will use Oracle's cloud managed website, which will allow to select the service(s) that you want and configure users. In this book, we have deliberately chosen not to write about this process so that we can concentrate on the application of ICS, which generally will be of greater value to you, we believe. The process of managing users is relatively simple. In addition to this, both Oracle and their partners will surely assist any customers in managing environment setup as it is in their interests to see customers using their services successfully.
This book seeks to support a broad range of readers ranging from Citizen Integrators to software architects and developers. This brings in the question – what is a Citizen Integrator? The term Citizen Integrator can be traced back to at least 2009 with Gartner (http://www.gartner.com/newsroom/id/1212813) as a variation on the idea of Citizen Developer. Gartner proposes and we are now seeing the idea that you no longer need to be a technologist to be able to integrate solutions. A Citizen Integrator can be characterized as anyone who can as easily be part of an organizations, business community as much as the IT part of a business. These individuals will have a level of technical appreciation, and will certainly understand the semantics of the data being exposed. For example, a business analyst is as likely to use ICS to build integrations as an IT specialist.
In this book, you will find a number of text styles that distinguish between different kinds of information. Here are some examples of these styles and an explanation of their meaning.
Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "An XSLT style sheet is an XML document containing the root node <xsl:stylesheet>, which is declared by the xsl prefix and is mandatory."
A block of code is set as follows:
<html> <body> LET $book := doc("bookstore.xml")/book FOR $ch in $book/chapter WHERE $book/chapter/num < 10 ORDER BY $ch/pagecount DESC RETURN <h2>{ $ch/title }</h2> </body> </html>Any command-line input or output is written as follows:
curl –u username:password –H "HTTP header attribute settings inquotes" -X HTTP operation e.g. GET target URLNew terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "Besides the home page, all the functions are part of the Designer Portal."
Warnings or important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book – what you liked or disliked. Reader feedback is important for us as it helps us develop titles that you will really get the most out of. To send us general feedback, simply e-mail [email protected], and mention the book's title in the subject of your message. If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide at www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
To complete the integrations, it will be necessary to download the schemas and WSDLs from the Packt site or the author's site at https://www.oracle-integration.cloud. You may also want to download the exported implementations from the different chapters which will also be available that these sites.
The XSDs, WSDLs, and related artifacts have not been written to reflect best practice (such as separating the WSDL and XSD content) but to provide the material in a form that keeps the content simple and easy to follow as our goal in the book is about mastering ICS, rather than best practices for web standards.
You can download the example code files for this book from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.
You can download the code files by following these steps:
Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:
The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/Implementing-Oracle-Integration-Cloud-Service. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
We also provide you with a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from https://www.packtpub.com/sites/default/files/downloads/ImplementingOracleIntegrationCloudService_ColorImages.pdf.
Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you could report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded to our website or added to any list of existing errata under the Errata section of that title.
To view the previously submitted errata, go to https://www.packtpub.com/books/content/support and enter the name of the book in the search field. The required information will appear under the Errata section.
Piracy of copyrighted material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works in any form on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.
Please contact us at [email protected] with a link to the suspected pirated material.
We appreciate your help in protecting our authors and our ability to bring you valuable content.
If you have a problem with any aspect of this book, you can contact us at [email protected], and we will do our best to address the problem.
This chapter gives us an overview of the concepts and terminology that apply when implementing integrations with Oracle Integration Cloud Service. It explains the components a general integration consists of, with a step-by-step approach.
When we talk about integration, we mean the act of bringing components together into one single system. In the context of IT, we refer to a process that stitches together different subsystems, so that the data contained in each system becomes part of a larger single system that can share data more quickly and easily.
Oracle Integration Cloud Service is a solution that enables you to simplify integrations between cloud applications, and between cloud and on-premises applications. It helps you create connections to well-known and less-known SaaS and PaaS applications, using the available cloud adapters, publish or subscribe to the Messaging Cloud Service, or use industry standards such as SOAP, REST, FTP, File, and JMS. Most of these technologies will be explained in more detail later. Integration Cloud Service (ICS) provides enterprise-grade connectivity regardless of the application you are connecting to or where they are hosted.
The concepts and terminology can be categorized into three major areas:
We can engage with Oracle Cloud Services and especially with ICS by going to http://cloud.oracle.com/integration. Here we can try the service for free, which we can use when going through this book.
Before we dive deep into the major three areas, let's first take a look at the typical workflow when creating integrations with Oracle Integration Cloud Service. Since ICS is a cloud service, you only need to open a browser and enter the URL of your Cloud instance, for example: https://instancex-domainy.integration.us2.oraclecloud.com/ics.
We can sign into Oracle Integration Cloud Service by entering our credentials. Just like any Oracle Cloud Service users can be provisioned after subscribing to a service. After logging in we are welcomed by the home page:
The home page gives an overview of all major functionalities that ICS has to offer. On this page we can easily navigate to each of these functions or to the help pages to learn the details. Besides the home page, all the functions are part of the Designer Portal. We use the Designer Portal to create the five pillars of ICS: Integrations, Connections, Lookups, Packages, Agents and Adapters. We will discuss the pillars in the chapters to come, but we specifically address the agents in Chapter 11, Calling an On-Premises API and adapters in Chapter 13, Where Can I Go From Here?:
Let's investigate the most important pillars. Each integration starts with a blank canvas:
An integration always consists of a Trigger (source) and an Invoke (target). A Trigger means the connection where the integration receives the message from. An Invoke means the connection where the integration sends the message to. These two connections are the first two objectives before creating an integration.
In the following figure, both Trigger and Invoke connections use a SOAP connector. Just simply drag and drop the connection to use from the Connections panel onto the drop zone:
When integrating two applications with each other, it is likely that the data structure which the Trigger and Invoke applications understand is different. The next objective is to map the data between the two applications:
It depends on the type of connection pattern which mappings you can create. For example, when dealing with an asynchronous/one-way operation you only have a request mapping. When dealing with a synchronous operation you have both request and response mappings. The only time you can create a fault mapping is when both trigger and invoke connections define faults. For instance, in the preceding case where both WSDLs define a business fault in their specification.
For point-to-point integrations these are the objectives to reach. But if you are dealing with more complex integrations a typical workflow can consist of a few more objectives.
For instance, if the data received from the Trigger needs to be enriched (that is, locating and adding additional data based on data included in the message) before it can be sent to the Invoke. The next objective would be to add a call to an enrichment service. This enrichment service can be a different connector from your trigger or invoke:
An enrichment service can easily be added with a simple drag and drop of the connection. Another objective can be to route to a different target based on the source data:
All of these objectives are going to be discussed in detail, but first let's explore the concepts and terminology behind them.
It all starts with creating connections. A connection defines the application you want to integrate with. If an application has a public API then ICS can integrate with it. For example, a well-known or lesser-known SaaS application, a public SOAP or REST API for weather or flight information, a custom application using the Messaging Service, or an on-premises Enterprise Resource Planning (ERP) application.
Oracle Integration Cloud Service comes with a large set of out-of-the-box Cloud adapters, to provide easy access to these applications. The amount of available adapters is constantly growing. Most of these adapters are built by Oracle, but through the marketplace it is also possible for customers and partners to build their own adapters.
Each connection can be used for inbound and outbound communication. The majority of available adapters support both ways. A connection commonly describes the type of application, the location of the API definition or endpoint, and the credentials needed to connect securely with the application.
Connections can be divided into four categories: SaaS adapters, Technology adapters, Social adapters, and on-premises adapters:
Oracle Integration Cloud Service offers a large collection of adapters to connect to SaaS applications natively. Software as a Service (SaaS), also called on-demand software, is software that is offered as a hosted service. SaaS applications are typically accessed by users using a browser, but most offer API's to access and modify the data or to send events to the SaaS application to perform a task. For the most popular SaaS vendors, Oracle supplies Cloud adapters that can be used by Integration Cloud Service. New adapters are released on monthly cycles. The SaaS adapters can also be developed by customers, partners, and even you.
Most SaaS applications that Oracle offers as the vendor have their own adapter in Integration Cloud Service, such as the ERP, HCM, and the Sales Cloud:
Besides that, ICS supports solutions such as Salesforce, Eloqua, and NetSuite out-of-the-box.
Because the SaaS application offers their API, you might wonder why a special adapter is necessary. The adapters offer a much more simplified experience through a powerful wizard. For example, the Oracle RightNow and Salesforce adapters support the automatic provisioning of Business Objects in the wizard. These adapters also handle security and provide standard error handling capabilities.
In Chapter 4, Integrations between SaaS Applications, we will integrate applications with some of these SaaS applications.
Not all applications we see on a daily basis are SaaS applications with prebuilt adapters. Industry standards such as SOAP and REST are used by the majority of APIs. SOAP is mostly used for system-to-system integrations, whereas the lightweight REST protocol is used to provide access to mobile applications. For both protocols Oracle Integration Cloud Service provides an adapter.
Originally an acronym for Simple Object Access Protocol, SOAP is an industry standard protocol originated around 2000. This specification is used in the implementation of web services and describes exchanging structured information. The SOAP protocol uses XML as the markup language for its message format. SOAP itself is not a transport protocol, but relies on application layer protocols, such as HTTP and JMS.
Web services that are built to communicate using the SOAP protocol use the
