Abstract
The Web frequently suffers from failures which affect the performance and consistency of applications run over it. An important fault-tolerance technique is the use of atomic transactions for controlling operations on services. While it has been possible to make server-side Web applications transactional, browsers typically did not possess such facilities. However, with the advent of Java it is now possible to consider empowering browsers so that they can fully participate within transactional applications. In this paper we present the design and implementation of a standards-compliant transactional toolkit for the Web. The toolkit allows transactional applications to span Web browsers and servers and supports application-specific customization, so that an application can be made transactional without compromising the security policies operational at browsers and servers.