Skip Headers
Oracle® Enterprise Service Bus Quick Start Guide
10g (10.1.3.1.0)

Part Number B28212-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

1 Introduction to Oracle Enterprise Service Bus

This chapter describes how this guide is organized, introduces Oracle Enterprise Service Bus features, concepts and tools, as well as presents the scenario that you can build, configure, and run using the steps provided in this tutorial.

This chapter contains the following topics:

How this Guide Is Organized

This guide is divided into four chapters. The following table provides a brief description of each chapter:

Chapter Description
Chapter 1, "Introduction to Oracle Enterprise Service Bus"
Introduces Oracle Enterprise Service Bus features, concepts, and the scenario that the tutorial implements.
Chapter 2, "Installing the Oracle Enterprise Service Bus"
Lists hardware and software requirements and instructions for installing Oracle Enterprise Service Bus and the steps for starting the software required to run the tutorial.
Chapter 3, "Using the CustomerDataTutorial"
Provides step-by-step instructions on using, modifying, and registering the CustomerData tutorial.
Chapter 4, "Installing Oracle JDeveloper"
Provides step-by-step instructions on installing Oracle JDeveloper, configuring AS Connection for SOA Suite and ESB Standalone, and also configuring integration server connection.
Chapter 5, "Building the CustomerDataTutorial"
Provides step-by-step instructions for creating the CustomerData tutorial.

Oracle Enterprise Service Bus Concepts

An enterprise service bus moves data among multiple endpoints, both within and outside of an enterprise. It uses open standards to connect, transform, and route business documents (as Extensible Markup Language (XML) messages), among disparate applications. It enables monitoring and management of business data, with minimal impact on existing applications. An enterprise service bus is the underlying infrastructure for delivering a service-oriented architecture (SOA) and event-driven architecture (EDA).

Oracle Enterprise Service Bus is the foundation for services using SOA and EDA. At its core, it is a loosely coupled application framework that provides your business with increased flexibility, reusability, and overall responsiveness in a distributed, heterogeneous, message-oriented environment using industry standards.

Oracle Enterprise Service Bus Architecture

As shown in Figure 1-1, Oracle Enterprise Service Bus consists of following components:

  • ESB Server

    The ESB Server is the server to which you register the ESB services that you have designed using JDeveloper ESB Designer and configured using the ESB Console. The ESB Server supports multiple protocol bindings including HTTP/SOAP, JMS, JCA, WSIF, and Java that ensure guaranteed, reliable message delivery using synchronous/asynchronous, request/reply or publish/subscribe models. However, ESB Server does not support Remote Method Invocation (RMI).

  • ESB Console

    The ESB Console provides a Web-based interface for managing, administering, and debugging services that you have registered with the ESB Server.

  • ESB Metadata Server

    The database that holds your ESB metadata such as schemas, transformations, and routing rules.

  • Oracle JDeveloper

    Oracle JDeveloper is a graphical and user-friendly way to model, edit, and design the services that comprise an Oracle Enterprise Service Bus system.

Figure 1-1 Oracle Enterprise Service Bus Architecture

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle Enterprise Service Bus Architecture"

Oracle Enterprise Service Bus and Oracle SOA Suite Integration

Oracle Enterprise Service Bus is a component of Oracle SOA Suite. Oracle SOA Suite is a standards-based suite that provides an integrated design-time environment and a common architecture for developing enterprise applications. Oracle SOA Suite enables services to be created, managed, and orchestrated into composite applications and business processes. Figure 1-2 shows the integration between Oracle Enterprise Service Bus and Oracle SOA Suite.

Figure 1-2 Oracle Enterprise Service Bus and Oracle SOA Suite Integration

Description of Figure 1-2 follows
Description of "Figure 1-2 Oracle Enterprise Service Bus and Oracle SOA Suite Integration"

Oracle Enterprise Service Bus Integration Features

Oracle Enterprise Service Bus features that provide the ability to integrate applications fall into three broad categories, as described in the following sections:

Connectivity

