Prévia do material em texto
Acadêmico: Paulo Roberto Viana Pinto (1726743) Disciplina: Programação para Web II (ADS27) Avaliação: Avaliação II - Individual Semipresencial ( Cod.:637377) ( peso.:1,50) Prova: 20073744 Nota da Prova: 5,00 Legenda: Resposta Certa Sua Resposta Errada Parte superior do formulário 1. A API JPA fora desenvolvida com vistas a definir um meio de mapeamento objeto-relacional, sendo que suas primeiras versões apresentavam algumas limitações, as quais foram suprimidas com o surgimento de alguns frameworks, tais como, o Hibernate. Neste sentido, ao desenvolver uma aplicação que utiliza JPA e Hibernate, assinale a alternativa CORRETA que identifica a finalidade do arquivo persistence.xml: a) Define-se o mapeamento de componentes da camada de dados para as respectivas interfaces de acesso à aplicação. b) Define-se as propriedades de conexão com o banco de dados, a qual poderá ser mitigada utilizando-se de um DataSource. c) Define-se o mapeamento objeto-relacional entre as tabelas do banco de dados e as classes de entidade da aplicação. d) Define-se o provedor de acesso, as entidades e as propriedades da conexão com a interface principal. 2. A tecnologia JSF (Java Server Faces) é um framework de desenvolvimento Java que permite o desenvolvimento de sistemas web de forma mais ágil. Neste framework podem ser criados formulários para cadastros, utilizando vários componentes, como entradas de texto, combos (listas) e botões, por exemplo. Com relação ao desenvolvimento de formulários JSF, analise as afirmativas a seguir: I- Em um campo de entrada de texto "<h:inputText value='' />", no atributo "value" deve ser designado um atributo de um objeto. II- O atributo "required" com valor "true" em componentes de formulários JSF serve para tornar o campo obrigatório, sendo apresentada uma mensagem para o usuário. III- No atributo "requiredMessage" de componentes de formulários JSF é designada a mensagem a ser apresentada ao usuário sempre que o campo não for informado e o atributo "required" tiver valor "true". IV- Para tornar um campo de entrada de texto numérico, isto é, permitir digitar apenas números, utiliza-se a função do JSF "<formatNumber pattern='#00,00' />". Assinale a alternativa CORRETA: a) As afirmativas II e IV estão corretas. b) As afirmativas I, II e III estão corretas. c) As afirmativas I, III estão corretas. d) Somente a afirmativa II está correta. 3. Existem diversas linguagens de programação que permitem o desenvolvimento de aplicações web, sendo que cada uma possui suas vantagens, ou seja, uma pode ter mais recursos que outras, curva de aprendizado mais rápida, ou ainda o custo de hospedagem da aplicação mais barata. Dentre estas linguagens, destaca-se o Java, o qual possui o framework de desenvolvimento JSF (Java server Faces) com muitos recursos que facilitam o desenvolvimento da aplicação. Com relação à utilização do JSF, analise as afirmativas a seguir: I- O JSF possui componentes de formulários similares aos do HTML. II- Em um formulário JSF podem ser utilizados componentes HTML, como o "<input type='text' />" por exemplo. III- No JSF a tecnologia Ajax é suportada, no qual, para ser utilizada, deve ser implementada uma função Javascript que realiza a requisição para o servidor. IV- Um componente do tipo botão em JSF pode ser implementado por "<h:commandButton action='' value='Gravar'/>". Assinale a alternativa CORRETA: a) Somente a afirmativa II está correta. b) As afirmativas I, II e IV estão corretas. c) As afirmativas I e IV estão corretas. d) As afirmativas II e III estão corretas. 4. Um framework pode ser descrito como um conjunto de programas de apoio, linguagem de script ou ainda bibliotecas de códigos. O JSF (Java Server Faces) é um framework de desenvolvimento para aplicações web da linguagem de programação Java. O JSF possui vários componentes para desenvolvimento de formulários, desde os mais simples, como entradas de texto, assim como outros mais sofisticados. Com relação ao framework JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Em um formulário JSF, quando precisa-se que um componente execute um método da classe controladora (Managed Bean), é necessário realizar um refresh da página. ( ) Uma aplicação web desenvolvida com o framework JSF é obrigatória a implementação de ao menos uma classe do tipo Managed Bean. ( ) O componente Datatable possui a função de receber uma lista de objetos, podendo listar seus atributos entre suas linhas e colunas. ( ) O número de colunas de um componente Datatable é definido através de seu atributo "column". Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - F. b) F - V - V - V. c) V - V - V - F. d) V - F - F - V. 5. Ao ser implementado um software através do framework JSF, dependendo da aplicação, pode ser necessária, para um layout mais bonito, a utilização de classes CSS, as quais são referenciadas nos componentes do JSF através de seus atributos específicos. Além disso, são necessárias algumas classes Java para o seu correto funcionamento. Com relação ao JSF, analise as afirmativas a seguir: I- Ao menos uma classe Managed Bean é obrigatória em um projeto JSF. II- Managed Bean funciona como intermediador entre a camada modelo e controladora da aplicação. III- Em uma página XHTML podem ser importados arquivos CSS. IV- Em uma classe Managed Bean não pode ser implementado atributo. Assinale a alternativa CORRETA: a) As afirmativas II e III estão corretas. b) Somente a afirmativa IV está correta. c) As afirmativas I, II e IV estão corretas. d) As afirmativas I e III estão corretas. 6. Um banco de dados é chamado de NoSQL quando não são utilizados comandos SQL para a sua manipulação. Um dos bancos de dados NoSQL mais utilizados é o MongoDB, o qual é orientado a documentos parecidos com JSON, isto é, são gravadas coleções de documentos. Neste sentido, a linguagem utilizada, baseada em documentos, torna as consultas mais fáceis de serem convertidas para este banco. Com relação ao banco de dados MongoDB, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Os documentos são armazenados em uma versão binária do JSON, chamada BSON. ( ) Para inserir um novo registro no banco de dados MongoDB, basta realizar o comando SQL "INSERT INTO" mais a tabela e os valores a serem gravados. ( ) O MongoDB possui alguns comandos para filtro, agregação e classificação, como skip, sort, count, por exemplo. ( ) Através do Shell, é possível gerenciar o banco de dados. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - V. b) V - F - V - V. c) V - V - V - F. d) V - V - F - V. 7. O mapeamento objeto relacional pode ser descrito como um conjunto de técnicas e ferramentas para representar uma tabela do banco de dados em uma classe de uma linguagem de programação orientada a objetos, sendo que neste contexto, os registros da tabela são representados por instâncias desta classe (objeto). Neste contexto, a linguagem de programação Java possui duas principais soluções para resolver o problema objeto relacional, sendo uma delas o framework Hibernate, através do JPA, e o padrão DAO. Sobre o exposto, analise o código-fonte em anexo "Classe CorRepository" e classifique V para as sentenças verdadeiras e F para as falsas: ( ) A figura sendo apresentada ilustra uma classe de persistência no banco de dados utilizando o padrão DAO. ( ) A figura sendo apresentada ilustra uma classe que utiliza a tecnologia JPA para realizar persistência. ( ) A interface EntityManager, sendo utilizada em um dos parâmetros do método gravar, é uma interface do JPA. ( ) Na linha 40 está sendo utilizado o método "persist", o qual recebe como parâmetro um objeto do tipo EntityManager. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - V. b) F - V - V - F. c) V - F - F- V. d) V - V - V - F. Anexos: Classe CorRepository 8. O framework JSF (Java Server Faces), do Java, permite desenvolver mais facilmente um sistema web com telas de cadastro, pois não necessita o desenvolvimento de Javascript e nem de estilos (CSS). Neste sentido, o formulário da tela fica vinculado à classe Managed Bean, a qual controla os componentes da tela. Com relação ao código-fonte da classe Managed Bean apresentado no anexo "Classe SubGrupoMB", analise as afirmativas a seguir: I- A anotação "@SessionScopped" indica que a instância da classe Managed Bean permanece apenas enquanto durar a a atual requisição do usuário. II- O código-fonte entre as linhas 36 a 41 refere-se ao método construtor da classe, isto é, os comandos dentro deste método serão executados assim que a classe for instanciada. III- Na linha 21 é realizado o bind entre o arquivo JSF e a classe Managed Bean. IV- O método que possui a anotação "@PreDestroy", a partir da linha 43 do código-fonte, será executado antes da instância da classe Managed Bean ser destruída. Assinale a alternativa CORRETA: a) As afirmativas II, III e IV estão corretas. b) Somente a afirmativa II está correta. c) As afirmativas I e III estão corretas. d) As afirmativas I e IV estão corretas. Anexos: Classe SubGrupoMB 9. O JPA (Java Persistence API) oferece um pacote de interfaces que servem para realizar persistência no banco de dados, pertencendo à especificação JEE desde a versão 5.0. Neste sentido, o EntityManager é uma interface implementada pelo provedor JPA, o qual disponibiliza métodos para realizar persistência. Com relação ao JPA, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma das vantagens de se utilizar a especificação JPA é a não obrigatoriedade em implementar comandos SQL. ( ) A unidade de persistência é o arquivo que possui configurações para se conectar ao banco de dados. ( ) Desde que incluídas as anotações obrigatórias, o JPA realiza a persistência de qualquer objeto Java que siga o padrão JavaBean. ( ) As anotações "@Entity" e "@Id" não são obrigatórias para o JPA. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) F - V - V - F. c) V - V - F - V. d) F - V - F - V. 10. O Hibernate surgiu no mercado como forma de reforço para as estratégias de mapeamento dos objetos relacionais. Traz grande produtividade, uma vez que poupa o programador de fazer o mapeamento de classes para tabelas de forma manual. Atento a isso, a Oracle, através do JCP, criou uma ferramenta específica para fazer o mapeamento objeto relacional, conhecida como JPA. Sobre a tecnologia JPA, assinale a alternativa CORRETA: a) Dois conceitos importantes da tecnologia são a Unidade de Persistência e o Gerenciador de Persistência. b) O programador que faz uso do JPA não precisa conhecer SQL para programar, pois JPA não manipula dados de banco de dados. c) O JPA não permite realizar o mapeamento objeto-relacional de forma transparente e automatizada. d) O relacionamento das tabelas da base de dados refletem nas classes de entidade criadas na aplicação, e deixam a aplicação mais lenta. Prova finalizada com 5 acertos e 5 questões erradas. Parte inferior do formulário