Use este identificador para citar ou linkar para este item: http://repositorio.ufla.br/jspui/handle/1/37966
Registro completo de metadados
Campo DCValorIdioma
dc.creatorAraujo, Elena Augusta-
dc.date.accessioned2019-12-02T20:56:13Z-
dc.date.available2019-12-02T20:56:13Z-
dc.date.issued2019-12-02-
dc.date.submitted2019-05-31-
dc.identifier.citationARAUJO, E. A. Uma abordagem de conformidade arquitetural para arquitetura de microsserviços. 2019. 117 p. Dissertação (Mestrado em Ciência da Computação)–Universidade Federal de Lavras, Lavras, 2019.pt_BR
dc.identifier.urihttp://repositorio.ufla.br/jspui/handle/1/56425966-
dc.description.abstractSoftware architecture is defined as a set of design decisions that has impact on the construction and evolution of software systems. Such decisions include how those systems are structured in components and the constraints on how these components should interact on. The microservice architecture comprises an architectural style that emphasizes the composition of a set of microservices that execute well defined functionalities, thus microservices can be developed in different programming languages, running in different frameworks, and can be managed by different database technologies. However, such heterogeneity implies in the difficulty of verifying the communication between the microservices and each of their architectural projects, since, in practice, deviations from the planned architecture may occur, making the code base incompatible with the planned architecture. During the development and evolution of software systems, anomalies are constantly introduced in the source code. These anomalies consist of decisions that are not compatible with the specified architectural model, making the concrete architecture inconsistent with the planned architecture, causing phenomena known as violation and architectural erosion. Given this scenario, this dissertation is centered on the proposal of a specific architectural compliance approach for the microservice architecture. For this purpose, (i) an architectural constraint language, called DCL+ ─ adapted from the DCL (Dependency Constraint Language) language ─ has been defined in order to restrict the spectrum of acceptable communications and dependencies among the microservices and each one of their architectural designs; (ii) a multiplatform solution was proposed that would allow to limit the communication between the microservices and verify the architectural projects of each one of them; (iii) we designed DCL+check, a tool that implements the proposed solution; (iv) the proposed solution was evaluated in a real large application composed of eleven microservices, developed in two different languages (JavaScript and Java), in which 16 communication violations and 171 violations of the structural design were detected. The communication violations occurred in general due to the lack of knowledge of the developers about the restrictions of communication among the modules of the orchestrator system and other microservices, as well as the evolution of two microservices. Regarding the violations of the structural project, they were caused due to the lack of knowledge of the developers about the concepts of software architecture, specifically in the correct application of the Spring MVC framework and dependencies of the Util module.pt_BR
dc.description.sponsorshipCoordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)pt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal de Lavraspt_BR
dc.rightsacesso abertopt_BR
dc.subjectArquitetura de softwarept_BR
dc.subjectArquitetura de microsserviçospt_BR
dc.subjectConformidade arquiteturalpt_BR
dc.subjectSoftware architecturept_BR
dc.subjectMicroservice architecturept_BR
dc.subjectArchitecture conformancept_BR
dc.titleUma abordagem de conformidade arquitetural para arquitetura de microsserviçospt_BR
dc.title.alternativeAn architectural conformance approach to microservice architecturept_BR
dc.typedissertaçãopt_BR
dc.publisher.programPrograma de Pós-graduação em Ciência da Computaçãopt_BR
dc.publisher.initialsUFLApt_BR
dc.publisher.countrybrasilpt_BR
dc.contributor.advisor1Villela, Ricardo Terra Nunes Bueno-
dc.contributor.referee1Cirilo, Elder-
dc.contributor.referee2Durelli, Rafael Serapilha-
dc.description.resumoArquitetura de software é definida como um conjunto de decisões de projeto que possuem impacto na construção e evolução de sistemas de software. Essas decisões incluem como tais sistemas são estruturados em componentes e restrições de como esses componentes devem interagir. A arquitetura de microsserviços compreende a um estilo arquitetural que enfatiza a composição de um conjunto de microsserviços independentes que executam funcionalidades bem definidas, permitindo que cada microsserviço possa ser desenvolvido em diferentes linguagens de programação, possa utilizar diferentes frameworks e possa ser gerenciado por diferentes tecnologias de banco de dados. No entanto, tal heterogeneidade implica na dificuldade de verificação da comunicação entre os microsserviços e de cada um dos seus projetos arquiteturais, uma vez que, na prática, desvios em relação à arquitetura planejada podem ocorrer, tornando a base de código incompatível com a arquitetura planejada. Isso ocorre pois, durante o desenvolvimento e evolução de sistemas de software, anomalias são constantemente introduzidas no código-fonte. Essas anomalias consistem nas decisões que não são compatíveis com o modelo arquitetural especificado, tornando a arquitetura concreta inconsistente com a arquitetura planejada, ocasionando fenômenos conhecidos como violação e erosão arquitetural. Diante desse cenário, esta dissertação de mestrado é centrada na proposta de uma abordagem de conformidade arquitetural específica para a arquitetura de microsserviços. Para isso, (i) definiu-se uma linguagem de restrição arquitetural, denominada DCL+ ─ adaptada da linguagem DCL (Dependency Constraint Language) a fim de restringir ─ o espectro das comunicações e dependências aceitáveis entre os microsserviços e de cada um de seus projetos arquiteturais; (ii) propôs-se uma solução multiplataforma que permita restringir a comunicação entre os microsserviços e verificar os projetos arquiteturais de cada um deles; (iii) projetou-se DCL+check, uma ferramenta que implementa a solução proposta; (iv) avaliou-se a solução proposta em uma aplicação real de médio porte composta por onze microsserviços, desenvolvidos em duas linguagens distintas (JavaScript e Java), em que foram detectadas 16 violações de comunicação e 171 violações do projeto estrutural. As violações de comunicação, em geral, ocorreram devido à falta de conhecimento dos desenvolvedores sobre as restrições de comunicação entre os módulos do sistema orquestrador e demais microsserviços, bem como evolução de dois microsserviços. No que compete às violações do projeto estrutural, às violações foram ocasionadas devido à falta de conhecimento por parte dos desenvolvedores sobre os conceitos de arquitetura de software, especificamente na correta aplicação do framework Spring MVC e dependências do módulo Util.pt_BR
dc.publisher.departmentDepartamento de Ciência da Computaçãopt_BR
dc.subject.cnpqEngenharia de Softwarept_BR
dc.creator.Latteshttp://lattes.cnpq.br/2284224784688900pt_BR
Aparece nas coleções:Ciência da Computação - Mestrado (Dissertações)

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
DISSERTAÇÃO_Uma abordagem de conformidade arquiterural para arquitetura de microservicos.pdf1,96 MBAdobe PDFVisualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.