# What You Must Know About Tuxedo

Before creating a web service or Java application that uses Tuxedo services, you need to understand the general representation of a Tuxedo service so that proper data mapping occurs.

### Understanding How a Tuxedo Service is Represented

The Tuxedo Control provides a generic mechanism for using Tuxedo services. As provided by BEA, the Tuxedo Control has no information about the Tuxedo service the control accesses at run-time. In using the Tuxedo Control, you must create a Java Control Extension (.jcx file) that configures an instance of the control for a specific Tuxedo service. This configuration information controls the type of buffers to use, what information is placed in the buffers, how to call the Tuxedo service, and other information specific to the service that the control is calling.

The information necessary to configure the Tuxedo Control instance is the same information needed by any client of the Tuxedo service the control is calling. At a minimum, this includes the name of the service, the type of the Tuxedo buffer to send to the service, how to invoke the service, what data to place in the buffer, and what data to retrieve from any response from the service. For some buffer types, such as FML32 buffers, the field definition or field tables must be provided. Similarly, for VIEW32 buffers, the class definitions must also be provided.

#### Tuxedo Field Headers

Before you can begin to work with FML fielded buffers, you must:

- Define fields.
- Make field definitions available to application programs (through field table files and mapping functions at runtime). You must process the field table into a Java class using the mkfldclass and mkfldclass32 utilities. The control then uses the Java class at runtime.

For more information about mkfldclass and mkfldclass32 utilities, see WebLogic Server Javadoc.

#### Tuxedo VIEW Buffers

Before you can begin to work with VIEW buffers, you must:

- Define the VIEW fields.
- Create the TypedView or TypedView32 class definitions that your application uses. You must process the VIEW definition using the viewj or viewj32 compilers, which generate Java source code. The control uses the Java class at runtime.

For more information about viewj and viewj32 utilities, see WebLogic Server Javadoc.

#### Tuxedo Typed Buffers

WebLogic Tuxedo Connector provides an interface called TypedBuffers that corresponds to Tuxedo typed buffers. Messages are passed to servers in typed buffers.

Note: WebLogic Tuxedo Connector does not support double-byte character sets or international character sets.

The WebLogic Tuxedo Connector provides the following buffer types.

Buffer Type | Description
--- | ---
STRING | Buffer type used when the data is an array of characters that terminates with the null character. Tuxedo equivalent: STRING.
CARRAY | Buffer type used when the data is an undefined array of characters (byte array), any of which can be null. Tuxedo equivalent: CARRAY.
FML | 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.
FML32 | Buffer type similar to FML but allows for larger character fields, more fields, and larger overall buffers. Tuxedo equivalent: FML32.
XML | Buffer type used when data is an XML based message. Tuxedo equivalent: XML for Tuxedo Release 7.1 and higher.
VIEW | Buffer type used when the application uses a Java structure to define the buffer structure using a view description file. Tuxedo equivalent: VIEW.
VIEW32 | Buffer type similar to View but allows for larger character fields, more fields, and larger overall buffers. Tuxedo equivalent: VIEW32.
X_OCTET | Buffer type used when the data is an undefined array of characters (byte array) any of which can be null. X_OCTET is identical in semantics to CARRAY. Tuxedo equivalent: X_OCTET.
X_COMMON | Buffer type similar to View. Tuxedo equivalent: VIEW.
X_C_TYPE | Buffer type similar to View. Tuxedo equivalent: VIEW.

Related Topics

- FML and VIEW Features
- WebLogic Tuxedo Connector TypedBuffers
- Tuxedo Documentation