pagamento que possui uma ampla plataforma, constituída por um sistema monolítico principal e alguns outros serviços e que utiliza um sistema de checkout online para realização de vendas aos usuários/clientes. 4
Nova proposta de checkout online utilizando SPA • Proporcionar utilização de microsserviços isolados • Proporcionar que o processamento dos pagamentos ocorra de forma isolada • Melhorar mecanismo de fallback • Adicionar nova camada de API Gateway 9
mais alto nível, onde o foco passa a ser em unidade de maior tamanho, sejam elas pacotes, componentes, módulos, camadas ou serviços. Inclui também as decisões de projeto mais importantes em um sistema, assim, considera-se que arquitetura não é apenas um conjunto de módulos, mas um conjunto de decisões estratégicas. “ ” Fonte: VALENTE, Marco Tulio, Engenharia de Software Moderna, 2020. Arquitetura de Software 11
objects, 2015. Referencial Teórico A construção de uma aplicação monolítica corresponde ao modelo natural de construção de um sistema. Toda a lógica é manipulada através de um processo singular, possibilitando o uso das características básicas da linguagem utilizada para dividir a aplicação em classes, funções e namespaces. “ ” Arquitetura de Monolítica 12
Teórico A Arquitetura de microsserviços, nada mais é do que serviços que podem ser implementados de forma independente, e são modelados em torno de um domínio de negócio. Eles se comunicam entre si por meio de redes e como uma opção de arquitetura, oferecem diversos modos de resolver os problemas. “ ” Arquitetura de Microsserviços 13
Microsserviços no Desenvolvimento de Software, 2021. Referencial Teórico API Gateway é um padrão de desenvolvimento de microsserviços no qual trata de implementar um serviço que age como uma porta de entrada para os clientes externos, sendo assim, funciona, simplesmente roteando as requisições externas para o serviço apropriado ou então distribuindo a chamada para vários outros serviços. “ ” API Gateway 14
breaker, 2019. Referencial Teórico De forma simples, Fallback é um padrão de microsserviços que permite que um serviço continue a execução em caso de falha na solicitação de outro serviço. “ ” Fallback 15
como criar, 2019. Referencial Teórico O checkout refere-se a página de concretização de uma compra online, onde um cliente após selecionar um produto e colocá-lo em seu carrinho virtual, irá finalizar sua compra, preenchendo seus dados pessoais e informando os dados de pagamentos. Ainda afirma que justamente por ter a importância de finalizar uma compra, é que a página de checkout deve ser bem construída. “ ” Checkout Online 16
legada com limitações e dentro do monolito. • Processamento de cartão de crédito dentro do monólito, enquanto outros métodos ocorrem em serviços isolados. • Em caso de falha no monólito, checkout online e processamento com cartão de crédito não irão funcionar. • Fallback se encontra dentro do monolito. • A evolução e manutenção da plataforma se encontram com alta complexidade e dificuldade.
online poderá ser refatorada utilizando a abordagem de SPA. • O processamento do cartão de crédito ocorrerá de forma isolada em um novo serviço. • Todos os serviços de pagamento rodando de forma isolada em serviços. • Fallback de pagamentos ocorrendo de forma isolada. • Evolução e manutenção de forma mais simplificada. • Adição da nova camada de API Gateway.
através de questionário Online (Google Forms) • Questões quantitativas e de escala linear (escala likert) • Análise de dados através da ferramenta (Google Forms) • Avaliação dos resultados utilizando gráficos e análise descritiva 28
Técnico e 4 Arquitetos de Software; • 100% dos entrevistados responderam que correspondente a uma arquitetura de microsserviços; • 64% dos entrevistados acham muito provável e 36% acham provável de realizar uma refatoração do checkout online utilizando abordagem de SPA; • 64% dos entrevistados acham muito provável e 36% acham provável que o processamento dos serviços ocorrerão de forma isolada; • 100% dos entrevistados responderam ser pouco provável que o processamento dos pagamentos falhe em caso de erro; 30
provável e 64% acham provável o funcionamento do mecanismo de fallback de forma isolada em caso de falha; • 90% dos entrevistados concordam que as responsabilidades do processamento de pagamentos estejam isoladas em serviços; • 18% dos entrevistados responderam ser muito provável e 92% ser provável, que a adição da camada de serviço do API Gateway irá trazer benefícios; • 100% dos entrevistados acham que a arquitetura de software proposta apresentada irá trazer os benefícios propostos. 31
realizar um estudo de caso sobre a arquitetura de software atual e apresentar e validar uma nova arquitetura de software baseada em microsserviços para contribuir na melhoria e evolução do produto da empresa. CONCLUSÃO 40
Arquitetura de Microsserviços no Desenvolvimento de Software. Revista de Ubiquidade, v. 4, n. 2, p. 58-84, 2021. • EUGÊNIO, Marcio, Checkout loja virtual: o que é e como criar, Blog dlojavirtual, 19 de Dezembro de 2019. Disponível em: <https://www.dlojavirtual.com/dicas/como-melhorar-seu-checkout-da-loja-virtual> . Acesso em: 03 de Abril de 2021. • FOWLER, Martin, Microservices and the first law of distributed objects.: Thoughworks, 2015. Disponível em: <https://www.thoughtworks.com/insights/microservices>. Acesso em: 07 de Maio de 2021. 35 Referências 42