Abstract
The way developers usually implement recoverability in object oriented applications is by delegating the backward error recovery logic to the ever-present database transactions, discarding the in-memory object graphwhen something goes wrong and reconstructing its previous version from the repository. This is not elegant from the point of view of design,but a cheap and efficient way to recover the system from an error. In some architectures like RIA, the domain logic is managed in the client without that resource, and the error prone and complex recoverability logic must be implemented manually, leading to a tangled and obfuscated code. An automatic recovery mechanism is adapted to that architecture by means of a JavaScript implementation. We developed several benchmarks representing common scenarios to measure the benefits and costs of this approach, evidencing the feasibility of the automatic recovery logic but an unexpected overhead of the chosen implementation of AOP for JavaScript.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Randerll, B., Campbell, R.H., Anderson, T.: Practical Fault Tolerance Software for Asynchronous Systems. IPAC Safecom, Cambridge (1983)
Oki, B.M.: Reliable object storage to support atomic actions. MSc thesis,: MIT Dept. EE and CS (May 1983)
Cristian, F.: A recovery mechanism for modular software. In: Proc. 4th Int. Conf. Software Engineering, pp. 42–50. IEEE Press, Piscataway (1979)
Tikhomirova, N.V., Shturtz, I.V., Romanovsky, A.: Object-oriented approach to state restoration by reversion in fault tolerant systems, Computing Science. University of Newcastle upon Tyne, Newcastle (1997)
Silva, A., Pereira, J., Marques, J.: Customizable Object Recovery Pattern. Pattern Languages of Program Design. Addison-Wesley, Reading (1997)
Blanck Lisboa, M.L., Fernandes, A.P.: Reflective implementation of an object recovery design pattern. In: VII CongressoArgentino de Ciencias de la Computación (2001)
Plank, J.S., et al.: Memory Exclusion: Optimizing the Performance of Checkpointing Systems. Tennessee, USA: University of Tennessee Technical Report UT-CS-96-335 (August 1996)
Garthwaite, A., Nettles, S.: Transactions for Java. In: Int. Conf. Computer Languages, pp. 16–27 (1998)
Fernández Lanvin, D., et al.: Extending Object-Oriented Languages with Backward Error Recovery Integrated Support. Computer Languages, Systems and Structures. Elsevier, Amsterdam (July 2010)
Kiczalez, G., et al.: Aspect-oriented programming. In: Liu, Y., Auletta, V., et al. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)
Lipper, M., Videira Lopes, C.: A study on exception detection and handling using aspect-oriented programming. In: Proc. 22nd International Conference on Software Engineering, pp. 418–427. ACM Press, New York (2000)
Toledo, R., Leger, P., Tanter, É.: AspectScript: expressive aspects for the web. In: Proceedings of the 9th International Conference on Aspect-Oriented Software Development, Rennes and Saint-Malo, France, pp. 13–24. ACM, New York (2010)
Cristian, F.: A recovery mechanism for modular software. In: Proc. 4th Int. Conf. Software Engineering, pp. 42–50. IEEE Press, Piscataway (1979)
http://martinweb.zobyhost.com/hcirg/en-projects.htm#SHUBAI (June 2010)
García, A.F., Rubira, C.M.F., Romanovsky, A., Xu, J.: A comparative study of exception handling mechanisms for building dependable object-oriented software. J. Systems and Software, 197–222 (2001)
Rosenberg, J.: Some Misconceptions About Lines of Code. In: Proceedings of the 4th International Symposium on Software Metrics, IEEE Computer Society, Los Alamitos (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Quintela-Pumares, M., Fernández-Lanvin, D., Izquierdo, R., Fernández-Álvarez, AM. (2010). Implementing Automatic Error Recovery Support for Rich Web Clients. In: Chen, L., Triantafillou, P., Suel, T. (eds) Web Information Systems Engineering – WISE 2010. WISE 2010. Lecture Notes in Computer Science, vol 6488. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-17616-6_54
Download citation
DOI: https://doi.org/10.1007/978-3-642-17616-6_54
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-17615-9
Online ISBN: 978-3-642-17616-6
eBook Packages: Computer ScienceComputer Science (R0)