Architect: SOA
DOWNLOAD
 Oracle Service Bus
 Projects Archive
 Resources Archive
TAGS
SOA, Integration, Fusion, All Architect Articles

Jumpstart for Oracle Service Bus Development

by Ronald van Luttikhuizen and Eric Elzinga

Moving from Oracle Enterprise Service Bus to Oracle Service Bus

Published October 2009

In this article:

  1. Introduction
  2. Installation and Configuration Guide
  3. Tutorial 1: First spin - Getting to know Oracle Service Bus by exposing a simple service
  4. Tutorial 2: New adapters
  5. Tutorial 3: Data enrichment

[Page 1] [ Page 2] [ Page 3] [ Page 4] [ Page 5]

Abstract

This article is aimed at developers and architects who are familiar with Oracle Enterprise Service Bus (OESB) and are (fairly) new to Oracle Service Bus (OSB). The tutorials in this article highlight differences between these two products. The tutorials are based on a workshop in the WAAI community; a collaboration of Dutch consultancies (Whitehorses, Approach, AMIS, and IT-Eye). The goal of the WAAI collaboration is to share, bundle, and expand knowledge on the recent Fusion Middleware 11g release.

Introduction

When it comes to choices within Oracle's SOA product portfolio, life seemed to be somewhat easier a few years ago. When you needed service bus functionality, you choose Oracle's Enterprise Service Bus. Two things caused a shift that resulted in a richer and better set of ESB-like products: the acquisition of BEA, including its AquaLogic Service Bus (ALSB) product; and the evolution to Service Component Architecture (SCA) in SOA Suite 11g, which includes the Mediator component. These changes also made the choice for the "right bus" somewhat more difficult.

With the release of the last generation of Fusion Middleware 11g the smoke has somewhat cleared. ALSB has been rebranded as Oracle Service Bus (OSB) and is enriched with some of the functionality from Oracle ESB — JCA as transport protocol, an improved adapter offering including the AQ and Database adapter, and transformation capabilities based on XSLT — thus providing the best of both worlds. In Oracle's go-forward strategy, OSB is the strategic ESB product. The routing and transformation capabilities previously offered by Oracle ESB have been migrated to the Mediator component of SOA Suite 11g. Mediator is one of the many SCA components that can be assembled into service composites.

This new infrastructure based on SCA and OSB is depicted the following picture:

Figure 1: Infrastructure based on Oracle Fusion Middleware 11g

Depending on your needs and environment, there are two options for migration from Oracle ESB to this new Oracle infrastructure:

  • You only need bus-like functionality. Choose OSB since it is the better product compared to OESB and it is strategic to Oracle. You will need to migrate OESB flows to OSB projects.
  • You need a complete SOA-stack including service orchestration capabilities and possibly business rules, support for human activities, and so on. The best choice in this case is moving to SCA. Existing OESB flows providing routing and transformation capabilities migrate to Mediator components within a SCA composite — which can be done automatically by opening ESB projects in JDeveloper 11g — while OESB flows that connect your environment to the outside world should be migrated to OSB.

The tutorials in this article are based on building OSB projects from scratch, not on migration from other or previous products to OSB. Let's move on to the tutorials. First we need to install and configure Oracle Service Bus.

Installation and Configuration

Perform the steps from the Installation and Configuration Guide to setup your environment.

Case

The tutorials in this article gradually introduce the basic features of OSB and more advanced features that are different from Oracle ESB. For illustration purposes we'll use the fictitious global company Foo Inc. that wants to expose and create customer and order services.

The solutions to the tutorials can be found in the Projects Archive. This zip file contains the completed Oracle Workshop workspace and projects.

Tutorial 1: First spin - getting to know Oracle Service Bus by exposing a simple service

The multinational Foo Inc. wants to reuse a service of its local Dutch subsidiary that retrieves customer information. The Dutch payload has to be transformed into the English canonical data model.

Goal
Getting to know OSB basics such as Business and Proxy Services, and simple routing rules and transformation capabilities based on XQuery. Getting to know Oracle Workshop as IDE. Oracle Workshop is based on Eclipse. OESB uses XSLT for transformation. OESB development is done in JDeveloper.

Jump to Tutorial 1.

Tutorial 2: New adapters

Adding self-service capabilities for Foo Inc.'s customers using the service created in the previous tutorial. With this new service customers of Foo Inc. can email their personal information and will automatically be added to the back office systems, so they can make online purchases.

Goal
Getting to know the adapter support in OSB such as the e-mail adapter. OESB does not offer an email adapter.

Jump to Tutorial 2.

Tutorial 3: Data enrichment

Combining the customer service from the first tutorial and a basic ordering Web Service to create a composite service that is used when a customer purchases something from Foo Inc.'s website.

Goal
Getting to know the more advanced routing and transformation capabilities of OSB. Especially data-enrichment according to the VETO-pattern (Validate Enrich Transform and Operate) that is more difficult to achieve in OESB due to its lack of temporary variables.

Jump to Tutorial 3.