Desafios na construção e validação da robustez de aplicações orientadas a serviços
Resumo
Um novo paradigma emergiu para o desenvolvimento de aplicações distribuídas e de grande escala – o desenvolvimento orientado a serviços, uma evolução da orientação a objetos e do desenvolvimento de sistemas baseados em componentes em que a entidade básica de desenvolvimento passa a ser o serviço em si, e não quem presta esse serviço. Aplicações orientadas a serviços são altamente distribuídas e dinâmicas e usam serviços dos quais só se conhece a interface de utilização, sem informações sobre a sua qualidade. Portanto, as oportunidades de mau funcionamento são inúmeras, podendo acarretar em grandes perdas para as empresas ou organizações. Neste artigo discutimos os desafios a serem enfrentados não somente para a criação de aplicações orientadas a serviço baseadas em Web Services que sejam robustas, mas também para validar tanto os serviços usados quanto a composição dos mesmos na determinação se a aplicação final possui os atributos de qualidade desejados.Referências
Ambrosio, A.M., Martins, E., Vijaykumar, L.N. and Carvalho, S.V. (2005) “A Methodology for Designing Fault Injection Experiments as an Addition to Communication Systems Conformance Testing”, In: Proc. of the First Workshop on Dependable Software – Tools and Methods in the IEEE Conference on Dependable System and Network, 28 June – 1 July 2005, Yokohama, Japan.
Ambrosio, A.M., Martins, E., Vijaykumar, L.N. and Carvalho, S.V. (2006) “A Conformance Testing Process for Space Applications Software Services”, Journal of Aerospace Computing, Information, and Communication (JACIC) /AIAA, vol. 3, no. 4, pp. 146-158, April.
Avresky, D., Arlat, J., Laprie, J.-C. and Crouzet, Y. (1992) “Fault injection for the formal testing of fault tolerance”, In: Proc. Of the 22nd Int. Symp. on Fault-Tolerant Computing (FTCS-22), IEEE, Boston, MA, pp. 345-354, July.
Boulton, C. (2005) “IDC: Web Services Consumption to Hit Stride”, July 14. Available at [link], último acesso em 03/2008.
CCSDS (2006) - Consultative Committee for Space Data System - 520.0-G-2, “Mission Operations Services Concept”, Green Book, Issue 2, August, disponível em [link], último acesso em 03/2008.
Cambronero, M.E., Diaz, G., Pardo, J.J., Valero, V. and Pelayo, F. L. (2006), “RTUML for modeling Real-Time Web Services”, SCW Journal, Volume 0, pp. 131-139, IEEE Computer Society, Los Alamitos, CA, USA.
Castanet, R. and Waeselynk, H. (2003), “Techniques avancées de test de systèmes complexes: test de robustesse”, relatório, CNRS-AS23.
Chen, Y. and Romanovsky, A. (2008), “Improving dependability of web services integration”, In: ITPro, January/February, pp. 20-26, IEEE Computer Society Press.
Drebes, R. J., Silva, G. J., Trindade, J. M. F. and Weber, T. S. (2006), “A Kernel-based Communication Fault Injector for Dependability Testing of Distributed Systems.”, Hardware and Software, Verification and Testing, First International Haifa Verification Conference, LNCS, Berlin-Heidelberg, Springer-Verlag, v. 3875, pp. 177-190.
Fanjul, J. G., Tuya, J. and de La Riva, C. (2006), “Generating Test Cases Specifications for BPEL Compositions of Web Services Using SPIN”, In: Proc. of the International Workshop on Web Services Modeling and Testing - WS-MaTe.
Farahbod, R., Glasser, U. and Vajihollahi, M. (2004), “Specification and Validation of the Business Process Execution Language for Web Services”, In: Abstract State Machines, pp. 78-94.
Fernandez, J. C., Mounier, L. and Pachon, C. (2005), “A Model-based Approach for robustness testing”. In: Proc. of TESTCOM 2005, The 17th IFIP Int. Conf. on Testing of Communicating Systems, Montreal (Québec), Canada, Springer Verlag Heidelberg ISSN: 0302-9743 LNCS.
Gorbenko, A., Kharchenko, V.S. and Romanovsky A.B. (2007), “On composing dependable Web Services using undependable web components”, Int. Journal on Simulation and Process Modelling, Vol. 3, Issue 1/2, pp. 45-54, Interscience Publishers.
Hinz, S., Schmidt, K. and Stahl, C. (2005), “Transforming BPEL to Petri Nets”, In: Business Process Management, pp. 220-235.
Hsueh, M.C., Tsai, T. K. and Iyer, R. K. (1997), “Fault Injection Techniques and Tools”, In: IEEE Software, April, pp. 75-82.
IBM (2008), “Service Component Architecture”, disponível em [link], último acesso 03/2008.
IEEE Std Glossary of Software Engineering Terminology - 610.12, (1990).
Kazhamiakin, R., Pandya, P. and Pistore, M. (2006), “Timed Modelling and Analysis in Web Service Compositions”, In: Ares Journal, Volume 0, pp. 840-846, IEEE Computer Society, Los Alamitos, CA, USA.
Khorcheff, F. S., Berrada, I., Rollet, A. and Castanet, R. (2006), “Automated Robustness Testing for Reactive Systems: Application to Communicating Protocols”, In: Proc. of the 6th International Worhshop on Innovative Internet Community Systems - I2CS, LNCS, Neuchâtel, Switzerland, June 26-28.
Kropp, N.P., Koopman, P.J. and Siewiorek, D.P. (1998), “Automated Robustness Testing of Off-the-Shelf Software Components”, In: Proc. of the 28th. Fault Tolerant Computing Symposium, June 23-25, Munich, Germany.
Looker, N. and Xu, J. (2003), “Assessing the Dependability of SOAP RPC-Based Web Services by Fault Injection”, In: Proc. of the Ninth IEEE Int. Workshop on Object-Oriented Real-Time Dependable Systems - WORDS’03, Guadalajara, Mexico.
Moraes, R., Durães, J., Barbosa, R., Martins, E. and Madeira, H. (2007), “Experimental Risk Assessment and Comparison Using Software Fault Injection”, In: Proc. of the 37th Int Conf on Dependable Systems and Networks - DSN07, Edimburg, UK.
Marcondes, C., Martinello, M., Schwartz, R., Santos, R., Gerla, M. and Sanadidi, M.Y. (2008), “PathCrawler: Automatic Harvesting Web Infra-Structure”, IEEE/IFIP Network Operations and Management Symposium (NOMS), Salvador.
Martins, E., Sabião, S.B. and Ambrosio, A. M. (1999), “ConData: a Tool for Automating Specification-based Test Case Generation for Communication Systems. Software”, Quality Journal, v.8, n. 4, pp. 303-319.
Mattiello-Francisco, M.F., Sakugawa, B.M and Yano E.T. (2006), “Safety in a Web-based Satellite Flight Supporting System”, SPACEOPS-2006, 19-23 june, Rome, Italy.
Moreira, A. F., Cota, E., Ribeiro, L., Gaspary, L., Carro, L. , Ritt, M. and Weber, T. S. (2007), “Em Direção a um Modelo para Desenvolvimento de Sistemas Computacionais de Qualidade para Aplicações Onivalentes”. In: XXXIV Seminário Integrado de Software e Hardware, Rio de Janeiro, SBC, v. 1, pp. 2262-2276.
Nakajima, S. (2005), “Lightweight formal analysis of Web Service flows”. Journal Progress in Informatics, Volume 2, pp. 57-76.
Natis, Y.V. (2003), “Service-Oriented Architecture Scenario”, Gartner Research Note ID Number: AV-19-6751, 16 April, disponível em [link], último acesso 03/2008.
Ort, E. (2005), “Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools”, april, disponível em [link], último acesso 03/2008.
Sociedade Brasileira de Computação (2006), “Grandes Desafios da Computação”, disponível em [link], último acesso 03/2008.
Silva Jr., M.C., Guerra, P. A. C., Rubira, C.M.F. (2003), "A Java Component Model for Evolving Software Systems", In: Proc. of 18th IEEE Int. Symposium on Automated Software Engineering, Vol. 1, pp. 327-330, Montreal, Canadá.
SoapUI (2008), “Web Services Testing Tool”, disponível em [link], último acesso 03/2008.
Suri, N. and Sinha, P. (1998), “On the Use of Formal Techniques for Validation”, Proc. of FTCS-28, pp. 390-399.
Tartanoglu, F., Issarny, V., Romanovsky, A., Levy, N. (2003), “Dependability in the Web Services Architecture”, In: Architecting Dependable Systems, de Lemos, R., Gacek, C., Romanovsky, A., Editors, pp. 90-109, LNCS 2677, Springer.
Wombacher, A., Fankhauser, P. and Neuhold, E. (2004), “Transforming BPEL into Annotated Deterministic Finite State Automata for Service Discovery”. In: Proc. of the IEEE International Conference on Web Services - ICWS'04, Washington-DC, USA .
Xu,J., Randell,B., Romanosky,A., Rubira-Calsavara,C.M.F., Stroud,R.J. and Wu, Z. (1995), “Fault Tolerance in Concurrent Object-oriented Software through Coordinated Error Recovery”, In: Proc. of 25th Int. Symposium on Fault-tolerant Computing - FTCS-25, Pasadena, California, USA.
Yang, Y. P., Tan, Q. P., Yu, J. S., Liu, F. (2005), “Transformation BPEL to CP-Nets for Verifying Web Services Composition”. In: Proc. of the Int. Conference on Next Generation Web Services Practices - NWESP '05.
Zhang, J. (2004), “An approach to facilitate reliability testing of Web Services components”, In: Proc. of the 15th. Int. Symposium on Software Reliability Engineering - ISSRE, Saint-Malo, France, November.
Ambrosio, A.M., Martins, E., Vijaykumar, L.N. and Carvalho, S.V. (2006) “A Conformance Testing Process for Space Applications Software Services”, Journal of Aerospace Computing, Information, and Communication (JACIC) /AIAA, vol. 3, no. 4, pp. 146-158, April.
Avresky, D., Arlat, J., Laprie, J.-C. and Crouzet, Y. (1992) “Fault injection for the formal testing of fault tolerance”, In: Proc. Of the 22nd Int. Symp. on Fault-Tolerant Computing (FTCS-22), IEEE, Boston, MA, pp. 345-354, July.
Boulton, C. (2005) “IDC: Web Services Consumption to Hit Stride”, July 14. Available at [link], último acesso em 03/2008.
CCSDS (2006) - Consultative Committee for Space Data System - 520.0-G-2, “Mission Operations Services Concept”, Green Book, Issue 2, August, disponível em [link], último acesso em 03/2008.
Cambronero, M.E., Diaz, G., Pardo, J.J., Valero, V. and Pelayo, F. L. (2006), “RTUML for modeling Real-Time Web Services”, SCW Journal, Volume 0, pp. 131-139, IEEE Computer Society, Los Alamitos, CA, USA.
Castanet, R. and Waeselynk, H. (2003), “Techniques avancées de test de systèmes complexes: test de robustesse”, relatório, CNRS-AS23.
Chen, Y. and Romanovsky, A. (2008), “Improving dependability of web services integration”, In: ITPro, January/February, pp. 20-26, IEEE Computer Society Press.
Drebes, R. J., Silva, G. J., Trindade, J. M. F. and Weber, T. S. (2006), “A Kernel-based Communication Fault Injector for Dependability Testing of Distributed Systems.”, Hardware and Software, Verification and Testing, First International Haifa Verification Conference, LNCS, Berlin-Heidelberg, Springer-Verlag, v. 3875, pp. 177-190.
Fanjul, J. G., Tuya, J. and de La Riva, C. (2006), “Generating Test Cases Specifications for BPEL Compositions of Web Services Using SPIN”, In: Proc. of the International Workshop on Web Services Modeling and Testing - WS-MaTe.
Farahbod, R., Glasser, U. and Vajihollahi, M. (2004), “Specification and Validation of the Business Process Execution Language for Web Services”, In: Abstract State Machines, pp. 78-94.
Fernandez, J. C., Mounier, L. and Pachon, C. (2005), “A Model-based Approach for robustness testing”. In: Proc. of TESTCOM 2005, The 17th IFIP Int. Conf. on Testing of Communicating Systems, Montreal (Québec), Canada, Springer Verlag Heidelberg ISSN: 0302-9743 LNCS.
Gorbenko, A., Kharchenko, V.S. and Romanovsky A.B. (2007), “On composing dependable Web Services using undependable web components”, Int. Journal on Simulation and Process Modelling, Vol. 3, Issue 1/2, pp. 45-54, Interscience Publishers.
Hinz, S., Schmidt, K. and Stahl, C. (2005), “Transforming BPEL to Petri Nets”, In: Business Process Management, pp. 220-235.
Hsueh, M.C., Tsai, T. K. and Iyer, R. K. (1997), “Fault Injection Techniques and Tools”, In: IEEE Software, April, pp. 75-82.
IBM (2008), “Service Component Architecture”, disponível em [link], último acesso 03/2008.
IEEE Std Glossary of Software Engineering Terminology - 610.12, (1990).
Kazhamiakin, R., Pandya, P. and Pistore, M. (2006), “Timed Modelling and Analysis in Web Service Compositions”, In: Ares Journal, Volume 0, pp. 840-846, IEEE Computer Society, Los Alamitos, CA, USA.
Khorcheff, F. S., Berrada, I., Rollet, A. and Castanet, R. (2006), “Automated Robustness Testing for Reactive Systems: Application to Communicating Protocols”, In: Proc. of the 6th International Worhshop on Innovative Internet Community Systems - I2CS, LNCS, Neuchâtel, Switzerland, June 26-28.
Kropp, N.P., Koopman, P.J. and Siewiorek, D.P. (1998), “Automated Robustness Testing of Off-the-Shelf Software Components”, In: Proc. of the 28th. Fault Tolerant Computing Symposium, June 23-25, Munich, Germany.
Looker, N. and Xu, J. (2003), “Assessing the Dependability of SOAP RPC-Based Web Services by Fault Injection”, In: Proc. of the Ninth IEEE Int. Workshop on Object-Oriented Real-Time Dependable Systems - WORDS’03, Guadalajara, Mexico.
Moraes, R., Durães, J., Barbosa, R., Martins, E. and Madeira, H. (2007), “Experimental Risk Assessment and Comparison Using Software Fault Injection”, In: Proc. of the 37th Int Conf on Dependable Systems and Networks - DSN07, Edimburg, UK.
Marcondes, C., Martinello, M., Schwartz, R., Santos, R., Gerla, M. and Sanadidi, M.Y. (2008), “PathCrawler: Automatic Harvesting Web Infra-Structure”, IEEE/IFIP Network Operations and Management Symposium (NOMS), Salvador.
Martins, E., Sabião, S.B. and Ambrosio, A. M. (1999), “ConData: a Tool for Automating Specification-based Test Case Generation for Communication Systems. Software”, Quality Journal, v.8, n. 4, pp. 303-319.
Mattiello-Francisco, M.F., Sakugawa, B.M and Yano E.T. (2006), “Safety in a Web-based Satellite Flight Supporting System”, SPACEOPS-2006, 19-23 june, Rome, Italy.
Moreira, A. F., Cota, E., Ribeiro, L., Gaspary, L., Carro, L. , Ritt, M. and Weber, T. S. (2007), “Em Direção a um Modelo para Desenvolvimento de Sistemas Computacionais de Qualidade para Aplicações Onivalentes”. In: XXXIV Seminário Integrado de Software e Hardware, Rio de Janeiro, SBC, v. 1, pp. 2262-2276.
Nakajima, S. (2005), “Lightweight formal analysis of Web Service flows”. Journal Progress in Informatics, Volume 2, pp. 57-76.
Natis, Y.V. (2003), “Service-Oriented Architecture Scenario”, Gartner Research Note ID Number: AV-19-6751, 16 April, disponível em [link], último acesso 03/2008.
Ort, E. (2005), “Service-Oriented Architecture and Web Services: Concepts, Technologies, and Tools”, april, disponível em [link], último acesso 03/2008.
Sociedade Brasileira de Computação (2006), “Grandes Desafios da Computação”, disponível em [link], último acesso 03/2008.
Silva Jr., M.C., Guerra, P. A. C., Rubira, C.M.F. (2003), "A Java Component Model for Evolving Software Systems", In: Proc. of 18th IEEE Int. Symposium on Automated Software Engineering, Vol. 1, pp. 327-330, Montreal, Canadá.
SoapUI (2008), “Web Services Testing Tool”, disponível em [link], último acesso 03/2008.
Suri, N. and Sinha, P. (1998), “On the Use of Formal Techniques for Validation”, Proc. of FTCS-28, pp. 390-399.
Tartanoglu, F., Issarny, V., Romanovsky, A., Levy, N. (2003), “Dependability in the Web Services Architecture”, In: Architecting Dependable Systems, de Lemos, R., Gacek, C., Romanovsky, A., Editors, pp. 90-109, LNCS 2677, Springer.
Wombacher, A., Fankhauser, P. and Neuhold, E. (2004), “Transforming BPEL into Annotated Deterministic Finite State Automata for Service Discovery”. In: Proc. of the IEEE International Conference on Web Services - ICWS'04, Washington-DC, USA .
Xu,J., Randell,B., Romanosky,A., Rubira-Calsavara,C.M.F., Stroud,R.J. and Wu, Z. (1995), “Fault Tolerance in Concurrent Object-oriented Software through Coordinated Error Recovery”, In: Proc. of 25th Int. Symposium on Fault-tolerant Computing - FTCS-25, Pasadena, California, USA.
Yang, Y. P., Tan, Q. P., Yu, J. S., Liu, F. (2005), “Transformation BPEL to CP-Nets for Verifying Web Services Composition”. In: Proc. of the Int. Conference on Next Generation Web Services Practices - NWESP '05.
Zhang, J. (2004), “An approach to facilitate reliability testing of Web Services components”, In: Proc. of the 15th. Int. Symposium on Software Reliability Engineering - ISSRE, Saint-Malo, France, November.
Publicado
12/07/2008
Como Citar
MARTINS, Eliane; MORAES, Regina; WEBER, Taisy; RUBIRA, Cecilia Mary Fisher; AMBRÓSIO, Ana Maria; MARTINELLO, Magnos.
Desafios na construção e validação da robustez de aplicações orientadas a serviços. In: SEMINÁRIO INTEGRADO DE SOFTWARE E HARDWARE (SEMISH), 35. , 2008, Belém/PA.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2008
.
p. 61-75.
ISSN 2595-6205.
