Failover transparente ao cliente em Serviços Web: Uma extensão ao WS-Addressing
Resumo
Apesar do grande número de trabalhos sobre tolerância a falhas em Serviços Web baseados em técnicas de replicação, até onde vai o conhecimento dos autores, nenhum deles realiza o failover de maneira transparente ao cliente sem utilizar proxies. A principal contribuição deste artigo é uma extensão ao padrão WS-Addressing de Serviços Web, que permite a especificação de réplicas de um serviço e define a forma como as interações entre os endpoints devem ocorrer. Adicionalmente, a avaliação de um protótipo, baseado no framework Axis2 e que implementa um subconjunto da extensão, também é fornecida.Referências
Alwagait, E. and Ghandeharizadeh, S. (2004). DeW: A Dependable Web Services Framework. In RIDE ’04: Proceedings of the 14th International Workshop on Research Issues on Data Engineering: Web Services for E-Commerce and E-Government Applications (RIDE’04), pages 111–118, Washington, DC, USA. IEEE Computer Society.
Avizienis, A. (1985). The N-Version Approach to Fault-Tolerant Software. IEEE Transactions on Software Engineering, SE-11(12):1491–1501.
Birman, K., van Renesse, R., and Vogels, W. (2004). Adding High Availability and Autonomic Behavior to Web Services. In ICSE ’04: Proceedings of the 26th International Conference on Software Engineering, pages 17–26, Washington, DC, USA. IEEE Computer Society.
Birman, K. P. (2006). The Untrustworthy Web Services Revolution. Computer, 39(2):98.
Budhiraja, N., Marzullo, K., Schneider, F. B., and Toueg, S. (1993). The Primary-Backup Approach. In Distributed systems (2nd Ed.), pages 199–216, New York, NY, USA. ACM Press/Addison-Wesley Publishing Co.
Défago, X. and Schiper, A. (2004). Semi-passive replication and lazy consensus. Journal of Parallel and Distributed Computing, 64(12):1380–1398.
Fang, C.-L., Liang, D., Lin, F., and Lin, C.-C. (2007). Fault Tolerant Web Services. Journal of Systems Architecture, 53(1):21–38.
Foster, I., Parastatidis, S., Watson, P., and Mckeown, M. (2008). How do I model state?: Let me count the ways. Communications Of The ACM, 51(9):34–41.
Hansen, M. (2007). Soa Using Java(Tm) Web Services. Prentice Hall PTR, Upper Saddle River.
Huhns, M. N. and Singh, M. P. (2005). Service-oriented computing: Key concepts and principles. IEEE Internet Computing, 9(1):75–81.
Junior, J. G. R., Carmo, G. T. S., and Valente, M. T. O. (2006). Invocation of Replicated Web Services Using Smart Proxies. In WebMedia ’06: Proceedings of the 12th Brazilian symposium on Multimedia and the web, pages 138–147, New York, NY, USA. ACM.
Lamport, L., Shostak, R., and Pease, M. (1982). The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems (TOPLAS), 4(3):382–401.
Merideth, M. G., Iyengar, A., Mikalsen, T., Tai, S., Rouvellou, I., and Narasimhan, P. (2005). Thema: Byzantine-Fault-Tolerant Middleware for Web-Service Applications. In SRDS ’05: Proceedings of the 24th IEEE Symposium on Reliable Distributed Systems (SRDS’05), pages 131–142, Washington, DC, USA. IEEE Computer Society.
Michlmayr, A., Rosenberg, F., Platzer, C., Treiber, M., and Dustdar, S. (2007). Towards Recovering the Broken SOA Triangle: A Software Engineering Perspective. In IWSOSWE ’07: 2nd International Workshop on Service Oriented Software Engineering, pages 22–28, New York, NY, USA. ACM.
OASIS (2007). Web Services Reliable Messaging (WS-ReliableMessaging). Disponível em: http://docs.oasis-open.org/ws-rx/wsrm/200702/wsrm-1.2-spec-os.html.
Osrael, J., Froihofer, L., Weghofer, M., and Goeschka, K. M. (2007). Axis2-based Replication Middleware for Web Services. IEEE International Conference on Web Services (ICWS), pages 591–598.
Papazoglou, M. P. and Georgakopoulos, D. (2003). Service-oriented Computing. Communications of the ACM, 46(10):25–28.
Salas, J., Perez-Sorrosal, F., Patiño-Martínez, M., and Jiménez-Peris, R. (2006). WSReplication: A Framework For Highly Available Web Services. In WWW ’06: Proceedings of the 15th international conference on World Wide Web, pages 357–366, New York, NY, USA. ACM Press.
Santos, G. T., Lung, L. C., and Montez, C. (2005). FTWeb: A Fault Tolerant Infrastructure for Web Services. In EDOC ’05: Proceedings of the Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05), pages 95–105, Washington, DC, USA. IEEE Computer Society.
Schneider, F. B. (1990). Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. ACM Computing Surveys, 22(4):299–319.
The Apache Software Foundation (2008). Apache Axis2/Java - Next Generation Web Services. Disponível em: http://ws.apache.org/axis2.
The Apache Software Foundation (2009). Apache Derby. Disponível em: http://db.apache.org/derby.
Townend, P., Groth, P., Looker, N., and Xu, J. (2005). FT-Grid: A Fault-Tolerance System for e-Science. In Proceedings of the UK e-Science All Hands Meeting 2005, Nottingham UK.
W3C (2006a). Web Services Addressing 1.0 - Core. Disponível em: http://www.w3.org/TR/ws-addr-core.
W3C (2006b). Web Services Addressing 1.0 - SOAP Binding. Disponível em: http://www.w3.org/TR/ws-addr-soap.
W3C (2006c). WS-Addressing 1.0 Latest XML Schema. Disponível em: http://www.w3.org/2006/03/addressing/ws-addr.xsd.
W3C (2007). Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language. Disponível em: http://www.w3.org/TR/wsdl20.
Wah, C. P. (2006). Reliable Web Services by Fault Tolerant Techniques: Methodology, Experiment, Modeling and Evaluation. Technical report, The Chinese University of Hong Kong Shatin, N.T., Hong Kong.
Weerawarana, S., Curbera, F., Leymann, F., Storey, T., and Ferguson, D. F. (2005). Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More. Prentice Hall, Upper Saddle River.
Ye, X. and Shen, Y. (2005). A Middleware for Replicated Web Services. In ICWS’05: Proceedings of the IEEE International Conference on Web Services (ICWS’05), pages 631–638, Washington, DC, USA. IEEE Computer Society.
Avizienis, A. (1985). The N-Version Approach to Fault-Tolerant Software. IEEE Transactions on Software Engineering, SE-11(12):1491–1501.
Birman, K., van Renesse, R., and Vogels, W. (2004). Adding High Availability and Autonomic Behavior to Web Services. In ICSE ’04: Proceedings of the 26th International Conference on Software Engineering, pages 17–26, Washington, DC, USA. IEEE Computer Society.
Birman, K. P. (2006). The Untrustworthy Web Services Revolution. Computer, 39(2):98.
Budhiraja, N., Marzullo, K., Schneider, F. B., and Toueg, S. (1993). The Primary-Backup Approach. In Distributed systems (2nd Ed.), pages 199–216, New York, NY, USA. ACM Press/Addison-Wesley Publishing Co.
Défago, X. and Schiper, A. (2004). Semi-passive replication and lazy consensus. Journal of Parallel and Distributed Computing, 64(12):1380–1398.
Fang, C.-L., Liang, D., Lin, F., and Lin, C.-C. (2007). Fault Tolerant Web Services. Journal of Systems Architecture, 53(1):21–38.
Foster, I., Parastatidis, S., Watson, P., and Mckeown, M. (2008). How do I model state?: Let me count the ways. Communications Of The ACM, 51(9):34–41.
Hansen, M. (2007). Soa Using Java(Tm) Web Services. Prentice Hall PTR, Upper Saddle River.
Huhns, M. N. and Singh, M. P. (2005). Service-oriented computing: Key concepts and principles. IEEE Internet Computing, 9(1):75–81.
Junior, J. G. R., Carmo, G. T. S., and Valente, M. T. O. (2006). Invocation of Replicated Web Services Using Smart Proxies. In WebMedia ’06: Proceedings of the 12th Brazilian symposium on Multimedia and the web, pages 138–147, New York, NY, USA. ACM.
Lamport, L., Shostak, R., and Pease, M. (1982). The Byzantine Generals Problem. ACM Transactions on Programming Languages and Systems (TOPLAS), 4(3):382–401.
Merideth, M. G., Iyengar, A., Mikalsen, T., Tai, S., Rouvellou, I., and Narasimhan, P. (2005). Thema: Byzantine-Fault-Tolerant Middleware for Web-Service Applications. In SRDS ’05: Proceedings of the 24th IEEE Symposium on Reliable Distributed Systems (SRDS’05), pages 131–142, Washington, DC, USA. IEEE Computer Society.
Michlmayr, A., Rosenberg, F., Platzer, C., Treiber, M., and Dustdar, S. (2007). Towards Recovering the Broken SOA Triangle: A Software Engineering Perspective. In IWSOSWE ’07: 2nd International Workshop on Service Oriented Software Engineering, pages 22–28, New York, NY, USA. ACM.
OASIS (2007). Web Services Reliable Messaging (WS-ReliableMessaging). Disponível em: http://docs.oasis-open.org/ws-rx/wsrm/200702/wsrm-1.2-spec-os.html.
Osrael, J., Froihofer, L., Weghofer, M., and Goeschka, K. M. (2007). Axis2-based Replication Middleware for Web Services. IEEE International Conference on Web Services (ICWS), pages 591–598.
Papazoglou, M. P. and Georgakopoulos, D. (2003). Service-oriented Computing. Communications of the ACM, 46(10):25–28.
Salas, J., Perez-Sorrosal, F., Patiño-Martínez, M., and Jiménez-Peris, R. (2006). WSReplication: A Framework For Highly Available Web Services. In WWW ’06: Proceedings of the 15th international conference on World Wide Web, pages 357–366, New York, NY, USA. ACM Press.
Santos, G. T., Lung, L. C., and Montez, C. (2005). FTWeb: A Fault Tolerant Infrastructure for Web Services. In EDOC ’05: Proceedings of the Ninth IEEE International EDOC Enterprise Computing Conference (EDOC’05), pages 95–105, Washington, DC, USA. IEEE Computer Society.
Schneider, F. B. (1990). Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial. ACM Computing Surveys, 22(4):299–319.
The Apache Software Foundation (2008). Apache Axis2/Java - Next Generation Web Services. Disponível em: http://ws.apache.org/axis2.
The Apache Software Foundation (2009). Apache Derby. Disponível em: http://db.apache.org/derby.
Townend, P., Groth, P., Looker, N., and Xu, J. (2005). FT-Grid: A Fault-Tolerance System for e-Science. In Proceedings of the UK e-Science All Hands Meeting 2005, Nottingham UK.
W3C (2006a). Web Services Addressing 1.0 - Core. Disponível em: http://www.w3.org/TR/ws-addr-core.
W3C (2006b). Web Services Addressing 1.0 - SOAP Binding. Disponível em: http://www.w3.org/TR/ws-addr-soap.
W3C (2006c). WS-Addressing 1.0 Latest XML Schema. Disponível em: http://www.w3.org/2006/03/addressing/ws-addr.xsd.
W3C (2007). Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language. Disponível em: http://www.w3.org/TR/wsdl20.
Wah, C. P. (2006). Reliable Web Services by Fault Tolerant Techniques: Methodology, Experiment, Modeling and Evaluation. Technical report, The Chinese University of Hong Kong Shatin, N.T., Hong Kong.
Weerawarana, S., Curbera, F., Leymann, F., Storey, T., and Ferguson, D. F. (2005). Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More. Prentice Hall, Upper Saddle River.
Ye, X. and Shen, Y. (2005). A Middleware for Replicated Web Services. In ICWS’05: Proceedings of the IEEE International Conference on Web Services (ICWS’05), pages 631–638, Washington, DC, USA. IEEE Computer Society.
Publicado
31/08/2009
Como Citar
SILVA, José Ricardo da; SOTOMA, Irineu.
Failover transparente ao cliente em Serviços Web: Uma extensão ao WS-Addressing. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 10. , 2009, João Pessoa/PB.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2009
.
p. 62-75.
ISSN 2595-2684.
DOI: https://doi.org/10.5753/wtf.2009.23134.