1 Introduction to Oracle JCA Adapters

With the growing need for business process optimization, efficient integration with existing back-end applications has become the key to success. To optimize business processes, you can integrate applications by using JCA 1.5 compliant resource adapters. Adapters support a robust, light weight, highly scalable, and standards-based integration framework, which enables disparate applications to communicate with each other. For example, adapters enable you to integrate packaged applications, legacy applications, databases, and Web services. Using Oracle JCA Adapters, you can ensure interoperability by integrating applications that are heterogeneous, provided by different vendors, based on different technologies, and run on different platforms.

Note:

This document addresses the integration of adapters with Oracle WebLogic Server and Oracle Fusion Middleware.

This chapter includes the following sections:

Features of Oracle JCA Adapters

Oracle JCA Adapters provide the following benefits:

  • Provide a connectivity platform for integrating complex business processes: Adapters integrate mainframe and legacy applications with enterprise resource planning (ERP), customer relationship management (CRM), databases, and messaging systems. Oracle provides adapters to connect various packaged applications, such as SAP and Siebel, and databases. In addition, adapters integrate middleware messaging systems, such as MQSeries and Oracle Advanced Queuing, and legacy applications, such as CICS and Tuxedo, to provide a complete solution.

  • Support open standards: Adapters are based on a set of standards such as J2EE Connector Architecture (JCA) version 1.5, Extensible Markup Language (XML), and Web Service Definition Language (WSDL). The support for standards reduces the learning curve of a user and eliminates the dependency of users on a single vendor.

  • Service Component Architecture (SCA) assembly model: Provides the service details and their interdependencies to form composite applications. SCA enables you to represent business logic as reusable service components that can be easily integrated into any SCA-compliant application. The resulting application is known as an SOA composite application. The specification for the SCA standard is maintained by the Organization for the Advancement of Structured Information Standards (OASIS).

  • Implement a Service-Oriented Architecture (SOA): The support for open standards enables adapters to implement an SOA, which facilitates loose coupling, flexibility, and extensibility.

  • Use native APIs: Adapters support multiple ways of interfacing with the back-end system and provide various deployment options. Using native APIs, adapters communicate with the back-end application and also translate the native data to standard XML, which is provided to the client.

  • Model data: Adapters convert native APIs to standard XML and back, based on the adapter metadata configured during design time. Adapter configurations are defined during design time, which will be used by run-time components.

  • Facilitate real-time and bidirectional connectivity: Adapters offer bidirectional communication with various back-end systems. This includes sending requests to back-end systems and receiving a response. Adapters also support the real-time event notification service. This service notifies about the back-end events associated with successful back-end transactions for creating, deleting, and updating back-end data. This two-way connectivity ensures faster, flexible, efficient integration, and reduces the cost of integration.

  • Maximize availability: Oracle JCA Adapters are based on the J2CA 1.5 specification. Adapters can, therefore, fully leverage the scalability and high availability of the underlying Oracle Application Server platform. In addition, adapters can be deployed on the JBoss and WebSphere platforms.

  • Provide easy-to-use design-time tools: Adapters use design-time tools that provide a graphical user interface (GUI) to configure and administer adapters for fast implementation and deployment. In addition, the tools let you to browse, download, and configure back-end schemas.

  • Support seamless integration with Oracle Application Server components: Adapters integrate with Oracle Fusion Middleware. Adapters integrate with the JCA Binding Component of the Oracle Fusion Middleware platform, thereby seamlessly integrating with other service engines and binding components.

Types of Oracle JCA Adapters

There are three types of Oracle JCA Adapters: Oracle technology adapters, Oracle Adapter for Oracle Applications, packaged application adapters, and legacy adapters. Figure 1-1 illustrates the different types of adapters.

Figure 1-1 Types of Oracle JCA Adapters

Description of Figure 1-1 follows
Description of "Figure 1-1 Types of Oracle JCA Adapters"

This section describes the following types of adapters:

Oracle Technology Adapters

Oracle JCA Adapters integrate Oracle Application Server with transport protocols, data stores, and messaging middleware. These adapters include Oracle JCA Adapter for Files, Oracle JCA Adapter for FTP, Oracle JCA Adapter for JMS, Oracle JCA Adapter for Database, Oracle JCA Adapter for Advanced Queuing, Oracle JCA Adapter for MQ Series, Oracle JCA Adapter for Sockets, and Oracle Adapter for Oracle Applications. Oracle technology adapters are installed as part of Oracle Fusion Middleware.

