No desenvolvimento de software, a arquitetura de aplicações web é a estrutura e organização de um sistema web, que define como os componentes interagem entre si. Dentre diversos arranjos, o padrão de arquitetura hexagonal (também conhecido como padrão de portas e adaptadores) objetiva
- A)implementar bloqueio tecnológico de armazenamentos de dados.
Errada, porque arquitetura hexagonal nao busca bloquear tecnologias de armazenamento, e sim permitir que elas sejam substituidas sem afetar o nucleo da aplicacao.
- B)criar arquiteturas fracamente acopladas nas quais os componentes do aplicativo possam ser testados de forma independente, sem dependências de armazenamentos de dados ou interfaces de usuário.
Certa, pois o objetivo e reduzir o acoplamento e permitir testes independentes da logica de negocio, sem depender de banco de dados ou interface de usuario.
- C)alterar a pilha de tecnologia ao longo do tempo, ampliado impacto na lógica de negócios.
Errada, porque a ideia e justamente facilitar a troca de tecnologias ao longo do tempo com minimo impacto na logica de negocios, e nao ampliar esse impacto.
- D)estabelecer arquitetura fortemente acoplada.
Errada, pois a arquitetura hexagonal pretende o oposto de acoplamento forte: ela organiza o sistema para que o nucleo fique isolado de detalhes externos.
- E)usar adaptadores para realizar trocas técnicas com componentes internos e usar interfaces chamadas portas para promover a comunicação do aplicativo com esses componentes.
Errada, porque embora mencione portas e adaptadores, inverte a ideia central ao sugerir uma descricao inadequada do papel desses elementos na arquitetura.
Gabarito: B
O padrão de arquitetura hexagonal, ou portas e adaptadores, nasceu para colocar a regra de negocio no centro e deixar o resto girando ao redor, como acessorios que podem ser trocados sem drama. A ideia principal e reduzir o acoplamento entre o nucleo da aplicacao e detalhes externos, como banco de dados, interface web, mensageria e APIs de terceiros. Nesse modelo, o sistema conversa com o mundo por meio de portas, que sao contratos/interfaces, e adaptadores, que sao as implementacoes concretas dessas interfaces. Assim, voce consegue trocar uma tecnologia sem mexer na logica central, o que e ótimo para manutencao, evolucao e, claro, para evitar aquele efeito dominó que faz um simples cambio no banco derrubar meia aplicacao. Por isso, o gabarito B esta correto: o objetivo e criar uma arquitetura fracamente acoplada, permitindo testes independentes da logica de negocio, sem depender de banco de dados, interface de usuario ou outros detalhes de infraestrutura. Em termos doutrinarios, a proposta segue o principio da inversao de dependencia e dialoga com a separacao entre dominio e infraestrutura, muito valorizada em engenharia de software moderna. A alternativa E parece bonita porque fala em portas e adaptadores, mas mistura os papeis: na arquitetura hexagonal, as portas sao os contratos expostos pelo nucleo e os adaptadores fazem a ponte com o exterior, nao o contrario. A banca costuma explorar exatamente essa confusao entre conceito e implementacao.