Connectivity is provided through adapter services and Simple Object Access Protocol (SOAP) invocation services, as described in the list that follows:

  • SOAP invocation services

    SOAP invocation services provide connectivity with external SOAP clients, such as Oracle BPEL Process Manager, Apache Axis, and Microsoft.NET. You can call Oracle Enterprise Service Bus services from such clients, or you can call those products from Oracle Enterprise Service Bus.

    You might call Oracle Enterprise Service Bus from Oracle BPEL Process Manager, for example, to take advantage of the document routing features that Oracle Enterprise Service Bus provides (as described in the next section), or you might call Microsoft.NET from Oracle Enterprise Service Bus to integrate a legacy Microsoft.NET infrastructure.

  • Adapter services

    Oracle Application Server adapters provide bidirectional, real-time data access to virtually any data source in your enterprise.

    An adapter either listens for, or polls for, events in the source application it supports. When listening for events, an adapter registers as a listener for the application that is configured to push events to the adapter. The adapter can also poll the back-end application, such as a database or file, for the events required by Oracle Enterprise Service Bus.

    By registering adapters with Oracle Enterprise Service Bus (using a wizard), you integrate external data sources with Oracle Enterprise Service Bus, and ultimately, with each other.

    Currently, Oracle Enterprise Service Bus Server supports the Oracle adapters described in Table 1-1 and enables you to define inbound and outbound adapter services for each. An inbound adapter service receives data from an external data source and transforms it into an XML message. An outbound adapter service sends data to a target application by transforming an XML message into the native format of the given adapter.

Table 1-1 Oracle Adapter Services

Adapter Service Description

File/FTP adapter service

An inbound file/FTP adapter service reads data from a local/remote file system, transforms the file data into an XML message and sends it to Oracle Enterprise Service Bus when a new text file appears in a local file system.

An outbound file adapter service transforms the contents of an XML messages to a text file and writes it to a local/remote file system.

Database adapter service

An inbound database adapter service sends an XML message to Oracle Enterprise Service Bus when a SQL insert, update, or delete operation is performed against a database.

An outbound database adapter transforms the contents of an XML message into a SQL insert, update, or delete operation on the target database.

JMS adapter service

An inbound JMS adapter service sends XML messages to Oracle Enterprise Service Bus when a new XML message is added to a Java Message Service external to Oracle Enterprise Service Bus.

An outbound JMS adapter service writes messages from Oracle Enterprise Service Bus on to a Java Message Service external to Oracle Enterprise Service Bus.

MQ adapter service

An inbound Native MQSeries adapter service sends an XML message to Oracle Enterprise Service Bus when new XML message is received by a queue.

An outbound Native MQSeries adapter service writes messages from Oracle Enterprise Service Bus to a message queue.

AQ adapter service

An inbound AQ adapter service sends an XML message to Oracle Enterprise Service Bus when a new message is received by an Oracle Advanced Queuing single or multiconsumer queue.

An outbound AQ adapter service sends messages from Oracle Enterprise Service Bus to an Oracle Advanced Queuing single or multiconsumer queues.

Oracle Applications (OA) Adapter services

An inbound OA adapter sends XML messages to Oracle Enterprise Service Bus on receiving messages from an Oracle E-Business Suite interface.

An outbound OA Adapter inserts data from Oracle Enterprise Service Bus into Oracle Applications using interface tables, APIs, and concurrent programs.


Any service, except an inbound adapter service, that you create as an Oracle Enterprise Service Bus service, is automatically created as a SOAP service without requiring you to provide configuration details. The Oracle Enterprise Service Bus Control Console (described in "Introduction to the Oracle Enterprise Service Bus Control Console") lists the concrete WSDL URL for these services on the Definitions tab. You can use the concrete WSDL URL to invoke the service using SOAP over Hypertext Transfer Protocol (HTTP) from JDeveloper or Microsoft.Net.

Document Transformation

Oracle Enterprise Service Bus includes a standards-based data mapper (from within the Oracle JDeveloper or the Eclipse Platform modeling environment). The data mapper specifies an .xslt file to transform data from one XML schema to another, thus enabling data interchange among applications using different schemas. Multiple transformations may be required to achieve the desired result. These transformations can be reused, as needed, across your enterprise.

Content Based Routing

