CAGISTrans: Adaptable Transactional Support for Cooperative Work
MetadataVis full innførsel
The theme of this thesis is on transactional support for cooperative work environments, focusing on data sharing. It is thus concerned with the provision of suitable mechanisms to manage concurrent access to shared data and resources. This subject is not new, per se. In fact, maintaining data consistency in multiuser environments is a classical problem that has been addressed thoroughly since the introduction of transaction management. However, while traditional transaction models – also called ACID (atomicity, consistency, isolation, and durability) transactions – have provided satisfactory and efficient consistency management for traditional multiuser database and business applications such as banking and flight reservation applications, they have been found to be too restrictive in the context of cooperation. Atomicity is inappropriate for cooperative environments, where activities are normally of long duration. The isolation of transactions does not allow cooperation, which is thus unsuitable for cooperative environments. Several solutions have been proposed and developed in terms of advanced transaction models and frameworks. The goal has primarily been to overcome the limitations of traditional transactions. However, although there are many solutions, there are some problems that are not solved. Among these are the problems that result from the dynamic and heterogeneous nature of cooperative work. Finding solutions to these problems has been a subject for intensive research over the past couple of decades. However, it is widely agreed that they still deserve careful attention. The solution here is to provide transactional support that not only can be tailored to suit different situations, but can also be modified in accordance with changes in the actual environment while the work is being carried out – i.e., is adaptable. As part of this solution, we have identified and extracted the beneficial features from existing models and attempted to extend these to form a transactional framework, called CAGISTrans. This is a framework for the specification of transaction models suiting specific applications. The main contribution in handling dynamic environments is in the way of organising the elements of a transaction model to allow runtime refinement. In addition, a transaction management system has been developed, built on the middleware principle, to allow interoperability and database independence, and support for non-database resources. This thereby addresses the problems induced by the heterogeneous nature of cooperative environments. The solution depends on setting requirements based on the practical reallife needs for a system supporting cooperative work. This shows how this framework meets these requirements. One of the issues that is not emphasised is system throughput. From a transaction processing perspective, this issue is generally considered to be critical. However, since transactions in cooperative environments normally span long periods of time, they are mainly more sensitive to response time performance than system throughput. A CAGISTrans system has been implemented, using several technological tools such as Java, XML and software agents. The thesis discusses the specific use of and general experience with these technological tools. The CAGISTrans prototypes have implemented the major parts of the framework. The main conclusion is that the current CAGISTrans framework is able to support the basic features of dynamic and heterogeneous transaction management, allowing users to specify models and have the system execute their transactions in a flexible and controlled manner.