Home - HerbertKoelman/cpp-atmi GitHub Wiki

ATMI++ is a C++ wrapper of Tuxedo's ATMI library.

Tuxedo (Transactions for Unix, Extended for Distributed Operations) is a middleware platform used to manage distributed transaction processing in distributed computing environments. Tuxedo is a transaction processing system or transaction-oriented middleware, or enterprise application server for a variety of systems and programming languages. Developed by AT&T in the 1980s, it became a software product of Oracle Corporation in 2008.

ATMI, for Application-to-Transaction Monitor Interface, is the main API for the Tuxedo system. It includes transaction management functions (routines, verbs); request/response, conversational, queuing, and publish-and-subscribe message-handling functions; service interface functions; and buffer management functions for distributed application communication.

ATMI++ is a C++ wrapping of this API, adding strong typing of FML buffers and adding the use of exceptions to detect and handle error conditions. This should help making it easier to write fast and rock solid Tuxedo software.

What it offers

ATMI++ is a set of 3 libraries :

  • libatmi++.a
  • libcltatmi++.a
  • libfml++.a

Plus a library of utility classes (libatmiutl++.a) which implements goodies such as Threading and Socket handling.

Dependencies

  • Tuxedo can be downloaded here.

Sample client and server programs

This library comes with a set of samples that are used to debug and demonstrate how this material can be used. Of course this is meant for dinosaurs like me who are still using this old stuff :-) .

Utilities

  • qexport : export messages in a file.
  • qimport : import messages found in a file into a /Q queue.
  • qwriter : writes STRING messages in /Q queue (useful to check setups)