Modelo arquitetural para gerenciamento de versões de contratos de serviços web

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: David de Souza França
Orientador(a): Eduardo Martins Guerra
Banca de defesa: Karine Reis Ferreira, Nilson Sant'Anna, Fábio Fagundes Silveira
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Instituto Nacional de Pesquisas Espaciais (INPE)
Programa de Pós-Graduação: Programa de Pós-Graduação do INPE em Computação Aplicada
Departamento: Não Informado pela instituição
País: BR
Resumo em Inglês: In an attempt to provide interoperability services and dissemination of information relevant to many branches of computing, many web applications are based or consume data from other applications. This is a problem when applications evolve at different speeds and share defined formats in the message exchanges. This paper presents a study for the development of an architectural model that allows developments in the message format used by applications without breaking interoperability, allowing each to evolve independently. The solution proposed is to generate from the changes in the contracts of refactoring scripts XML messages for such messages so that they follow a model contract or other, making transparent to applications which involved the contract version the message receiver expects to receive. The information about the versions and changes are managed by an intermediary service that centralizes scripts management functions, data transformation and delivery of messages. The proposal was evaluated in a study covering several scenarios, which were evaluated the ability to generate transformations transparently to applications, the impact of the use of architecture for applications in lines of code changes issues and the impact on the performance of the processing of messages between applications. The main conclusions of this study, it was revealed that the architecture is able to generate the necessary transformations for conversion of messages and transparently to applications that use it, it needs a few modifications in the applications and is usable when applications do not require rapid response requests. It is hoped that this research provide an alternative to solve the problem of different contract versions transparently to applications, easy to deploy and is independent of the type of field of applications involved.
Link de acesso: http://urlib.net/sid.inpe.br/mtc-m21b/2017/03.20.11.44
Resumo: Na tentativa de prover serviços de interoperabilidade e difusão de informações pertinentes a muitos ramos da computação, muitas aplicações web são baseadas ou consomem dados de outras aplicações. Isto é um problema quando as aplicações evoluem em velocidades diferentes e compartilham formatos definidos nas trocas de mensagens. Este trabalho apresenta uma pesquisa para o desenvolvimento de um modelo arquitetural que permite a evolução no formato das mensagens utilizado pelas aplicações sem a quebra da interoperabilidade, permitindo que cada uma evolua de forma independente. A solução proposta é gerar, a partir das mudanças nos contratos das mensagens XML, scripts para refatoração de tais mensagens para que estas sigam um modelo de contrato ou outro, tornando transparente às aplicações envolvidas qual a versão do contrato o destinatário da mensagem espera receber. As informações sobre as versões e transformações são gerenciadas por um serviço intermediário que centraliza as funções de gerenciamento de scripts, transformação de dados e entrega de mensagens. Esta pesquisa foi avaliada em um estudo abrangendo diversos cenários onde foram avaliadas a capacidade de gerar transformações de forma transparente às aplicações, o impacto do uso da arquitetura sobre aplicações em questões de alterações de linhas de código e qual o impacto sobre o desempenho da tramitação das mensagens entre as aplicações. Como principais conclusões desse estudo, foi possível perceber que a arquitetura é capaz de gerar transformações necessárias para conversão das mensagens e de forma transparente às aplicações que a utilizam, que necessita de poucas modificações nas aplicações e que é utilizável quando as aplicações não necessitam de respostas rápidas às requisições. Espera-se com essa pesquisa prover uma alternativa para resolver o problema de versões de contratos diferentes de uma forma transparente às aplicações, de fácil implantação e que independa do tipo de domínio das aplicações envolvidas.