← Questões de Engenharia de Software

Engenharia de Software · FGV · 2023

Questão comentada de Engenharia de Software

João é programador do DPE/RS e precisa desenvolver o sistema DefensorNet com os seguintes requisitos técnicos: • Todas as requisições HTTP devem passar por um Servlet, onde o fluxo de execução é direcionado para o controlador EJB adequado, e os dados retornados no processamento efetuado pelo controlador são direcionados para algum template, onde ocorre a montagem da resposta, na forma de uma página HTML; e • O paradigma de programação é orientado a objetos, e as classes DAO são acessadas apenas ao nível dos controladores. Para desenvolver o DefensorNet, no nível do Servlet e dos EJBs, João deve utilizar, respectivamente, os padrões:

Gabarito: D

A questão mistura dois padrões clássicos de arquitetura de sistemas web. Quando toda requisição HTTP entra por um único ponto, que decide para onde encaminhar a execução e depois devolve a resposta para a página adequada, você está diante da ideia de centralizar o controle do fluxo. Isso é típico do padrão Front Controller, muito usado em frameworks web para evitar que cada requisição trate a navegação de forma espalhada e repetitiva. Já quando os EJBs funcionam como uma camada intermediária que esconde a complexidade das classes DAO e expõe uma interface mais simples para os controladores, o padrão lembrado é o Facade. Ele serve justamente para oferecer uma porta de entrada única para um conjunto de objetos mais internos, reduzindo o acoplamento e deixando o uso mais limpo. Então, no enunciado, o Servlet concentra a entrada das requisições e direciona o fluxo para o componente certo, o que caracteriza Front Controller. E os EJBs ficam como uma fachada sobre as DAOs, acessadas apenas pelos controladores, o que caracteriza Facade. Por isso o gabarito D está correto. Em termos doutrinários, essa combinação é bem cobrada em arquitetura MVC e em sistemas corporativos Java: o Front Controller organiza a entrada da aplicação, enquanto a Facade simplifica o acesso à lógica interna. A banca gosta de descrever o comportamento na prática e esperar que você reconheça o padrão pelo papel que cada componente desempenha.

Continue treinando

Questões relacionadas