Issue No. 04 - April (2002 vol. 28)
<p>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. We present the specification in the form of the <it>Exactly-Once Transaction (e-Transaction)</it> abstraction: an abstraction that encompasses both safety and liveness properties in three-tier environments. We give an example implementation of that abstraction and point out alternative implementations and tradeoffs.</p>
end-to-end reliability, exactly-once, transactions, three-tier applications, fault-tolerance
S. Frølund and R. Guerraoui, "e-Transactions: End-to-End Reliability for Three-Tier Architectures," in IEEE Transactions on Software Engineering, vol. 28, no. , pp. 378-395, 2002.