Transactions in the Object Space |
The object space can be considered as completely integrated only if it provides a single transaction management mechanism. A user (or a client program working on behalf of the user) should have possibility to make a sequence of changes in one transaction regardless of whether objects are within one or several services. Neither user nor client developer should be concerned about whether a transaction is distributed or local: it is to be ascertained by actual distribution of objects being changed.
Therefore, all services of the object space use a family of transaction managers comparable each with other, having common rules of intercommunication, including the rules of transaction identification, two-phase distributed transaction commitment, etc. By initiating a sequence of object changes using some service, the client activates the transaction manager of the service. If objects of different services were affected, transaction managers of the services get, transparently, the context of the distributed transaction the changes are within, and manage the local changes as a part of the distributed transaction.
Distributed transaction management is to be done according to the model X/Open DTP. The model says that if a system storing objects has its own transaction manager, for instance, DBMS, then transaction control over the objects may be delegated to the manager. In this case, the appropriate service's transaction manager may do no work itself, but delegate it to the transaction manager of the subordinate system.
Questions of reliability and transaction durability may be solved on the level of a service's transaction manager if it does full management, journaling etc., or else on the level of the subordinate system's transaction manager.
Summary
We hope that we proved technical practicability of creation of the global object space. Ideas stated here were checked in practice and were used in the product EntryService of Fusionsoft company, which you can get here: http://www.fusionsoft-online.com/entryservice.php. We are using the product for creation of the object space now. We welcome joining us in this task: info@fusionsoft-online.com.
Introduction: Introduction
Previous: Security of the Object Space