Data contained within XML messages are distributed from the source application to a target application using routing services. As the name suggests, a routing service determines how a message gets from one point to another within the Oracle Enterprise Service Bus environment as defined by the routing rules and transformations it applies on the XML message and the various rules it applies. Also, routing service enables decoupling external service endpoints from business processes in BPEL. As you can define rules to route messages based on the message content, the routing service is also known as content-based routing service.

Routing rules specify the set of services (referred to as target services) that Oracle Enterprise Service Bus will invoke when the routing service receives a message.

When you configure routing rules, you specify the following details:

  • Whether a filter expression is applied.

    A filter expression specifies that the contents (payload) of a message be analyzed before any service is invoked. For example, using the scenario described in "Introduction to the CustomerData Tutorial", you might apply a filter expression that specifies that the database adapter service be invoked only if the message includes customer contact information.

  • Whether a document transformation is applied.

    Refer to "Document Transformation" for information about transformations.

  • Whether execution is synchronous or asynchronous

    If you specify that execution is synchronous, then Oracle Enterprise Service Bus invokes the target service immediately. Control is not returned to the current service until the message has been received by the target service for processing.

    If you specify that execution is asynchronous, then Oracle Enterprise Service Bus uses JMS for delivering the message to the target service, which will be invoked at a later time. Control is returned to the current service immediately, before the target service has received the message.

Creating, Configuring, and Managing an Oracle Enterprise Service Bus

The two main tools for creating, configuring, and managing an Oracle Enterprise Service Bus are as follows:

The following two sections describe these tools in more detail:

Introduction to Oracle JDeveloper

Oracle JDeveloper is an integrated development environment (IDE) for building applications and Web services using Java, XML, and SQL standards. Oracle JDeveloper supports the entire development life cycle with integrated features for designing, coding, debugging, testing, profiling, tuning, and registering applications. A visual and declarative development approach and the Oracle Application Development Framework (ADF) work together to simplify application development and reduce coding tasks.

Oracle Enterprise Service Bus provides support for the following services and adapters in Oracle JDeveloper:

  • Transformations and routing from inbound and outbound adapter services

  • Adapters (File/FTP, Database, and Java Messaging Service (JMS))

Figure 1-3 shows Oracle JDeveloper with a transformation being designed for a project.

Figure 1-3 ESB Project Design View in Oracle JDeveloper

Description of Figure 1-3 follows
Description of "Figure 1-3 ESB Project Design View in Oracle JDeveloper"

The Applications Navigator displays the project files that you have created. In Figure 1-3, for example, the Applications Navigator includes an application named ESBSamples, which contains the project node entitled CustomerData.

When the CustomerData node is expanded (as it is in Figure 1-3) you can see the .wsdl files that define the adapter services for the application, and the .xsd files that define the structure of the data that will be routed across the Oracle Enterprise Service Bus.

When you right-click a node, a menu of commands is displayed. The menu commands displayed depend on the node selected. For example, when you right-click an ESB project (such as CustomerData in Figure 1-3), the following commands are included in the menu:

  • New

    This command opens the New Gallery dialog box, which provides access to dialog boxes and wizards that enable you to create new projects, create inbound and outbound adapter services, and access the document transformation tool.

    For example, if you expand the Business Tier category and then select Web Services in the New Gallery dialog box, as shown in Figure 1-1, you can access the Adapter Configuration Wizard.

  • Register with ESB

    This command enables you to register the adapter services, transformations, and routing services that you design using Oracle JDeveloper with Oracle Enterprise Service Bus.

Introduction to the Oracle Enterprise Service Bus Control Console

You monitor and make run-time adjustments to the Oracle Enterprise Service Bus configuration using the Oracle Enterprise Service Bus Control Console, an example of which is shown in Figure 1-4. As shown in Figure 1-4, the Console is vertically divided into two main parts, Services panel and the Configuration area as described in the following sections:

Figure 1-4 Sample Oracle Enterprise Service Bus Control Console

Description of Figure 1-4 follows
Description of "Figure 1-4 Sample Oracle Enterprise Service Bus Control Console"

Icons and images used to represent objects in the Oracle Enterprise Service Bus Control Console are shown in Figure 1-5.

