1 Introduction

This chapter provides an overview of the features and architecture of OracleAS Adapters for Tuxedo.

This chapter contains the following topics:

OracleAS Adapters for Tuxedo Overview

OracleAS Adapters for Tuxedo includes the following adapters:

These adapters integrate Oracle Application Server with the legacy applications. OracleAS Adapters for Tuxedo model services running on the BEA Tuxedo application server. The BEA Tuxedo application server provides two programming interfaces, Common Object Request Broker Architecture (CORBA) and Application to Transaction Monitor Interface (ATMI). ATMI supports a programming interface that offers procedural library-based programming using a set of C or COBOL procedures. ATMI also provides an interface for communication, transaction, and data buffer management. In addition, the ATMI interface and BEA Tuxedo system implement the X/Open distributed transaction processing (DTP) model for transaction processing.

Adapter for Tuxedo

OracleAS Adapter for Tuxedo includes the following features:

  • Improved performance by providing direct access to the platform where OracleAS Adapter for Tuxedo runs.

  • Models Tuxedo services as a collection of interactions, where each interaction is mapped to a specific Tuxedo service, along with the input and output records.

  • Captures and maintains a metadata schema for the Tuxedo system by importing Tuxedo metadata either from FML and VIEW files or from a JOLT file, and transforming this metadata into mapping definitions for Oracle Connect.

  • Supports Tuxedo/T synchronous calls.

  • Maps Tuxedo message structures to XML data and back.

  • Supports local transactions by acting as a Resource Manager (RM). This is achieved by the adapter responding to XML transactional verbs and issuing the corresponding ATMI transactional calls. The back-end service is responsible for the transaction semantics and implementation.

  • Supports full client authentication with the Tuxedo server. An optional use of OracleAS Adapter and password is also supported.

  • Supports the buffer types as shown in the following table.

    Table 1-1 Buffer Types and Corresponding Field Types

    Buffer Type Field Type

    FML (both 16-bit and 32-bit are supported).

    CARRAY

    Short

    Long

    Char

    Float

    Double

    String

    VIEW (both 16-bit and 32-bit are supported).

    Short

    Long

    Char

    Float

    Double

    String

    X_C_TYPE

    x_common

    Short

    Long

    Char

    Float

    Double

    String

    x_octet

     

    CARRAY

     

    String

     

    XML

     

  • Supports Post events (EventBroker). This enables Java applications to subscribe to Tuxedo events, and receive them as J2CA 1.5 message inflow. Events are posted to one or several queues, according to ruling policies.

  • Supports writing messages to a queue (enqueue). This is performed by executing the enqueue interaction for which the event is defined as the interaction input record.

OracleAS Adapter for Tuxedo does not support global transactions and cannot participate in a distributed transaction.

See Also:

Oracle Application Server Adapter Concepts Guide. BEA Tuxedo Documentation.

Adapter for Tuxedo/Q

OracleAS Adapter for Tuxedo/Q is used for pulling messages from a queue. A queue is referred to as an outbound channel, and it is logically equivalent to an outbound interaction.

To pull messages from the queue, the getEvents interaction is executed. This interaction is automatically added to the adapter schema. When executed, all messages are pulled from the queue. In addition, a record that unions all the output records is created and is being used as the interaction output record.

A selected message can be removed from the queue, using the dequeue interaction. When executed, a message with specific attributes is removed from the queue.

Adapter for Tuxedo Gateway

OracleAS Tuxedo Gateway adapter is used for synchronous inbound communication. In this case, the Tuxedo Gateway adapter calls an application and also waits for a response. This enables seamless integration and/or migration of Tuxedo services from a Tuxedo-only environment into a heterogeneous environment where Tuxedo services can call Oracle products such as BPEL and ESB in exactly the same way they call other Tuxedo services. Interactions created under this adapter indicate services that are exposed by the Tuxedo Gateway as a Tuxedo services.

The Tuxedo Gateway adapter provides support for synchronous access from Tuxedo services to Oracle services. Using the Tuxedo Gateway adapter, you can call Oracle products such as the BPEL Process Manager and ESB in the same way that other Tuxedo services are called.

The Tuxedo Gateway adapter supports two-phase commit transactions. For information, see Configuring the Transactional Gateway Process.

Buffer Types

The Tuxedo Gateway adapter supports the buffer types as shown in the following table.

Table 1-2 Buffer Types and Corresponding Field Types

Buffer Type Field Type

FML (both 16-bit and 32-bit are supported).

CARRAY

Short

Long

Char

Float

Double

String

VIEW (both 16-bit and 32-bit are supported).

Short

Long

Char

Float

Double

String

X_C_TYPE

x_common

Short

Long

Char

Float

Double

String

x_octet

 

CARRAY

 

String

 

XML

 

Return Codes

The table below describes the codes returned when calling the Tuxedo Gateway adapter services.

Table 1-3 Return Values and Codes

Event Return

Success

Return value (rval): TPSUCCESS

Return code (rcode) 0

Note: The data and the data length are returned.

Fail

Return value (rval): TPFAIL

The return code depends on the reason the call failed. The following are the codes (code) returned when the call fails:

  • unavaliable = 1

  • badinput = 2

  • applicationError = 3

  • generalError = 4

Note: No data is returned.


OracleAS Adapters for Tuxedo Architecture

This section describes the following:

Tuxedo Adapter for Inbound Architecture