This section describes the File, FTP, Database, and enterprise messaging adapters that are provided with Oracle Fusion Middleware. The adapters enable you to integrate Oracle BPEL Process Manager or Mediator components to file systems, FTP servers, database tables, database queues (advanced queues, or AQ), message queues, Java Message Services (JMS), and Oracle Applications.

This section includes the following topics:

Architecture

Oracle technology adapters are based on J2EE Connector Architecture (JCA) 1.5 standards and deployed as a resource adapter in the same Oracle WebLogic Server as Oracle Fusion Middleware. Oracle Adapter for Oracle Applications consists of the same architecture as Oracle technology adapters. Figure 1-2 illustrates the architecture of Oracle technology adapters.

Figure 1-2 Oracle Technology Adapters Architecture

Description of Figure 1-2 follows
Description of "Figure 1-2 Oracle Technology Adapters Architecture"

Design-Time Components

During design time, Oracle technology adapters use Oracle JDeveloper to generate the adapter metadata. The request-response service, also known as J2CA outbound interaction, and the event-notification service, also known as J2CA inbound interaction, are described in J2CA binding configuration files. These binding configuration files consist of J2CA-centric XML markup. The J2CA binding configuration files are used by the JCA Binding Component to seamlessly integrate the J2CA 1.5 resource adapter with Oracle Fusion Middleware.

For more information about integration of Oracle technology adapters with Oracle Fusion Middleware, see Adapter Integration with Oracle Fusion Middleware..

Example 1-1 Generating WSDL and Binding Configuration Files for Oracle JCA Adapter for Database

By using Oracle JDeveloper, you can configure Oracle JCA Adapter for Database. This adapter helps you to perform data manipulation operations, call stored procedures or functions, and publish database events in real time. To configure adapter definitions, drag and drop Database Adapter from the Component Palette to the External References swim lane.

Figure 1-3 shows how to browse through the Import Tables window to select the required tables for the adapter.

Figure 1-3 Browsing for Required Tables

import tables
Description of "Figure 1-3 Browsing for Required Tables"

Figure 1-4 shows how to specify the WSDL settings for Oracle JCA Adapter for Database.

Figure 1-4 Specifying WSDL Settings

Description of Figure 1-4 follows
Description of "Figure 1-4 Specifying WSDL Settings"

Next, you must establish a database connection, select an operation type, and select the required tables. The run-time connection parameters are specified in the weblogic-ra.xml file and linked to a Java Naming and Directory Interface (JNDI) name, which is specified during design time. Figure 1-5 shows the creation of a new database connection.

Figure 1-5 Creating a New Database Connection

Description of Figure 1-5 follows
Description of "Figure 1-5 Creating a New Database Connection"

Finally, Oracle JDeveloper generates a WSDL file and a binding configuration file with the J2CA binding for the Oracle JCA Adapter for Database, as shown in Figure 1-6.

Figure 1-6 Structure of a JCA File

Description of Figure 1-6 follows
Description of "Figure 1-6 Structure of a JCA File"

Run-Time Components

The run-time component of Oracle technology adapters is the J2CA 1.5 resource adapter for the specific back-end application. Oracle technology adapters are deployed in the J2CA container of the Oracle WebLogic Server. Oracle Fusion Middleware integrates with these J2CA 1.5 adapters through the JCA Binding Component, which converts Web service messages into J2CA interactions and back.

Oracle Fusion Middleware uses JCA Binding Component to integrate the request-response service (J2CA outbound interaction) with a SCA composite reference and publish the adapter events to a SCA composite service.

For more information about integration with Oracle Fusion Middleware, see Chapter "Adapter Integration with Oracle Application Server Components".

Deployment

Oracle technology adapters are deployed as J2CA 1.5 resource adapters within the same Oracle WebLogic Server container as that of Oracle Fusion Middleware during installation. Although Oracle technology adapters are physically deployed as J2CA 1.5 resource adapters, their logical deployment involves creating the Connection Factory entries for the J2CA 1.5 resource adapter by editing the weblogic-ra.xml file and using Oracle JDeveloper during design time. By using Oracle JDeveloper, you specify the JNDI name, which acts as a placeholder for the connection used when your composite is deployed to the Oracle WebLogic Server. This enables you to use different databases for development and later production. However, for the logical deployment changes (that is, only if you are creating a new outbound connection) to take effect, the Oracle WebLogic Server container process should be updated. However, if you are updating any outbound connection property for an existing JNDI, then you must restart the Oracle WebLogic Server.