Figure 1-5 Icons and Images Used in the Oracle Enterprise Service Bus Control Console

Description of Figure 1-5 follows
Description of "Figure 1-5 Icons and Images Used in the Oracle Enterprise Service Bus Control Console"

Services Panel

Services are the means by which data gets from one application to another and in and out of the Oracle Enterprise Service Bus environment. The services navigation tree, which appears on the left side of the console, helps you organize and manage services. Services are presented in the navigation tree by a gear icon.

The following organizational units for services (which you create), serve the same purpose as directories serve in a file system:

  • System (required)

    A system is a representation of a single application, proxy for an application, or a technical system. Examples of systems are:

    • An Oracle Applications instance

    • A set of transformations, Oracle BPEL Process Manager services, and adapter services for an SAP instance

    • A set of transformations, BPEL Services, and database services for a custom database application

    • A standalone Oracle Business Activity Monitoring instance, complex event processing (CEP) services, and other related services

    • An Oracle B2B engine (that serves as a proxy for trading partners) and related transformation services and other services

    • A set of services, adapter services, and Oracle BPEL Process Manager services representing a bridge to a third party integration infrastructure (such as webMethods, Inc, and IBM infrastructures)

    As shown in Figure 1-5, a system is represented in the Oracle Enterprise Service Bus Control Console by a stacked disks icon.

  • Service group (optional)

    A service group is a set of related services.

    A service can belong to only one service group. Different services, with the same name can belong to different service groups, just as different files with the same file name can reside in different directories in a file system.

    As shown in Figure 1-5, a service group is represented in the navigation tree by a folder icon on which a gear icon is superimposed.

Every service you create must be defined as a child of either a service group or a system. A service is uniquely identified by its full path within the System/Service Group/service (or System/service) structure. A service is represented by a gear icon in the services navigation tree, as shown in Figure 1-5.

Configuration Area

The configuration area, which appears on the right side of the console, consists of a number of tabbed pages. The tabbed pages include the following, depending on which item you select in the Services panel:

  • Diagram Tab

    The panel that is presented when you click the Diagram tab contains three parts: the diagram itself, the navigator, and overlay metrics.

    • Diagram

      The diagram shows the relationship among the selected service and other services. Oracle Enterprise Service Bus creates this diagram automatically, based on the definitions you specify for each service.

      When you select an item from the navigation tree and click the Diagram tab, the selected item is highlighted in blue within the diagram. In the diagram, the following conventions, which are presented in Figure 1-5, are used:

      • Adapter services are represented by rectangles with squared corners (and with a long horizontal plane).

      • Routing services are represented by rectangles with rounded corners (and with long vertical planes).

      • Communication between services is represented by the lines between the services.

      • A routing service filter expression is indicated by a funnel.

      • A transformation is indicated by the presence of a yellow box overlaying the routing service rectangle.

    • Navigator

      The navigator indicates which area of the diagram is currently being displayed in relation to the entire diagram. This is useful for large diagrams that extend beyond the area that can be presented in the diagram region. When you move the scroll bar in the diagram region, notice that the blue window in the navigator scrolls also, to highlight the portion of the diagram that is currently visible.

    • Overlay metrics

      Overlay metrics enable you to select which metrics, if any, you want to be superimposed on the diagram. For example, if you select Processing Time (in milliseconds), the diagram tab looks similar to Figure 1-6.

      Figure 1-6 Configuration Pane - Diagram Tab with Throughput Overlay Metrics

      Description of Figure 1-6 follows
      Description of "Figure 1-6 Configuration Pane - Diagram Tab with Throughput Overlay Metrics"

  • Definition Tab

    The Definition tab shows details on how an item selected from the navigation tree is defined. For outbound adapter services and routing services, these details including the concrete WSDL URL, which you can use to invoke the service using SOAP over HTTP from another application.

  • Routing Rules Tab

    The routing rules tab is presented only when you select a routing service from the navigation tree. It shows the rules that govern how a message is routed by the routing service. Refer to "Content Based Routing" for more information on routing services.

  • Trackable Fields Tab

    The Trackable Fields Tab enables the ability to define XPATH expressions that identify elements within a service's XML document to view and search in the instance data.