Disclosed is a mechanism that can be implemented in database systems to
support distributed transactions in heterogeneous systems. Once the
transaction manager of a database system implements this mechanism,
application developers and vendors can integrate new datasources into the
transaction manager of the database system. This would simplify the
application design and ensure the integrity of data and interactions. The
interface and interactions between the transaction manager and external
datasources (both structured and non-structured) conform to X/Open XA
standards. Also disclosed is a technique to design the system catalogs
for organizing the datasources and instances of the new datasources.