Create a user-defined interface for XA data sources

The HCL Informix® Transaction Manager recognizes XA-compliant external data sources, which can participate in two-phase commit transactions. You can invoke support routines for each XA-compliant, external data source that participates in a distributed transaction at a particular transactional event, such as prepare, commit, or rollback. This interaction conforms to X/Open XA interface standards.

You can create user-defined support routines to provide data access mechanisms for external data from XA data sources. The interaction between Informix® and external data sources is through a set of purpose routines, such as xa_open( ), xa_start( ), xa_prepare( ), xa_rollback( ), xa_commit( ), xa_recover( ), xa_complete( ), xa_forget( ), xa_close( ), and xa_end( ) For more information these purpose functions, see the Informix® DataBlade® API Programmer's Guide.

You can create and drop XA-compliant data source types and instances of XA-compliant data sources. After you create an external XA-compliant data source, transactions can register and unregister the data source using the mi_xa_register_xadatasource( ) or ax_reg( ) and mi_xa_unregister_xadatasource( ) or ax_unreg( ) functions. For information about creating and dropping XA-compliant data source types and instances of XA-compliant data sources and information about the functions that transactions use to register and unregister the data source, see the Informix® DataBlade® API Programmer's Guide and the Informix® DataBlade® API Function Reference .

The MQ DataBlade® module is an example of a set of user-defined routines that provide data access mechanisms for external data from XA data sources and provides XA-support functions to provide transactional support for the interaction between HCL Informix® and WebSphere® MQ. For more information, see the Informix® Database Extensions User's Guide.