Questão nº 7

Questão de Tecnologia da Informação · FGV CVM 2024 (nº 7)

FGV2024Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8)Tecnologia da Informação
Gabarito: Ever comentário ↓

O analista José desenvolveu a aplicação CVMapaB observando a arquitetura hexagonal. Para a interação com o usuário, a CVMapaB disponibiliza uma interface gráfica de usuário e uma interface de linha de comando, a cvmapb, com ambas as interfaces capazes de realizar as mesmas operações. A aplicação também disponibiliza uma Application Programming Interface (API) web RESTful, capaz de realizar parte das operações disponíveis na cvmapb. A CVMapaB utiliza o sistema gerenciador de banco de dados da CVM para persistir os dados do usuário. A aplicação possui, ainda, implementações específicas para a publicação de métricas de desempenho. As métricas são remetidas pela CVMapaB ao pipeline de processamento de dados em tempo real da CVM.
Com base no enunciado e à luz da arquitetura hexagonal, são identificáveis na CVMapaB:

Resposta comentada

Gabarito Alternativa E

A Arquitetura Hexagonal (também conhecida como Ports and Adapters) visa isolar a lógica de negócio central de detalhes externos, como interfaces de usuário, bancos de dados e serviços. Ela faz isso definindo portas (interfaces que a aplicação usa ou expõe) e adaptadores (implementações concretas que conectam a porta a uma tecnologia específica).

  • Portas Primárias (Driving Ports): Interfaces que a aplicação expõe para ser "dirigida" por agentes externos (usuários, outras aplicações).
  • Adaptadores Primários (Driving Adapters): Agentes externos que usam as portas primárias para interagir com a aplicação (ex: GUI, CLI, API REST).
  • Portas Secundárias (Driven Ports): Interfaces que a aplicação precisa para se comunicar com serviços externos (ex: banco de dados, sistema de mensageria).
  • Adaptadores Secundários (Driven Adapters): Implementações concretas de serviços externos que atendem às portas secundárias (ex: driver de banco de dados, cliente de API externa).

Analisando o cenário da CVMapaB:

Portas Primárias e Adaptadores Primários:
A aplicação é "dirigida" por três interfaces:

  1. Interface Gráfica de Usuário (GUI)
  2. Interface de Linha de Comando (CLI - cvmapb)
  3. API web RESTful
    Todas elas realizam as "mesmas operações" ou "parte das operações", o que indica que estão interagindo com o mesmo conjunto de funcionalidades expostas pela aplicação. Portanto, há uma única Porta Primária que define as operações que a aplicação pode realizar, e três Adaptadores Primários (GUI, CLI, API REST) que a utilizam.

Portas Secundárias e Adaptadores Secundários:
A aplicação "precisa" interagir com dois sistemas externos:

  1. Sistema gerenciador de banco de dados da CVM: Para "persistir os dados do usuário". Isso implica uma Porta Secundária para persistência de dados e um Adaptador Secundário (o SGBD da CVM).
  2. Pipeline de processamento de dados em tempo real da CVM: Para "publicação de métricas de desempenho". Isso implica uma Porta Secundária para publicação de métricas e um Adaptador Secundário (o pipeline da CVM).
    Portanto, há duas Portas Secundárias e dois Adaptadores Secundários.

Resumo: 1 Porta Primária, 3 Adaptadores Primários, 2 Portas Secundárias, 2 Adaptadores Secundários.

(A) Incorreta: Aponta três portas primárias e um adaptador primário, o que contradiz a análise de que há uma única porta primária servida por múltiplos adaptadores.
(B) Incorreta: Aponta duas portas primárias e um adaptador primário, o que também contradiz a análise.
(C) Incorreta: O número de portas e adaptadores primários e secundários está incorreto em relação à análise.
(D) Incorreta: Aponta duas portas primárias e uma porta secundária, o que está incorreto. A armadilha aqui é confundir a quantidade de formas de interação (adaptadores) com a quantidade de interfaces (portas primárias), ou subestimar as necessidades de comunicação externa (portas secundárias).
(E) Correta: Uma porta primária (a interface que define as operações da aplicação), duas portas secundárias (uma para persistência de dados e outra para publicação de métricas), três adaptadores primários (GUI, CLI e API REST) e dois adaptadores secundários (o SGBD da CVM e o pipeline de métricas da CVM).

Fonte: FGV CVM 2024 Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8) (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho