Enterprise applications need to be highly
available and scalable. In the past, this has required
“stateless” applications, which essentially require the
application to manage its state explicitly by storing it
in transactional resource managers. Despite
“stateful” applications being more natural and hence
easier to write and get correct, having the system
manage this state automatically has been considered
too difficult and too costly. The Phoenix/App system
showed how to manage state in stateful applications
transparently, by logging interactions between
components, guaranteeing “exactly once” execution of
the application. By introducing some minor
restrictions on Phoenix/App components, no logging
need be done for middle tier components, thus making
it easy to provide both availability and scalability.
Because there is no logging, the performance of failure
free application executions is excellent.
In IDEAS Conference
Publisher IEEE Computer Society
Copyright © 2007 IEEE. Reprinted from IEEE Computer Society. This material is posted here with permission of the IEEE. Internal or personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to firstname.lastname@example.org. By choosing to view this document, you agree to all provisions of the copyright laws protecting it.