BEA Home | Events | Solutions | Partners | Products | Services | Download | Developer Center | WebSUPPORT
| WebLogic Server Doc Home | WebLogic Tuxedo Connector Programmer's Guide | Previous Topic | Next Topic | Contents | View as PDF

Developing WebLogic Tuxedo Connector Service EJBs

The following sections provide information on how to create WebLogic Tuxedo Connector service EJBs:

- Basic Service EJB Operation

- Example Service EJB

Basic Service EJB Operation

A service application uses Java and JATMI primitives to provide the following tasks:

- Access Service Information

- Buffer Messages

- Perform the Requested Service

Access Service Information

Note: For more detailed information on the TPServiceInformation class, view the Javadocs for WebLogic Server Classes. The WebLogic Tuxedo Connector classes are located in the weblogic.wtc.jatmi package.

Use the TPServiceInformation class to access service information sent by the Tuxedo client to run the service.do:

Table 3-1 JATMI TPServiceInformation Primitives

Buffer Type | Description
--- | ---
getServiceData() | Use to return the service data sent from the Tuxedo Client.
getServiceFlags() | Use to return the service flags sent from the Tuxedo Client.
getServiceName() | Use to return the service name that was called.

Buffer Messages

Use the following buffer types when sending and receiving messages between your application and Tuxedo:

Table 3-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.

Perform the Requested Service

Use Java code to express the logic required to provide your service.

Return Client Messages for Request/Response Communication

Note: For more detailed information on the TuxedoReply class, view the Javadocs for WebLogic Server Classes. The WebLogic Tuxedo Connector classes are located in the weblogic.wtc.jatmi package.

Use the TuxedoReply class setReplyBuffer() method to respond to client requests.

Use tpsend and tprecv for Conversational Communication

Note: For more information on Conversational Communication, see WebLogic Tuxedo Connector JATMI Conversations.

Use the following JATMI primitives when creating conversational servers that communicate with Tuxedo clients:

Table 3-3 WebLogic Tuxedo Connector Conversational Client Primitives

Name | Operation
--- | ---
tpconnect | Use to establish a connection to a Tuxedo conversational service.
tpdiscon | Use to abort a connection and generate a TPEV_DISCONIMM event when executed by the process controlling the conversation.
tprecv | Use to receive data across an open connection from a Tuxedo application.
tpsend | Use to send data across a open connection to a Tuxedo application.

Example Service EJB

The following provides an example of the TolowerBean.java service EJB which receives a string argument, converts the string to all lower case, and returns the converted string to the client.

Listing 3-1 Example Service EJB

>     .
>     .
>     .

>     public Reply service(TPServiceInformation mydata) throws TPException {
>               TypedString data;
>               String lowered;
>               TypedString return_data;

>               log("service tolower called");

>               data = (TypedString) mydata.getServiceData();
>               lowered = data.toString().toLowerCase();
>               return_data = new TypedString(lowered);

>               mydata.setReplyBuffer(return_data);

>               return (mydata);
>     }
>     .
>     .
>     .

Copyright © 2001 BEA Systems, Inc. All rights reserved. Required browser: Netscape 4.0 or higher, or Microsoft Internet Explorer 4.0 or higher.