Packaged-Application Adapters

Packaged-application adapters integrate Oracle Application Server with various packaged applications, such as SAP and Siebel. These adapters include OracleAS Adapter for PeopleSoft, OracleAS Adapter for SAP R/3, OracleAS Adapter for Siebel, and OracleAS Adapter for J.D. Edwards. Packaged-application adapters are available as part of the OracleAS Adapters CD.

This section describes the architecture of packaged-application adapters.

This section includes the following topics:

Architecture

Packaged-application adapters can be deployed as J2EE Connector Architecture (J2CA) 1.5 resource adapters or as Web service servlets within the Oracle WebLogic Server container. Packaged-application adapters support the Web Service Definition Language (WSDL) and Simple Object Access Protocol (SOAP) interface, in addition to a J2CA interface. J2CA and Web service deployments of packaged-application adapters should have a repository project. In J2CA deployment, the resource adapter points to a repository project that can contain multiple back-end connection objects. The deployment descriptor, weblogic-ra.xml, points to the J2CA repository project and the connection name to access within the J2CA repository project. In the WSDL deployment, the WSDL repository project consists of a set of WSDL files that describe the adapter metadata.

Note:

Only four packaged-application adapters, OracleAS Adapter for SAP, OracleAS Adapter for Siebel, OracleAS Adapter for Peoplesoft, and OracleAS Adapter for J.D. Edwards, support WSDL and SOAP extensions in this release. The architecture of the OracleAS Adapter for Oracle Applications is similar to Oracle technology adapters.

The architecture of packaged-application adapters consists of OracleAS Adapter Application Explorer (Application Explorer), J2CA 1.5 resource adapter, and Business Services Engine (BSE).

Figure 1-7 illustrates the architecture of packaged-application adapters:

Figure 1-7 Packaged-Application Adapters Architecture

Description of Figure 1-7 follows
Description of "Figure 1-7 Packaged-Application Adapters Architecture"

This section describes the components of the packaged-application adapter architecture.

This section includes the following topics:

Application Explorer

Application Explorer is a Java swing-based design-time tool for configuring packaged-application adapters. Using Application Explorer, you can configure the back-end application connection, browse the back-end application schemas, and expose these schemas as adapter services. Application Explorer is shipped with packaged application-specific plug-ins for browsing the back-end application-specific metadata.

You can use Application Explorer to create repository projects for either OracleAS Adapter J2CA or BSE. Each repository project can consist of multiple back-end application connections. The schemas are represented as either XML Schema Definition (XSD) for the OracleAS Adapter J2CA interface or as a WSDL with SOAP binding.

BSE

Application Explorer works in conjunction with the BSE, which is deployed in the Oracle WebLogic Server container of the Oracle Application Server. BSE uses SOAP as a protocol for accepting requests from clients, interacting with the back-end application, and sending responses from the back-end application back to clients.

J2CA 1.5 Resource Adapter

The J2CA 1.5 resource adapter consists of a Channel component for receiving back-end events.

Design-Time Components

Application Explorer is used to configure packaged-application adapters during design time. This tool is used to create a repository project for the J2CA 1.5 resource adapter, which contains a list of back-end connections. Application Explorer exposes back-end metadata as XSD and WSDL with J2CA extensions. The XSD metadata is used by the Oracle WebLogic Server application clients for integration through the J2CA Common Client Interface (CCI) Application Programming Interface (API). The WSDL with J2CA extension is used for integration with Business Process Execution Language for Web Services (BPEL) Process Manager. The BSE metadata can be defined as WSDL or SOAP.

Figure 1-8 shows the Application Explorer.

Figure 1-8 Application Explorer

Description of Figure 1-8 follows
Description of "Figure 1-8 Application Explorer"

Example 1-2 Generating XML Request Schema for OracleAS Adapter for SAP

You can use Application Explorer to establish a connection for OracleAS Adapter for SAP. For this, you must first define a target to OracleAS Adapter for SAP, as shown in Figure 1-9 and Figure 1-10.

Figure 1-9 Selecting OracleAS Adapter for SAP

Description of Figure 1-9 follows
Description of "Figure 1-9 Selecting OracleAS Adapter for SAP"

Figure 1-10 Defining a Target to OracleAS Adapter for SAP

Description of Figure 1-10 follows
Description of "Figure 1-10 Defining a Target to OracleAS Adapter for SAP"

