Transactional Coordination Agents for Composite Systems
Heiko Schuldt, Hans-Jörg Schek, Gustavo Alonso
Proceedings of the 3rd International Database Engineering and Applications Symposium (IDEAS'1999)
Composite systems are collections of autonomous, heterogeneous, and distributed software applications. In these systems, data dependencies are continuously violated by local operations and therefore, coordination processes are necessary to guarantee overall correctness and consistency. Such coordination processes must be endowed with some form of execution guarantees, which require the participating subsystems to have certain database functionality (such as atomicity of local operations, order-preservation and either compensation of operations or the deferment of their commit). However, this functionality is not present in many applications and must be implemented by a transactional coordination agent coupled with the application. In this paper, we discuss the requirements to be met by the applications and their associated transactional coordination agents. We identify a minimal set of functionality the applications must provide in order to participate in transactional coordination processes and we also discuss how the missing database functionality can be added to arbitrary applications using transactional coordination agents. Then, we identify the structure of a generic transactional coordination agent and provide an implementation example of a transactional coordination agent tailored to SAP R/3.