As the concept of Service-Oriented Architecture has matured, it has triggered the emergence of new, sophisticated, and specialized tools: Enterprise Service Buses (ESB) for service virtualization, BPEL for orchestration, Human Workflow, Business Rules for externalizing key pieces of logic, and so on. As a result, developers now have a rich set of tools to work with. However, this can itself present a challenge: how can one keep up with all these various tools and their capabilities? One of the key goals of Oracle SOA Suite 11g is to assemble these tools in a cohesive, simple-to-use, and highly-integrated development environment. This book, organized around a tutorial that is built in an iterative fashion, will guide you through all the components of the suite and how they relate to each other.
The authors are part of the Oracle SOA Suite product management team, and the idea of the book came as we were delivering an earlier version of this material, as an accelerated internal training at Oracle—before the product was even released. These training sessions were very well received and we decided it was worth sharing this material with a larger audience.
This book is not meant to be used as reference material—it is an accelerated learning path to the Oracle SOA Suite. The focus is on breadth rather than on depth. More specifically, we wanted to highlight the key capabilities and role of each product in the Oracle SOA Suite and explain how they can be put to work together to deliver highly capable and flexible applications. Too often we, as developers, tend to stretch the limits of (not to say abuse!) a few technologies, simply to stay within our comfort zone—and because there is always so little time to learn new things. With its streamlined format, we hope this book will give you the confidence to further explore some of these technologies you had never looked at before.
The principal aim of this book is to get you operational with Oracle SOA Suite 11gR1 quickly and easily. In this spirit, the largest part of this book is dedicated towards a set of hands-on step-by-step tutorials that build a non-trivial SOA composite that you can deploy, test, run, monitor, and manage.
Chapter 1 starts the book off with a quick refresher on some of the useful concepts regarding SOA and services and concludes with an introduction to Service Component Architecture (SCA).
Chapter 2 discusses the key challenges in the technical implementation of SOA-based applications and how Oracle SOA Suite 11g leverages SCA principles to address these challenges.
Chapter 3 describes the business and technical requirements for a purchase order (PO) processing composite and gives you an overview of how the complete solution will be built up in a set of discrete steps using a series of tutorials using Oracle SOA Suite 11gR1.
Chapter 4 gives you the necessary instructions for download, installation, and configuration of Oracle SOA Suite 11gR1.
The core functionalities of the PO processing composite that is described in Chapter 3 are built in Chapters 5 through 10. This series of chapters will teach you the basics of working with Oracle SOA Suite 11g and the IDE (JDeveloper).
You start building the composite using a mediator, as well as web services and database adapters. You then add a file adapter and a BPEL (Business Process Execution Language) component to create a process that orchestrates the overall flow, adding human interaction, creating conditional process execution using business rules, and accessing external services via a JMS (Java Message Service) adapter. At the end of each and every chapter, you will have a composite that can be deployed, run, and tested. You are advised to go through these tutorial chapters, 5-10 in a sequential manner.
The tutorials in Chapters 11 through 19 let you add more functionality to the composite and explore some of the operational features of Oracle SOA Suite 11gR1. You will learn service re-use and virtualization using Oracle Service Bus (OSB), explore some of the composite life cycle management features, test the composite using the unit testing framework, incorporate exception handling, add security policies to a service, set up a business activity-level tracking of the composite transactions using Oracle Business Activity Monitoring (BAM), work with events using the unified services and events platform of Oracle SOA Suite 11g, handle data using Service Data Object (SDO) specification, and connect the composite to a Business-to-Business (B2B) gateway using Oracle B2B.
By the end of Chapter 19, you should have a good grasp of all components in Oracle SOA Suite 11gR1, and be able to create modular, full-featured service composites. The concluding remarks in Chapter 20 will briefly discuss some of the ways you could use such composites to provide business benefits.
This book is intended for any SOA developer or architect, with some basic understanding of Service-Oriented Architectures and web services technologies. No prior knowledge of Oracle middleware is assumed. However, people with experience with SOA Suite 10g will find this material of interest as well because of its focus on how things work together, an area that has been greatly enhanced with the 11g release.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
Code words in text are shown as follows: "Each schema can reference definitions in other schemas by making use of the xsd:import
directive."
A block of code will be set as follows:
<types> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://xmlns.oracle.com/Echo" schemaLocation="Echo.xsd"/> </schema> </types>
When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:
<types> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://xmlns.oracle.com/Echo" schemaLocation="Echo.xsd"/> </schema> </types>
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "Double-click on the Case bar and set the name to USPS".
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an email to <[email protected]>
, making sure to mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>
.
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 on www.packtpub.com/authors.
The authors are contributing to a blog that you might want to consult for updates, additional samples, and information about Oracle SOA Suite. The blog can be found at: http://blogs.oracle.com/soa.
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.
Visit http://www.oracle.com/technology/products/soa/soasuite/11gthebook.html to directly download the example code.
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
Piracy of copyright 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 the location address or website name immediately so 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.
You can contact us at <[email protected]>
if you are having a problem with some aspect of the book, and we will do our best to address it.