After you have explored the SAP business function library and have selected an object, you can use Application Explorer to create the XML request schema and the XML response schema for that function. To view the XML for each schema type, select the required tab, as shown in Figure 1-11:

Figure 1-11 Viewing the XML Schema

Description of Figure 1-11 follows
Description of "Figure 1-11 Viewing the XML Schema"

Run-Time Components

The run-time components of packaged-application adapters include J2CA 1.5 resource adapter, BSE, and servlet. The Oracle WebLogic Server application clients use the CCI API to directly interface with the J2CA 1.5 resource adapter. The J2CA 1.5 resource adapter integrates with Oracle Fusion Middleware through the JCA Binding Component. During run time, the JCA Binding Component translates the Oracle Fusion Middleware service requests to J2CA calls and back based on the adapter metadata (WSDL and binding configuration) configured during design time.

During run time, the WSDL files generated during design time are consumed by the integrating components. For example, Oracle Fusion Middleware uses JCA Binding Component to integrate the request-response service (J2CA outbound interaction) with a BPEL process invoke activity and to publish adapter events to a BPEL process receive activity.

For more information about integrating with Oracle Fusion Middleware, see Adapter Integration with Oracle Fusion Middleware.

Deployment

Packaged-application adapters are deployed as J2CA 1.5 resource adapters within the Oracle WebLogic Server J2CA container during installation. The adapter needs to be in the same Oracle WebLogic Server container as Oracle BPEL Process Manager for integration.

You can integrate any Web service client with the BSE servlet. The BSE exposes the underlying back-end functionality as Web services, which can be either WSDL or SOAP. Oracle BPEL Process Manager can integrate with the BSE layer, as well, through WSDL and SOAP binding.

BSE is deployed as a servlet within the Oracle WebLogic Server container during installation. BSE can be remotely located and need not be in the same container as the Oracle BPEL Process Manager.

Legacy Adapters

Legacy adapters integrate Oracle Application Server with legacy and mainframe applications. These adapters include OracleAS Adapter for Tuxedo, OracleAS Adapter for CICS, OracleAS Adapter for VSAM, OracleAS Adapter for IMS/TM, and OracleAS Adapter for IMS/DB. Legacy adapters are available as part of the OracleAS Adapters CD.

This section includes the following topics:

Architecture

Legacy adapters include the following components in the architecture

Figure 1-12 illustrates the architecture of legacy adapters.

Note that Changed Data Capture (CDC) adapters have the same architecture as well.

Figure 1-12 Legacy Adapter Architecture

Description of Figure 1-12 follows
Description of "Figure 1-12 Legacy Adapter Architecture"

Oracle Connect

Oracle Connect is a component that resides on the legacy and mainframe platforms. It consists of native adapters for communicating with the mainframe application and data stores. Oracle Connect consists of the following components:

Server Processes

Oracle Connect consists of multiple servers to process client requests.

Native Adapters

Oracle Connect consists of various embedded native adapters to communicate with Tuxedo and IMS-TM transaction systems, and database drivers to communicate with various databases and file systems on mainframe systems such as VSAM and IMS-DB. The native adapters convert application structures, such as the legacy COBOL applications data, to and from XML. The XSD schema is used for precise mapping between mainframe data and standard XML data.

Daemon

Daemon is an RPC-based listener that manages and maintains multiple server configurations. It runs on every computer running Oracle Connect and handles user authentication and authorization, connection allocation, and server process management.

When a client requests for a connection, the daemon allocates a server process to handle this connection. The allocated server process may be a new process or any process that might have been already running. Further communication between the client session and the server process is direct and does not involve the daemon. However, the daemon is notified when the connection ends and the server process is either killed or being used by another client.

The daemon supports multiple server configurations called workspaces. Each workspace defines accessible data sources, applications, environment settings, security requirements, and server allocation rules. The daemon authenticates clients, authorizes requests for a server process within a certain server workspace, and provides clients with the required servers. The allocation of servers by the daemon is based on the workspace that the client uses. Thus, a client can access a data source using one workspace, where a server process is allocated from an existing pool of servers, or the client can access a data source using a different workspace, where a new server process is allocated for each client request. A fail-safe mechanism enables the specification of alternate daemons, which function as a standby for high availability.

Repository

