A Pragmatic Implementation of E-transactions * Internal Accession Date Only a Pragmatic Implementation of E-transactions

Three-tier applications have nice properties, which make them scalable and manageable: clients are thin and servers are stateless. However, it is challenging to implement, or even de ne, end-to-end reliability for such applications. Furthermore, it is especially hard to make these applications reliable without violating their nice properties. In our previous work, we have identi ed e-transactions as a desirable and practical end-to-end reliability guarantee for three-tier applications. Essentially, an e-transaction guarantees that the server-side transactional side-e ect happens exactly-once, and that the client receives the result of the server-side computation. Thus, e-transactions mask server and database failures relative to the client. We present in this paper a pragmatic implementation of e-transactions that maintains the nice properties of three-tier applications in the special, but very common, case of a single backend database.