High dependability, availability and fault-tolerance are open problems in Service-Oriented Architecture (SOA). Some research suggests the use of exception handling as a powerful mechanism to improve the robustness of SOA. However some works observed that the exception messages and stack traces propagated by exceptions in SOA are not enough to identify the exact cause of an exception and, hence, applying an adequate recovery technique. This paper addresses this gap by proposing an approach to identify exceptions propagated by .NET web services. In this direction, this work: (i) describes an approach to identify exceptions, (ii) implements the approach and (iii) evaluates the proposed approach in a real case study. I. INTRODUÇÃOA Arquitetura Orientada a Serviços (SOA) consiste em um estilo arquitetural que utiliza serviços como elementos básicos no desenvolvimento de aplicações. Essas aplicações são caracterizadas por serem fracamente acopladas e integrarem ambientes heterogêneos [17,19]. Por sua vez, web services consistem em uma implementação da arquitetura SOA baseada em padrões da Internet [19]. Todavia, apesar de trazer vários benefícios ao desenvolvimento de software, este novo paradigma apresenta novos desafios e riscos ao desenvolvimento de aplicações robustas. Um sistema de software robusto precisa reagir à propagação de erros em seus módulos e evitar falhas no sistema [29]. Desenvolvedores de sistemas robustos frequentemente se referem a falhas como exceções porque falhas raramente se manifestam durante a atividade normal do sistema [26]. Em situações de defeito, um componente gera exceções que modelam a condição de defeito e o sistema deve realizar o tratamento daquelas exceções. Desta forma, tratamento de exceções é a capacidade que um software possui de reagir apropriadamente diante da ocorrência de exceções, continuando ou interrompendo sua execução, a fim de preservar a integridade do estado do sistema [27]. O tratamento de exceções é um dos mecanismos mais utilizados para implementar sistemas robustos [3]. Ele é suportado pela maioria das linguagens de programação, tais como Java, C# e C++. Essas linguagens oferecem abstrações para encapsular as condições excepcionais e construções próprias para lidar com elas durante a execução do programa, tanto na detecção quanto no tratamento destas condições. O desenvolvimento de aplicações robustas baseadas em web services pode se beneficiar dos mecanismos de tratamento de exceções [3]. Neste contexto, exceções podem ser lançadas por quaisquer dos serviços que compõem uma aplicação. Conhecer as causas exatas e os elementos sinalizadores das exceções geradas durante a execução de web services permite que os desenvolvedores apliquem as técnicas adequadas de tratamento de exceções [6]. Infelizmente alguns experimentos [3, 6] mostram que a maioria das exceções propagadas no contexto de web services não identificam os defeitos, e as que identificam, não notificam a causa raiz do defeito [6, 3]. Conhecer as características da propagação da exceção de cada defeito po...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.