BEA Logo BEA Tuxedo Release 7.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   Tuxedo Doc Home   |   Programming   |   Topic List   |   Previous   |   Next   |   Contents

   Programming a BEA Tuxedo Application Using C

BEA Tuxedo API: ATMI

In addition to the C code that expresses the logic of your application, you must use the Application-to-Transaction Monitor Interface (ATMI), the interface between your application and the BEA Tuxedo system. The ATMI functions are C language functions that resemble operating system calls. They implement communication among application modules running under the control of the BEA Tuxedo system transaction monitor, including all the associated resources you need.

The ATMI is a reasonably compact set of functions used to open and close resources, begin and end transactions, allocate and free buffers, and support communication between clients and servers. The following table summarizes the ATMI functions. Each function is described in the BEA Tuxedo C Function Reference.

Using the ATMI Functions

For a Task Related
to . . .

Use This C Function . . .

To . . .

For More Information,
Refer to . . .

Buffer management

tpalloc()

Create a message buffer

Managing Typed Buffers

tprealloc()

Resize a message buffer

tptypes()

Get a message type and subtype

tpfree()

Free a message buffer

Client membership

tpchkauth()

Check whether authentication is required

Writing Clients

tpinit()

Join an application

tpterm()

Leave an application

Multiple application context management

tpgetctxt(3c)

Retrieve an identifier for the current thread's context

Programming a Multithreaded and Multicontexted Application

tpsetctxt(3c)

Set the current thread's context in a multicontexted process

Service entry and return

tpsvrinit()

Initialize a server

tpsvrdone()

Terminate a server

tpsvrthrinit()

Initialize an individual server thread

tpsvrthrdone()

Termination code for an individual server thread

tpreturn()

End a service function

tpforward()

Forward a request

Dynamic advertisement

tpadvertise()

Advertise a service name

Writing Servers

tpunadvertise()

Unadvertise a service name

Message priority

tpgprio()

Get the priority of the last request

Writing Servers

tpsprio()

Set the priority of the next request

Request/response communications

tpcall()

Initiate a synchronous request/response to a service

tpacall()

Initiate an asynchronous request

tpgetrply()

Receive an asynchronous response

tpcancel()

Cancel an asynchronous request

Conversational communication

tpconnect()

Begin a conversation with a service

Writing Conversational Clients and Servers

tpdiscon()

Abnormally terminate a conversation

tpsend()

Send a message in a conversation

tprecv()

Receive a message in a conversation

Reliable queuing

tpenqueue(3c)

Enqueue a message to a message queue

Using the BEA Tuxedo /Q Component

tpdequeue(3c)

Dequeue a message from a message queue

Event-based communications

tpnotify()

Send an unsolicited message to a client

Writing Event-based Clients and Servers

tpbroadcast()

Send messages to several clients

tpsetunsol()

Set unsolicited message call-back

tpchkunsol()

Check the arrival of unsolicited messages

tppost()

Post an event message

tpsubscribe()

Subscribe to event messages

tpunsubscribe()

Unsubscribe to event messages

Transaction management

tpbegin()

Begin a transaction

Writing Global Transactions

tpcommit()

Commit the current transaction

tpabort()

Roll back the current transaction

tpgetlev()

Check whether in transaction mode

tpsuspend()

Suspend the current transaction

tpresume()

Resume a transaction

Resource management

tpopen(3c)

Open a resource manager

Setting Up a BEA Tuxedo Application

tpclose(3c)

Close a resource manager

Security

tpkey_open(3c)

Open a key handle for digital signature generation, message encryption, or message decryption

Using BEA Tuxedo Security

tpkey_getinfo(3c)

Get information associated with a key handle

tpkey_setinfo(3c)

Set optional attributes associated with a key handle

tpkey_close(3c)

Close a previously opened handle

tpsign(3c)

Mark a typed message buffer for generation of a digital signature

tpseal(3c)

Mark a typed message buffer for generation of an encryption envelope

tpenvelope(3c)

Access the digital signature and recipient information associated with a typed message buffer

tpexport(3c)

Convert a typed message buffer into an exportable, machine-independent (externalized) string representation

tpimport(3c)

Convert an externalized string representation back into a typed message buffer