Prévia do material em texto
1. O desenvolvimento de software utilizando a linguagem Java possui muitas vantagens, pois esta linguagem é repleta de recursos e frameworks que, muitas vezes, facilitam o trabalho de construção do código-fonte. Uma das tecnologias desta linguagem é o JSF, que é um framework facilitado para desenvolvimento de aplicações web, incorporado à especificação J2EE. No JSF, o Management Bean é o objeto intermediário entre as camadas view e model da aplicação, e este controla as requisições oriundas dos clientes, além de instanciar classes necessárias para seu funcionamento. Com base no código-fonte sendo apresentado da classe Management Bean que segue, descreva a implementação de uma página XHTML, incluindo seu formulário para o funcionamento do Management Bean apresentado. A classe Pessoa possui os atributos nome, nascimento e cidade e, no entanto, o formulário deve ter no mínimo estes três campos de entrada de texto. Resposta Esperada: O acadêmico deve desenvolver um formulário parecido com o da imagem que segue; deve ter no mínimo três campos tipo ?<h:inputText?, sendo um para o atributo nome, outro para nascimento e o último para cidade. As aberturas e fechamentos das tags de cada campo deve iniciar com ?<h:inputText? e ?<h:/inputText>? respectivamente. O formulário deve iniciar com ?<h:form? e fechar com ?</h:form>? ou seja, deve estar parecido om o código-fonte a seguir. 2. O CDI (Context and Dependency Injection) é uma especificação que permite a integração entre os containers WEB e EJB. A utilização do CDI para injeção de dependências possui várias vantagens, como a simplificação do código-fonte, baixo acoplamento entre os objetos e a flexibilidade no gerenciamento do ciclo de vida dos objetos. Neste contexto, descreva o motivo pelo qual a utilização de injeção de dependência torna o código-fonte mais simplificado e com baixo acoplamento. Resposta Esperada: A simplificação de código-fonte ocorre pois os objetos da aplicação são liberados da tarefa de trazer suas próprias dependências, tornando-os livres para executar suas regras de negócios. Além disso, injetando uma classe, esta pode ser reutilizada em qualquer um dos métodos da classe que ela foi injetada, não necessitando instanciá-la cada vez que necessitar utilizá-la. O baixo acoplamento ocorre devido ao objeto conhecer suas dependências apenas por sua interface pública, sendo possível desta forma ser trocada a implementação da dependência, sem que o objeto dependente seja afetado.