The BEA TUXEDO System Development Environment
Client Processes
Basic Client Operation
Server Processes and Service Subroutines
Basic Server Operation
Servers as Requesters
The ATMI Primitives
Typed Buffers
Other Header Files
Environment Variables
Configuration File
The Bulletin Board
Service Gateway
Programming Paradigms
Buffer Types
Configuration
Examples
About This Chapter
Examples Taken from the Sample Application
Preliminaries
Client Naming
Unsolicited Notification
Security and Client Authentication
Writing Client Programs with SECURITY Set
Joining and Leaving an Application
Buffer Management
Typed Buffers for Messages
ATMI Buffer Primitives
Service Calls
Sending Synchronous Messages: tpcall()
Sending Asynchronous Messages: tpacall()
Initiating a Conversational Connection
Sending a Broadcast Message
Compiling Client Programs
The buildclient Command
Writing Request/Response Services
Examples Taken from the Sample Application
Application Service Template
The tpreturn() and tpforward() Functions
System-Supplied Servers and Subroutines
System-Supplied Servers
The BEA TUXEDO System main()
BEA TUXEDO System-Supplied Subroutines
Compiling Subroutines to Build Servers
The buildserver Command
Using C++
Writing Conversational Clients and Services
Conversational Mode
The Connection Descriptor
Buffer Management
Joining an Application
Establishing a Connection
Sending
Receiving
Values for the flags Argument: tprecv()
Ending a Conversation
Events and Their Significance
Disorderly Disconnection
Request/Response Calls and Conversations
Configuration Parameters
Building Conversational Clients and Servers
Introduction
What Is a Global Transaction?
ATMI Transaction Primitives
Explicitly Defining a Global Transaction
Implicitly Defining a Global Transaction
Introduction
Notification Actions
User-Defined and System-Defined Events
Event Broker/Event Monitor Servers
Programming Interface
Posting Events
tppost() Arguments: eventname
tppost() Arguments: data and len
tppost() Arguments: flags
Example of Event Posting
Subscribing to Events
tpsubscribe() Arguments: eventexpr
tpsubscribe() Arguments: filter
tpsubscribe() Arguments: ctl
tpsubscribe() Arguments: flags
Example of Event Subscription
Introduction
Communicating Errors
Values of tperrno
How to Deal with Errors
Fatal Transaction Errors
Time-Out
Blocking vs. Transaction Time-Out
Effect on tpcommit()
Effect of the TPNOTRAN Flag
Roles of tpreturn() and tpforward()
Service in Same Transaction as Caller
Service in Different Transaction with AUTOTRAN Set
Service Starts New Explicit Transaction
Transaction Rules
Communication Etiquette
BEA TUXEDO System-Supplied Subroutines
Leaving the Application
Global Transactions and Resource Managers
Comprehensive Example
The Central Event Log
How the Log Is Named
What Log Entries Look Like
How to Write to the Event Log
Debugging Application Processes