The following components comprise the architecture for Oracle AS Adapters for Tuxedo:

  • J2CA 1.5 Tuxedo adapter: The J2CA Tuxedo adapter is a standard resource adapter that is compliant with J2EE Connector Architecture, providing J2EE components connectivity.

  • Oracle Connect: Oracle Connect runs on the legacy system and handles requests from the J2CA 1.5 Tuxedo adapter that runs within Oracle Application Server Containers for J2EE (WebLogic).

  • Oracle Studio: Oracle Studio is the configuration tool for Oracle Connect. Configuration tasks using Oracle Studio are performed on a Windows platform. Oracle Studio uses perspectives that enable you to generate specific information necessary to model OracleAS Adapters for Tuxedo.

Figure 1-1 illustrates the components of OracleAS Adapter for Tuxedo.

Figure 1-1 Architecture of OracleAS Adapter for Tuxedo

Oracle Application Server Adapter architecture for Tuxedo
Description of "Figure 1-1 Architecture of OracleAS Adapter for Tuxedo"

The Flow from Oracle Application Server to the Legacy Application and Back

The J2CA 1.5 Tuxedo adapter converts the J2CA interaction invocation received from an application client to the XML format and passes the XML format to Oracle Connect on the legacy server. The daemon listens for the request coming from the J2CA 1.5 Tuxedo adapter client and assigns a server process to handle the request. The properties of the server process (such as connection pooling requirements) are defined by a workspace definition within the daemon. The server process includes an instance of the application engine, which converts the XML format into native structures understandable by Tuxedo and passes the converted XML to the back-end adapter. The back-end adapter builds an interaction based on the metadata for the back-end adapter stored in the repository and the incoming converted XML and passes it to the legacy application. The results of this execution are passed back to the application engine, using the back-end adapter, where these results are converted to XML and passed back to the client.

Tuxedo Gateway Adapter for Synchronous Inbound Architecture

The Tuxedo Gateway adapter is set up to allow a Tuxedo service call an Oracle service. This is done without the Tuxedo Service “knowing” that it is calling a different type of service. The following diagram shows how a Tuxedo service calls an Oracle service using the Tuxedo Gateway adapter.

Figure 1-2 Tuxedo Gateway Adapter Flow

Tuxedo Gateway Adapter Flow

In this example, a regular Tuxedo service wants to call an OracleAS service, in this case BPEL. The Tuxedo service does not recognize this service and cannot call it. The two intermediate steps are added by the Tuxedo Gateway adapter to allow the Tuxedo service to call the OracleAS service. The following table describes the four steps in this flow.

Table 1-4 Tuxedo Gateway Adapter Flow Description

Step Description

Tuxedo Service A'

This is any regular Tuxedo service.

Tuxedo Service Stub

This is an intermediate step added when you use the Tuxedo adapter, which acts as a Tuxedo Server. This component accepts the requests from the Tuxedo service and forwards it to the Tuxedo Gateway, then receives the response and returns it to the original service.

Tuxedo Gateway to Oracle

This is an intermediate step added when you use the Tuxedo Gateway adapter. This component accepts the work requests from the Tuxedo Service Stub and forwards them to the OracleAS. When the service request is executed, any response is returned to the Tuxedo Gateway and then to the Tuxedo Service Stub, which forwards the response to the originating Tuxedo service.

Oracle Application Server

This is the service that is being called by the Tuxedo service. It can be a BPEL or ESB service implementation.


Tuxedo Gateway Adapter Components

The following diagram shows the system components for the Tuxedo Gateway adapter:

Figure 1-3 Tuxedo Gateway Adapter Components

Tuxedo Gateway Adapter Components

The following table describes each of the components:

Table 1-5 Tuxedo Gateway Adapter Components Description

Component Description

Tuxedo BBS

A Tuxedo component that registers Tuxedo services and manages Tuxedo servers.

Tuxedo Server

A process that hosts Tuxedo services. This is managed by the Tuxedo BBS. You can configure multiple instances of the Tuxedo Server.

Connect Tuxedo Gateway (CTG)

The main adapter. This adapter handles service requests from Tuxedo.

Tuxedo Service Thread

A special Tuxedo service function that relays Tuxedo service requests to the gateway and returns the response from the gateway (all in the same process). There can be more than one Tuxedo Service Thread on a Tuxedo server. This is dependant on the Tuxedo configuration.

Connect Daemon

The Connect daemon that starts the Connect server processes for clients. The daemon also provides notification about the Tuxedo Gateway servers to the Tuxedo JCA connector.

Connect Server

A process managed by the Connect daemon that hosts native application adapters.

Connect Tuxedo Adapter (CTSA)

The native Connect adapter to Tuxedo services.

Oracle Application Server (OAS)

The J2EE container hosting the JCA Tuxedo resource adapter

Connect Tuxedo Connector

A JCA 1.5 based connector that supports both inbound and outbound synchronous interaction with Tuxedo. The following are the components of the Connect Tuxedo Connector.

  • Listener: A connector thread that creates/terminates the Receiver/Transmitter thread pair to interact with each new Connect Tuxedo Gateway process that is started by Tuxedo. A listener thread is created for each deployed connector and this thread works with one Connect daemon.

  • Receiver: A connector thread that gets call request batches from a Connect Tuxedo Gateway instance. A receiver thread is created for each Tuxedo server process started by Tuxedo.

  • Transmitter: A connector thread that sends call response batches to a Connect Tuxedo Gateway instance. A transmitter thread is created for each Tuxedo server process started by Tuxedo.

  • Worker: A pool of connector threads that synchronously invoke endpoints based on call requests.