Skip navigation.
Downloads | Product Documentation | Support

WebLogic Tuxedo Connector Programmer's Guide

# Introduction to WebLogic Tuxedo Connector Programming

Note: For information on how to develop WebLogic Server Enterprise JavaBeans (EJBs), see Programming WebLogic Enterprise JavaBeans.

The following sections provide information about the development environment you will be using to write code for applications that interoperate between WebLogic Server and Tuxedo:

- Guide to this Document
- Developing WebLogic Tuxedo Connector Applications
- WebLogic Tuxedo Connector JATMI Primitives
- WebLogic Tuxedo Connector TypedBuffers

# Guide to this Document

This document introduces the BEA WebLogic Server WebLogic Tuxedo Connector application development environment. It describes how to develop EJBs that allow WebLogic Server to interoperate with Tuxedo objects.

The document is organized as follows:

- Introduction to WebLogic Tuxedo Connector Programming, provides information about the development environment you will be using to write code for applications that interoperate between WebLogic Server and Tuxedo.
- Developing WebLogic Tuxedo Connector Client EJBs, provides information on how to create client EJBs.
- Developing WebLogic Tuxedo Connector Service EJBs, provides information on how to create service EJBs.
- Using WebLogic Tuxedo Connector for RMI/IIOP and CORBA Interoperability, provides information on how to develop CORBA applications for the WebLogic Tuxedo Connector.
- WebLogic Tuxedo Connector JATMI Transactions, provides information on global transactions and how to define and manage them in your applications.
- WebLogic Tuxedo Connector JATMI Conversations, provides information on conversations and how to define and manage them in your applications.
- Using FML with WebLogic Tuxedo Connector, discusses the Field Manipulation Language (FML) and describes how the WebLogic Tuxedo Connector uses FML.
- WebLogic Tuxedo Connector JATMI VIEWs, provides information on View buffers and how to define and manage them in your applications.
- How to Create a Custom AppKey Plug-in, provides information on how to develop a Custom AppKey Plug-in.
- Application Error Management, provide mechanisms to manage and interpret error conditions.

# Developing WebLogic Tuxedo Connector Applications

Note: For more information on the WebLogic Tuxedo Connector JATMI, view the Javadocs for WebLogic Classes. The WebLogic Tuxedo Connector classes are located in the weblogic.wtc.jatmi and weblogic.wtc.gwt packages.

In addition to the Java code that expresses the logic of your application, you will be using the Java Application -to-Transaction Monitor Interface (JATMI) to provide the interface between WebLogic Server and Tuxedo.

## Developing WebLogic Tuxedo Connector Clients

Note: For more information, see Developing WebLogic Tuxedo Connector Client EJBs.

A client process takes user input and sends a service request to a server process that offers the requested service. WebLogic Tuxedo Connector JATMI`` client classes are used to create clients that access services found in Tuxedo. These client classes are available to any service that is made available through a the WebLogic Tuxedo Connector WTCServer MBean.

## Developing WebLogic Tuxedo Connector Servers

Note: For more information, see Developing WebLogic Tuxedo Connector Service EJBs.

Servers are processes that provide one or more services. They continually check their message queue for service requests and dispatch them to the appropriate service subroutines. WebLogic Tuxedo Connector uses EJBs to implement services which Tuxedo clients invoke.

## WebLogic Tuxedo Connector Interoperability with Tuxedo CORBA objects

Note: For more information, see Using WebLogic Tuxedo Connector for RMI/IIOP and CORBA Interoperability.

The WebLogic Tuxedo Connector provides bi-directional interoperability between WebLogic Server and Tuxedo CORBA objects. The WebLogic Tuxedo Connector:

- Enables Tuxedo CORBA objects to invoke upon EJBs deployed in WebLogic Server using the RMI/IIOP API (Inbound).
- Enables objects (such as EJBs or RMI objects) to invoke upon CORBA objects deployed in Tuxedo using the RMI/IIOP API (Outbound).
- Enables objects (such as EJBs or RMI objects) to invoke upon CORBA objects deployed in Tuxedo using a CORBA Java API (Outbound).

# WebLogic Tuxedo Connector JATMI Primitives

The JATMI is a set of primitives used to begin and end transactions, allocate and free buffers, and provide the communication between clients and servers.

Table 1-1 JATMI Primitives

Name | Operation
--- | ---
`tpacall` | Use for asynchronous invocations of a Tuxedo service during request/response communication.`tpacall` has two forms: deferred synchronous asynchronous
`tpcall` | Use for synchronous invocation of a Tuxedo service during request/response communication.
`tpconnect` | Use to establish a connection to a Tuxedo conversational service.
`tpdiscon` | Use to abort a conversational connection and generate a TPEV_DISCONIMM event when executed by the process controlling the conversation.
`tpdequeue` | Use for receiving messages from a Tuxedo /Q during request/response communication.
`tpenqueue` | Use for placing a message on a Tuxedo /Q during request/response communication.
`tpgetrply` | Use for retrieving replies from a Tuxedo service during request/response communication.
`tprecv` | Use to receive data across an open connection from a Tuxedo application during conversational communication.
`tpsend` | Use to send data across a open connection to a Tuxedo application during conversational communication.
`tpterm` | Use to close a connection to a Tuxedo object.

# WebLogic Tuxedo Connector TypedBuffers

WebLogic Tuxedo Connector provides an interface called TypedBuffers that corresponds to Tuxedo typed buffers. Messages are passed to servers in typed buffers. The WebLogic Tuxedo Connector provides the following buffer types:.

Table 1-2 TypedBuffers

Buffer Type | Description
--- | ---
TypedString | Buffer type used when the data is an array of characters that terminates with the null character. Tuxedo equivalent: STRING.
TypedCArray | Buffer type used when the data is an undefined array of characters (byte array), any of which can be null. Tuxedo equivalent: CARRAY.
TypedFML | Buffer type used when the data is self-defined. Each data field carries its own identifier, an occurrence number, and possibly a length indicator. Tuxedo equivalent: FML.
TypedFML32 | Buffer type similar to TypeFML but allows for larger character fields, more fields, and larger overall buffers. Tuxedo equivalent: FML32.
TypedXML | Buffer type used when data is an XML based message. Tuxedo equivalent: XML for Tuxedo Release 7.1 and higher.
TypedView | Buffer type used when the application uses a Java structure to define the buffer structure using a view description file. Tuxedo equivalent: VIEW
TypedView32 | Buffer type similar to View but allows for larger character fields, more fields, and larger overall buffers. Tuxedo equivalent: VIEW32.
TypedMBString | Buffer type used when the data is a wide array of characters to support multibyte characters. Tuxedo equivalent: MBSTRING.