A Flexible and Adaptable Tool Kit Approach for Transaction Management in Non Standard Database Systems
Transaction management has been thoroughly investigated in the context of traditional database applications. There are relatively few studies, however, that address transaction management issues of 'advanced database applications' like, e. g., CAD/CAM, CASE, large AI applications or image and voice processing. The demands on transaction management in such application areas differ substantially from those in traditional database applications; in particular, there is a need to support 'enriched' data models (which include, e. g., complex objects or version and configuration management), 'synergistic' cooperative work, and application or user supported consistency. But, unfortunately, the demands are not only sophisticated but also diversified, which means that different application areas might even place contradictory demands on transaction management. This paper deals with these problems and offers a solution by introducing a flexible and adaptable tool kit approach for transaction management. This tool kit enables a database implementor or applications designer to assemble application-specific transaction managers. Each such transaction manager is meant to provide a number of individual, application-specific transaction types. Such transaction types can be constructed by selecting a meaningful subset from a "starter set" of basic constituents. This starter set contains, among others, several basic components for concurrency control, recovery, and transaction processing control. In a first step these basic components are assembled and adapted to each other to form a (non executable) "skeleton" transaction. Skeleton transactions can be specialized to more meaningful skeleton transactions. Finally, executable transaction types can be constructed by equipping skeleton transaction with specific semantics; i. e., the specific rules and constraints of the underlying transaction model are defined. To be able to emulate any kind of application environment we wanted the different transaction types to be executable in any order within a nested transaction hierarchy (no predefined order). For this reason a global (transaction) model is introduced. It specifies the constraints and rules which need to be obeyed by each transaction type. Particular emphasis was placed on the integration of flexible and powerful concepts for an adequate application specific support of cooperative work.
Nutzung und Vervielfältigung:
Alle Rechte vorbehalten