Abstract
In this paper, we address the problem of improving the availability and correctness of Web Services. An architectural approach is proposed that incorporates fault-tolerant techniques, such as, self-checking, comparison, and dynamic reconfiguration. The first two techniques are associated with the detection and handling of faults at the component level, while the latter is associated with the system. To demonstrate its applicability, a distributed application was designed and implemented that addresses the problem of obtaining dependable stock quotes from the Web. The system was implemented using Web Services core technologies, and preliminary measurements confirmed the improved availability of the whole application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Avizienis: The N-Version Approach to Fault Tolerant Software. IEEE Transactions on Software Engineering 11(2), 1491–1501 (1995)
Avizienis, Laptrie, J.-C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing 1(1), 11–33 (2004)
Apte, N., Mehta, T.: UDDI: Building Registry-Based Web Services Solutions. Prentice Hall, Englewood Cliffs (2003)
Candea, G., Brown, A.B., Fox, A., Patterson, D.: Recovery-Oriented Computing: Building Multitier Dependability. Computer 37(11), 60–67 (2004)
Candea, G., Fox, A.: Crash-Only Software. In: Proceedings of the 9th Workshop on Hot Topics in Operating Systems (HotOS-IX) (May 2003)
Chappell, D.A., Jewell, T.: Java Web Services. O’Reilly, Sebastopol (2002)
Defago, X., Schiper, A.: Specification of Replication Techniques, Semi-Passive Replication, and Lazy Consensus. Research Report KS-RR-2002-001, JAIST, Ishikawa, Japan (February 2002)
DeLine, R.: A Catalogue of Techniques for Resolving Packaging Mismatch. In: Proceedings of the 5th Symposium on Software Reusability (SSR 1999), Los Angeles, CA, pp. 44–53 (May 1999)
DurĂŁes, J., Madeira, H.: Web-server Availability from the End-user Viewpoint: a Comparative Study (Fast Abstract). In: IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2004), Florence, Italy (June 2004)
DurĂŁes, J., Vieira, M., Madeira, H.: Dependability Benchmarking of Web-Servers. In: The 23rd International Conference of Computer Safety, Reliability and Security (SAFECOMP 2004), Potsdam, Germany (September 2004)
Garlan, D., Cheng, S.-W., Kompanek, A.J.: Reconciling the Needs of Architectural Description with Object-Modeling Notations. Science of Computer Programming Journal (Special UML Edition), Elsevier Science (2001)
de Castro Guerra, P.A., Rubira, C.M.F., Romanovsky, A., de Lemos, R.: A Dependable Architecture for COTS-Based Software Systems using Protective Wrappers. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems II. LNCS, vol. 3069, pp. 144–166. Springer, Berlin (2004)
Jini TM Architecture Specification Version 1.2, Sun Microsystems (December 2001)
Jones, B.R.: Dependability – the Role of Structure (2004) (Manuscript in preparation)
Kumagai, J.: London Exchange Vanishes for 8 Hours. IEEE Spectrum, 30–32 (June 2000)
Laprie, J.-C., et al.: Hardware and Software Fault Tolerance: Definition and Analysis of Architectural Solutions. In: Proceedings of the 17th International Symposium on Fault Tolerant Computer Systems (FTCS-17), Pittsburgh, PA, pp. 116–121 (1987)
Ledru, P.: Smart Proxies for Jini Services. ACM SIGPLAN Notices 37, 57–61 (2002)
Merzbacher, M., Patterson, D.: Measuring End-User Availability on the Web: Practical Experience. In: Proceedings of the International Performance and Dependability Symposium, Washington DC, USA (June 2002)
Monge, R., Alves, C., Vallecillo, A.: A Graphical Representation of COTS-based Software Architectures. In: Proceedings. of IDEAS 2002, La Habana, Cuba, April 2002, pp. 126–137 (2002)
Monroe, R.T., Kompanek, A., Melton, R., Garlan, D.: Architectural Styles, Design Patterns, and Objects. IEEE Software 14(1), 43–52 (1997)
Newcomer, E.: Understanding Web Services. Addison-Wesley, Reading (2002)
Parchas, E., de Lemos, R.: An Architectural Approach for Improving Availability in Web Services. In: Proceedings of ICSE 2004 Workshop on Architecting Dependable Systems (WADS), Edinburgh, Scotland, UK (May 2004)
Pflanz, M.: On-line Error Detection and Fast Recover Techniques for Dependable Embedded Processors. LNCS, vol. 2270. Springer, Berlin (2002)
Powell: Distributed Fault Tolerance: Lessons from Delta-4. IEEE Micro, 42–43 (February 1994)
Rakic, M., Medvidovic, N.: Increasing the Confidence in Off-the-Shelf Components: A Software Connector-based Approach. In: Proceedings of the 2001 Symposium on Software Reusability (SSR 2001), May 2001, pp. 11–18 (2001)
Randell: System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering SE 1(2), 220–232 (1975)
Rubira, M.F., de Lemos, R., Ferreira, G.R.M., Castor Filho, F.: Exception Handling in the Development of Dependable Component-Based Systems. Software-Practice and Experience 35(3), 195–236 (2005)
Shaw, M.: Moving from Qualities to Architecture: Architecture Styles. In: Bass, L., Clements, P., Kazman, R. (eds.) Software Architecture in Practice, pp. 93–122. Addison-Wesley, Reading (1998)
Schlichting, R.D., Schneider, F.B.: Fail-Stop Processors: An Approach to Designing Fault-Tolerant Computing Systems. ACM Transactions on Computer Systems 1(3), 222–238 (1983)
Schneider, F.B.: Byzantine Generals in Action: Implementing Fail-Stop Processors. ACM Transactions on Computer Systems 2(2), 145–154 (1984)
Tichy, M., Giese, H.: An Architecture for Configurable Dependability of Application Services. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems II. LNCS, vol. 3069, pp. 25–50. Springer, Heidelberg (2004)
UDDI4J. IBM UDDI4J Project. IBM (September 2004), http://www-124.ibm.com/developerworks/oss/uddi4j/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Lemos, R. (2005). Architecting Web Services Applications for Improving Availability. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems III. Lecture Notes in Computer Science, vol 3549. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11556169_4
Download citation
DOI: https://doi.org/10.1007/11556169_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28968-5
Online ISBN: 978-3-540-31648-0
eBook Packages: Computer ScienceComputer Science (R0)