hide
Free keywords:
-
Abstract:
Internet-based e-services require application developers to deal explicitly
with failures of the underlying
software components, e.g. web servers, servlets, browser sessions, etc. This
complicates application
programming, and may expose failures to end users. This paper presents a
framework for an applicationindependent
infrastructure that provides recovery guarantees and masks almost all system
failures, thus
relieving the application programmer from having to deal with these failures,
e.g. by making applications
stateless. The main concept is an interaction contract between two components
regarding message and state
preservation. The framework provides comprehensive recovery encompassing data,
messages, and the states
of application components. We describe techniques to reduce logging cost, allow
effective log truncation, and
permit independent recovery for critical components. We illustrate the
framework's utility via web-based eservices
scenarios. Its feasibility is demonstrated by our prototype implementation of
interaction contracts
based on the Apache web server and the PHP servlet engine. Finally, we discuss
industrial relevance for
middleware architectures such as .Net or J2EE.