Oracle® Enterprise Service Bus Quick Start Guide 10g (10.1.3.1.0) Part Number B28212-01 |
|
|
View PDF |
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:
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. |
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.
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
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
Oracle Enterprise Service Bus features that provide the ability to integrate applications fall into three broad categories, as described in the following sections:
Connectivity is provided through adapter services and Simple Object Access Protocol (SOAP) invocation services, as described in the list that follows:
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.
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 |
---|---|
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. |
|
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. |
|
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. |
|
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.
See Also:
Oracle Application Server Adapters for Files, FTP, Databases, and Enterprise Messaging Guide for information on these adapters.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.
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.
The two main tools for creating, configuring, and managing an Oracle Enterprise Service Bus are as follows:
Oracle Enterprise Service Bus Control Console
The Oracle Enterprise Service Bus Control Console is primarily intended for run time use. It enables you to:
View the enterprise service bus configuration graphically.
As shown in Figure 1-4, the Oracle Enterprise Service Bus Control Console provides a graphical representation of the inbound and outbound adapter services, the routing services, and the connections among them.
Adjust routing rules
The Oracle Enterprise Service Bus Control Console provides property pages that enable you to specify or adjust the routing rules for routing services. For example, you can use it to specify a filter expression, add or change the document transformation file associated with a routing operation, and so on.
View instance data
The Oracle Enterprise Service Bus Control Console enables you to view run-time data of an instance.
You can also use the Oracle Enterprise Service Bus Control Console to create routing services, systems, and service groups. Systems and service groups are described in "Introduction to the Oracle Enterprise Service Bus Control Console".
Oracle JDeveloper
Oracle JDeveloper is primarily intended for specifying the overall enterprise service bus creation and configuration. It enables you to:
Create inbound and outbound adapter services
Oracle JDeveloper provides an adapter configuration wizard that assists you in creating inbound and outbound adapter services.
Create routing services from inbound adapter services
When you complete the adapter configuration wizard for an inbound adapter service, Oracle JDeveloper gives you the opportunity to create a routing service from the newly created inbound adapter service.
Select the routing service that will route to an outbound routing service
When you complete the adapter configuration wizard for an outbound adapter service, Oracle JDeveloper gives you the opportunity to specify the routing service that will route to the newly created outbound routing service.
Specify or create document transformation files (.xslt
files)
As part of creating routing services from an inbound adapter service or specifying an existing routing service to an outbound adapter service, you can specify if a transformation is needed.
If a transformation is needed, you can specify that an existing transformation file be used, or specify that you want to create a new transformation file. If you specify that you want to create a new transformation file, Oracle JDeveloper opens the data mapper tool to enable you to do so.
The following two sections describe these tools in more detail:
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
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.
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
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
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:
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.
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:
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.
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 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
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.
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.