Trabalho de conclusão de graduação
Módulo de monitoramento de serviços web em CWSMarts utilizando aspectos
Module to monitor Web services stored on CWSMarts using aspects
Autor
Postal, Eduardo Casotti
Resumen
Serviços Web compostos são obtidos pela combinação de vários serviços Web que objetivam a realização de uma tarefa comum. Eles são projetados para atender às requisições de usuários a partir do momento em que nenhum serviço Web é capaz de fazê-lo individualmente. Um CWSMart é uma estrutura desenvolvida para hospedar serviços Web compostos de acordo com a semelhança de suas funcionalidades. Essa estrutura é dividida em módulos, sendo que cada qual desempenha uma tarefa particular. Este trabalho aborda o desenvolvimento do módulo de monitoramento presente em um CWSMart objetivando a coleta de informações relativas a execução dos serviços Web hospedados em sua estrutura. Uma das questões fundamentais consiste em monitorar os serviços de maneira transparente, sem que o programador tenha que chamar o monitor explicitamente. Para tanto, este trabalho utiliza Aspectos como forma de definir mecanismos que injetam automaticamente chamadas ao serviço monitor, sem que o programador explicitamente as realize. Assim, o código de monitoramento fica separado, isolado do código do serviço em si. Composite Web services are developed through the combination of many Web services performing different functions aiming a final common task. They are designed to attend user requests that no single Web service is capable to do. A CWSMart is a structure created to host composite Web services based on the similarity of its functions. This structure is composed by different modules and each of them plays a particular task. This work discusses the development of a CWSMart monitoring module and the entire process of collect execution-related information from Web services hosted in the CWSMart structure. One of the main issues consists on monitoring services in a transparent way, i.e., the programmer should not explicitly call the monitor to log services activities. Thus, this work proposes the use of Aspects to define mechanisms that are able to automatically inject calls to the monitor. This way, the monitoring code is kept isolated from the service code.