An analysis of transactions in service-centric systems
MetadataShow full item record
Traditional transaction semantics (usually expressed in terms of ACID properties) and protocols (like two-phase commit) are inappropriate for most B2B (Business-to-Business) applications in SOAs (Service Oriented Architectures). This is because B2B applications may execute over long periods, involve loosely coupled partners, pose multiple points of failure and do not necessarily share business and technical characteristics. Also, B2B transactions span over different administrative domains (companies) with discrepancies in data definitions, service and transaction management. Such transactions require commitments and failure behavior to be "negotiated" rather than to rely on the traditional ACID properties. Since ACID properties cannot be achieved in B2B transactions in case of failures, compensating actions must be used to turn back the system to a state as close to (but not identical with) the initial state. This thesis categorizes the types of compensating actions for various application domains such as distributed production, distribution of goods, booking of services for a common purpose and web shops, to mention a few. To achieve this, use cases are developed for the application domains and from these use cases the typical failures points derived, leading to the detailing of the related compensating actions and then, finally, to the categorization. The same type of compensation may be applicable for, or extended to other different domains that have not been stated in this report. In addition, a demonstrator showing the different compensating actions (by showing transaction progress from the user point-of-view) for one scenario chosen from one application domain was built.