Oracle Connect supports a repository for storing the XML-based schema and configuration information. There is a single repository for each Oracle Connect instance. The repository stores the following information:

  • Oracle Connect configuration settings (including the Daemon settings to control client/server communication)

  • User profiles to enable single sign-on to multiple back-end applications and data sources

  • Adapter metadata for each adapter, which includes adapter request-response and event services

Oracle Studio

Oracle Studio is the design-time tool for configuring the Oracle AS Adapters for mainframes. It enables you to configure the services, events, and connection information for native adapters. The configuration information is stored in the Oracle Connect repository on the legacy or mainframe application. In addition, it enables you to do management and monitoring of Oracle Connect. The Oracle Studio is available only on the Windows platform. The Oracle Studio is based on the Eclipse GUI framework.

J2CA Adapter

The J2EE Connector Architecture (J2CA) adapter forwards the Oracle WebLogic Server application client requests to the Oracle Connect application. Oracle Connect communicates with the mainframe application and forwards the response back to the J2CA adapter. The response might contain the transaction data or might contain the exception data if the request generated an error. Oracle Fusion Middleware integrates with Oracle Connect through the J2CA Legacy adapter.

Design-Time Components

To configure legacy adapters during design time, use Oracle Studio, as shown in Figure 1-13.

Figure 1-13 Oracle Studio

Description of Figure 1-13 follows
Description of "Figure 1-13 Oracle Studio"

Example 1-3 Configuring OracleAS Adapter for Tuxedo

Using Oracle Studio, you can configure OracleAS adapter for Tuxedo, as shown in Figure 1-14 and Figure 1-15.

Figure 1-14 Configuring OracleAS Adapter for Tuxedo

Description of Figure 1-14 follows
Description of "Figure 1-14 Configuring OracleAS Adapter for Tuxedo"

Figure 1-15 Selecting the Types of Interactions for OracleAS Adapter for Tuxedo

Description of Figure 1-15 follows
Description of "Figure 1-15 Selecting the Types of Interactions for OracleAS Adapter for Tuxedo"

Run-Time Components

During run time, WSDL files generated during design time are consumed by the integrating components. For example, Oracle Fusion Middleware uses the JCA Binding Component to integrate the request-response service (J2CA outbound interaction) with a BPEL Invoke activity and to publish the events to a BPEL process receive activity.

For more information, see Adapter Integration with Oracle Fusion Middleware.

Deployment

Legacy adapters are deployed as J2CA resource adapters within the Oracle WebLogic Server J2CA container during installation. The adapter must be in the same Oracle WebLogic Server container as that of the Oracle Fusion Middleware for integration.

Types of Oracle JCA Adapters Adapter Services

Adapters provide the following types of services to facilitate communication between applications:

Request-Response (Outbound Interaction) Service

Adapters support the synchronous request-response service. The adapters receive requests from adapter clients, translate these requests into the native back-end data format, and call the appropriate method in the back-end application. In addition, the request-response service retrieves the back-end response to the JCA Binding Component after performing reverse translation. In J2CA terminology, this type of service is also known as outbound interaction.

The request-response service can be used to create, delete, update, and query back-end data as well as to call back-end workflows and transactions. For example, an Oracle WebLogic Server application client can use OracleAS Adapter for SAP to create a customer within the SAP application.

Figure 1-16 illustrates the request-response service.

Figure 1-16 Request-Response Service

Description of Figure 1-16 follows
Description of "Figure 1-16 Request-Response Service"

Event Notification (Inbound Interaction) Service

Adapters support the event-notification service, which is an asynchronous communication paradigm. In J2CA terminology, this type of service is also known as inbound interaction.

Adapters either listen or poll for back-end event changes. When listening for events, an adapter registers as a listener for the back-end application that is configured to push events to the adapter. The adapter can also poll the back-end application, which is usually a database or file, for the events required by the client application.

The event-notification service can be used to keep a track of back-end events associated with successful back-end transactions for creating, deleting, and updating back-end data.

Figure 1-17 illustrates the event-notification service.

Figure 1-17 Event-Notification Service

Description of Figure 1-17 follows
Description of "Figure 1-17 Event-Notification Service"

Metadata Service

The adapter metadata definition stores information about the back-end connection and schemas for business objects and services. Adapters consist of a design-time component for browsing and storing metadata and a run-time component for running services. The adapter metadata definitions are generated as XML Schema Definition (XSD), WSDL, and binding configuration files. Figure 1-18 illustrates the metadata interaction.

Figure 1-18 Metadata Service

Description of Figure 1-18 follows
Description of "Figure 1-18 Metadata Service"