e-transactions: End-to-end reliability for three-tier architectures

S Frolund, R Guerraoui - IEEE Transactions on Software …, 2002 - ieeexplore.ieee.org
S Frolund, R Guerraoui
IEEE Transactions on Software Engineering, 2002ieeexplore.ieee.org
A three-tier application is organized as three layers: human users interact with front-end
clients (eg, browsers), middle-tier application servers (eg, Web servers) contain the business
logic of the application, and perform transactions against back-end databases. Although
three-tier applications are becoming mainstream, they usually fail to provide sufficient
reliability guarantees to the users. Usually, replication and transaction-processing
techniques are applied to specific parts of the application, but their combination does not …
A three-tier application is organized as three layers: human users interact with front-end clients (e.g., browsers), middle-tier application servers (e.g., Web servers) contain the business logic of the application, and perform transactions against back-end databases. Although three-tier applications are becoming mainstream, they usually fail to provide sufficient reliability guarantees to the users. Usually, replication and transaction-processing techniques are applied to specific parts of the application, but their combination does not provide end-to-end reliability. The aim of this paper is to provide a precise specification of a desirable, yet realistic, end-to-end reliability contract in three-tier applications. The paper presents the specification in the form of the Exactly-Once Transaction (e-Transaction) abstraction: an abstraction that encompasses both safety and liveness properties in three-tier environments. It gives an example implementation of that abstraction and points out alternative implementations and tradeoffs.
ieeexplore.ieee.org