Baixe o app para aproveitar ainda mais
Prévia do material em texto
1- O desenvolvimento de aplicações web tornou-se facilitado através do framework JSF (Java Server Faces), o qual possui vários componentes, parecidos com os do HTML, permitindo o desenvolvimento de formulários rapidamente.Além disso, para a criação de uma página de cadastro, por exemplo, basta desenvolver o formulário JSF, através de suas bibliotecas, criar uma classe de controle da tela, Managed Bean, e a interação da classe com a tela estará funcionando. Com relação ao desenvolvimento de formulários em JSF, analise as afirmativas a seguir: I- O JSF possui muitos componentes, como campos de texto, áreas de texto, radio buttons e combo boxes. II- O componente PanelGrid é utilizado para alinhar componentes, determinando o número de colunas para cada linha de componentes. III- Para validar se um campo de um formulário JSF foi informado, é necessário utilizar uma função Javascript. IV- O atributo "validator" de um componente JSF deve ser relacionado a uma função Javascript. Assinale a alternativa CORRETA: a) As afirmativas I e II estão corretas. 2. 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. 3. O desenvolvimento de software que utiliza o Java EE foi simplificado com o surgimento do J2EE, no qual os arquivos de descrições XML foram substituídos pelas anotações, a trabalhosa configuração manual foi substituída pelo uso de anotações e, além disso, a injeção de dependência foi especificada. Neste sentido, um dos motivos para a adição da especificação CDI foi o preenchimento de uma lacuna entre o EJB, no back-end, e entre o JSF.Com relação a injeção de dependência (CDI), classifique V para as sentenças verdadeiras e F para as falsas: ( ) Através da especificação CDI, objetos Managed Beans e session beans possuem suporte a recursos do container. ( ) Producer methods são métodos que produzem objetos que serão administrados pelo container CDI. ( ) Para que o CDI seja ativado no servidor de aplicação (AS) é necessário incluir o arquivo bean.XML com algumas configurações. ( ) Expression Language é uma forma de acessar objetos utilizando a anotação @Produces. Assinale a alternativa que apresenta a sequência CORRETA: b) V - V - V - F. 4. O JSM (Java Service Messages) permite a comunicação assíncrona entre aplicações, ou seja, isso indica que uma aplicação B não precisa ficar parada enquanto a aplicação C recebe uma mensagem ou executa uma transação ou processamento. Com relação ao componente JMS (Java Service Messages), assinale a alternativa CORRETA: a) São possíveis dois tipos de mensagens JMS: filas e tópicos. b) Não é necessária a conexão JMS para trocar mensagens por filas ou tópicos. c) O JMS (Java Message Service) não permite a troca de mensagens entre um ou mais clientes. d) Um ou mais sistemas podem receber uma mensagem enviada por uma fila. 5. Uma aplicação com várias camadas agrega ao aplicativo vantagens adicionais em relação aos aplicativos de arquitetura cliente-servidor. Esse tipo de arquitetura permite trabalhar melhor a performance quando um sistema é acessado simultaneamente por vários usuários. Esse grande número de acessos simultâneos é denominado de: a) Flexibilidade. b) Eficácia. c) Eficiência. d) Escalabilidade. 6.Em um sistema web de cadastro de produtos, desenvolvido com o framework JSF, foi criada uma tela com a funcionalidade de persistir a tabela do banco de dados "Cor". Para esta tabela, existe uma página XHTML, com o formulário para o usuário cadastrar novas cores. Da mesma forma, existe uma classe Managed Bean chamada "CorMB", uma classe entidade chamada "Cor", e também uma classe de persistência chamada "CorRepository". A classe CorRepository está ilustrada na figura anexa. Com base no código-fonte apresentado no anexo "Classe CorRepository", analise as sentenças a seguir: I- No método "inserir", não é realizada a atribuição de um valor retornado por uma sequence do banco de dados para o atributo "codigo" do objeto "cor". II- Durante a execução da aplicação, caso ocorrer algum erro (exceção) na linha 30, todas as operações realizadas no banco de dados serão desfeitas. III- Caso o objeto "listaGravados", no método "inserir", linha 20, tiver valor "null", ocorrerá uma exceção e a operação será abortada. IV- No método "findCor", linha 41, pode ser retornada uma lista de objetos do tipo "Cor", pois este método retorna uma consulta. b) As sentenças I e II estão corretas. 7. A tecnologia Enterprise JavaBeans (EJB) pode ser descrito como um componente da plataforma JEE do Java, o qual roda em um container de um servidor de aplicação. O intuito do EJB é o fornecimento de desenvolvimento de software rápido e simplificado de aplicações na linguagem de programação Java, baseando-se nos componentes distribuídos, transacionais, seguros e portáveis. Com relação ao EJB, analise as afirmativas a seguir: I- A partir da versão 3.0 do EJB era possível a implementação de métodos assíncronos. II- No EJB é possível implementar métodos assíncronos, os quais não necessitam que a aplicação aguarde a conclusão de sua execução. III- Em um stateless session bean não é possível a implementação de métodos assíncronos, permitidos apenas síncronos. IV- Para definir um método como assíncrono, utiliza-se a anotação @Asynchronous. Assinale a alternativa CORRETA: d) As afirmativas II e IV estão corretas. 1. A plataforma JEE pode ser definida como uma tecnologia que permite a projeção, o desenvolvimento e o empacotamento de aplicações computacionais,através do uso de componentes. Permite a reutilização de componentes, a transferência de dados em arquivos XML, além de tornar flexível o controleacerca das transações. É uma especificação utilizada não somente em aplicações WEB, mas também em grandes aplicativos distribuídos, pois detém ummodelo para dividir as aplicações. Foi projetada para manter aplicações que possuem elevado grau de complexidade, acessando dados das mais variadasfontes e atendendo a um grande número de clientes e requisições, o que garante alta escalabilidade. Sobre o modelo adotado pela plataforma JEE nadivisão das aplicações, assinale a alternativa CORRETA: a) A plataforma JEE tem como dois principais alicerces os Componentes e os Containers. b) A plataforma JEE usa somente os Servlets. c) A plataforma JEE usa somente Containers. d) A plataforma JEE tem como dois principais alicerces os Componentes e os Servlets. 2. O desenvolvimento de software na linguagem de programação Java é muito rico de recursos, disponibilizados pelas bibliotecas desta linguagem, as quaistornam o trabalho de construção do software melhor documentado e estruturado. O padrão MVC, utilizado no framework JSF é um facilitador para umcódigo-fonte mais legível e de fácil manutenção, permitindo o desenvolvimento de formulários em páginasXHTML mais rapidamente. Com relação aoframework JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma classe Managed Bean, cuja anotação é "@RequestScoped", será instanciada uma única vez para o mesmo cliente. ( ) Uma classe Managed Bean, serve como intermediador, controlando as requisições, entre as camadas modelo e de visão. ( ) Uma página XHTML pode ter mais de um formulário JSF dentro dela, porém o envio de seus dados ao servidor depende do respectivo evento submit decada formulário. ( ) Uma classe Managed Bean pode ter métodos que são invocados pelos eventos de componentes visuais do fomulário da página XHTML.Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - V. b) F - V - F - F. c) V - V - V - F. d) V - F - F – V 3. A utilização da tecnologia EJB em um projeto de software é uma prática que possibilita facilitar o desenvolvimento do software, pois esta arquitetura possui recursos prontos, os quais são disponibilizados automaticamente. Além disso, a utilização de Stateless Session Beans na aplicação permite que um objeto deste tipo seja reutilizado por vários clientes, reduzindo o uso de memória, pois não é criado um objeto do mesmo tipo para cada requisição. Sobre o EJB, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O EJB possui recursos prontos para a realização de transação, o qual é integrado ao Java Transaction API. ( ) Ao utilizar a arquitetura EJB, o desenvolvedor deve, obrigatoriamente, implementar a lógica de segurança, para realizar autenticação ou autorização se esta lógica for necessária. ( ) Ao utilizar a arquitetura EJB, podem ser desenvolvidas aplicações para serem acessadas por diversos protocolos de comunicação. ( ) A persistência no banco de dados, ao utilizar a arquitetura EJB, é realizada através do JPA. Assinale a alternativa que apresenta a sequência CORRETA: c) V - F - V - V. 4. A JPA é uma especificação padrão que gerencia o mapeamento objeto-relacional (ORM). Teve origem na plataforma JEE 5, na versão 3.0 do Java Beans. O JPA dá suporte à linguagem de consulta EJB-QL. Logo, pode ser considerado um framework que é utilizado na camada de persistência com o objetivo de aumentar a produtividade no desenvolvimento de aplicativos. Quanto ao JPA, classifique V para as sentenças verdadeiras e F para as falsas: ( ) JPA é uma api da plataforma Java para tratar a persistência do estado de objetos nos bancos de dados relacionais. ( ) O JPA não permite a persistência do estado de qualquer classe Java. ( ) O JPA não tem como princípio básico a simplicidade. ( ) O JPA não é o responsável por criar as tabelas na base de dados e nem pelas operações do mapeamento objeto relacional. Assinale a alternativa que apresenta a sequência CORRETA: c) V - F - F - F. 5. Os Sessions Beans são componentes de negócio que oferecem uma variedade de serviços através do EJB Session Bean. Os serviços são remotos e podemser acessados por vários usuários simultaneamente. Sobre os Session Beans, classifique V para as sentenças verdadeiras e F para as falsas: ( ) É possível utilizar Multithreading em EJBs do tipo Stateless. ( ) Stateless Session Beans não implementam regras de negócio. ( ) Um Statefull Session Bean possui apenas dois estados: pronto e passivado. ( ) Existem apenas três tipos de Session Beans: Stateful, Stateless e Singleton. Assinale a alternativa que apresenta a sequência CORRETA: c) V - F - F - V. 6. O crescimento das aplicações web que fazem uso da tecnologia JEE vêm se tornando cada vez mais presentes no mercado. Esta arquitetura permite que objetos remotos sejam executados através da especificação EJB (Enterprise Java Beans). O principal objetivo do EJB é fornecer um desenvolvimento rápido e simplificado de aplicações Java, tendo como base componentes distribuídos. Com relação ao EJB, analise as sentenças a seguir: I- A arquitetura EJB implementa as regras de negócio através dos componentes stateless. II- O ciclo de vida do EJB é gerenciado pelo AS (servidor da aplicação). III- As instâncias dos Stateless Session Beans não são gerenciados pelo EJB. Assinale a alternativa CORRETA: b) As sentenças I e II estão corretas. 7. O JSM (Java Service Messages) permite a comunicação assíncrona entre aplicações, ou seja, isso indica que uma aplicação B não precisa ficar parada enquanto a aplicação C recebe uma mensagem ou executa uma transação ou processamento. Com relação ao componente JMS (Java Service Messages), assinale a alternativa CORRETA: a) O JMS (Java Message Service) não permite a troca de mensagens entre um ou mais clientes. b) Um ou mais sistemas podem receber uma mensagem enviada por uma fila. c) Não é necessária a conexão JMS para trocar mensagens por filas ou tópicos. d) São possíveis dois tipos de mensagens JMS: filas e tópicos. 8. Assim como em outras tecnologias, o framework JSF permite a utilização de Ajax, o qual nada mais é do que uma requisição assíncrona para o servidor processar algo, e neste caso, a tela do cliente não fica aguardando o retorno da requisição, podendo o usuário continuar a utilizar demais campos da tela. Com relação ao suporte de requisições Ajax no JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Assim que chamada uma requisição Ajax, o servidor processa esta requisição, e durante este processamento, o servidor não processa outra requisição deste mesmo cliente. ( ) O atributo listener do Ajax, define o método a ser invocado ao executar uma determinada ação. ( ) O JSF permite chamadas Ajax para métodos do Managed Bean através de eventos change, focus e blur de formulários. ( ) São exemplos de eventos do mouse que podem chamar requisições Ajax: click, mousedown e mouseup. Assinale a alternativa que apresenta a sequência CORRETA: b) F - V - V - V. 9. 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: b) V - F - V - V. 10. Java é ao mesmo tempo uma plataforma e uma linguagem de programação. Foi desenvolvida pela SUN Microsystems e depois de um tempo vendida para a Oracle. É uma plataforma rápida, segura, escalável e confiável. Com relação às tecnologias Java, assinale a alternativa CORRETA: a) Um JSF não permite a utilização de classes Java como implementações de componentes HTML. b) A arquitetura JEE não possui auto commit como default para gerenciar commits e rollbacks dentro de transações. c) JPA apresenta uma estratégia para tratar o mapeamento de dados relacionais e mapeá- los para objetos Java e também se preocupa com a forma como estes são armazenados em uma base de dados relacional. d) Um componente JEE é uma metodologia escrita na linguagem de programação Java e executado exclusivamente em servidores 1. Os Stateless Session Beans são classes que seguem o padrão de arquitetura EJB, os quais possuem as regras de negócios da aplicação. Este tipo de classepossui seu ciclo de vida controlado pelo EJB Container, no servidor de aplicação. Neste contexto, o Stateful SessionBean representa uma classe cujo estado conversacional é mantido, facilitando a solução de muitos problemas que normalmente ocorrem. Sobre o StateFul Session Bean, analise as sentenças a seguir: I- Uma mesma instância de um Stateful Session Bean pode atender a mais de umarequisição ao mesmo tempo. II- Uma instância de um Stateful Session Bean pode ser utilizado para manter o carrinho de compras de um cliente por exemplo. III- Um Stateful Session Bean que manter uma lista de compras, deve ter uma lista de objeto “compra" entre as chamadas da classe. IV- Uma classe Stateful Session Bean não pode ter implementada a anotação @Local. Assinale a alternativa CORRETA: d) As sentenças II e III estão corretas. 2. Em um sistema web de cadastro de produtos, existem várias telas de cadastros, pois além do cadastro principal, existem alguns pré-cadastros que são essenciais para o carregamento correto da página de cadastro de produtos. Isso porque alguns campos da tela de cadastro de produtos são do tipo combo box, e estes são carregados dos pré-cadastros. Um destes ré-cadastros é o de grupos, para o qual existe a implementação da tela de cadastro (XHTML), a respectiva classe Managed Bean, além de outras classes. A estrutura mencionada do cadastro de grupos permite que o campo tipo combo box da tela de cadastro de produtos seja carregado com os valores gravados na tabela "Grupo". No código-fonte do anexo "Classe GrupoMb" é apresentada uma das classes da funcionalidade de cadastro de grupos. Com base no código-fonte da classe apresentada, assinale a alternativa CORRETA: a) A respectiva tela de cadastro deste Managed Bean não possui acesso ao objeto do tipo “Grupo", instanciado na linha 25. b) O código-fonte apresentado refere-se a uma classe Managed Bean, referenciada por"cadastrarGrupoMB" pela respectiva tela de cadastro. c) O código-fonte apresentado refere-se a uma classe Managed Bean, a qual, quando instanciada, possui vida útil enquanto durar a atual requisição. d) O código-fonte implementado entre as linhas 39 a 53 é executado quando a classeGrupoMB é instanciada. 3. 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. 4. Na linguagem orientada a objetos, um objeto é geralmente composto de estado e comportamento, porém em muitos casos, classes possuem implementações apenas de regras de negócios e procedimentos, os quais representam o comportamento das classes instanciadas. Neste sentido, ao se utilizar a arquitetura EJB, as regras de negócios são implementadas em classes específicas, as quais não possuem estado conversacional. Referente ao desenvolvimento de classes seguindo a arquitetura EJB, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Um objeto Stateful Session Bean é compartilhado entre vários clientes. ( ) Um objeto Stateless Session Bean pode ser compartilhado entre vários clientes. ( ) Uma classe que possui a anotação @Stateless indica que existe a característica de não manutenção de estado conversacional. ( ) Para definir que um Stateless Session Bean possa ser utilizado de forma remota, deve ser implementada a anotação @Local. Assinale a alternativa que apresenta a sequência CORRETA: b) F - V - V - F. 5.O JSF é um framework padrão da plataforma Java para o desenvolvimento de aplicações web com o JEE, o qual utiliza uma arquitetura de sistema MVC e implementa um modelo de componentes visuais para a web. A arquitetura padrão MVC permite uma melhor separação do código-fonte da aplicação, assim como uma melhor legibilidade. Para a criação de uma nova página XHTML, no Eclipse, analise as afirmativas a seguir: I- O Eclipse gera um template vazio para uma página XHTML. II- O código de importação de bibliotecas dos componentes visuais é automático. III- Para a criação de uma nova página XHTML, basta clicar com o botão direito do mouse sobre o diretório "Java Resources" e selecionar a opção "New XHTML Page". IV- A criação de uma nova página XHTML deve ser dentro do diretório WebContext do projeto. Assinale a alternativa CORRETA: a) As afirmativas II e III estão corretas. b) As afirmativas I e III estão corretas. c) As afirmativas I, II e IV estão corretas. d) Somente a afirmativa II está correta. 6. Atualmente, o desenvolvimento de páginas web possui vários recursos, os quais as tornam dinâmicas e amigáveis para o usuário, como o Javascript, que permite o desenvolvimento de funções que podem controlar eventos de formulários, submits, assim como funções de cálculos ou validações de campos. Além disso, existe também a implementação de códigos- fonte CSS (Cascading Style Sheets), os quais servem para melhorar a aparência das páginas. Com relação ao desenvolvimento de formulários JSF, assinale a alternativa CORRETA: a) Diferentemente de formulários HTML, no JSF não é permitida a utilização de códigos-fonte Javascript e CSS, pois estes não são suportados. b) Prime Faces é uma biblioteca que pode ser importada para tornar o formulário JSF com uma aparência melhor, não necessitando implementar códigos-fonte CSS. c) Assim como em um formulário HTML implementa-se códigos-fonte Javascript para alterar classes do CSS, em formulários JSF também é necessário Javscript e CSS para tornar as páginas mais dinâmicas e amigáveis. d) Dentro de uma página XHTML é implementado o formulário JSF, para o qual, quando se deseja implementar um formulário com uma aparência mais bonita, deve-se utilizar o CSS. 7. Ao desenvolver um software na linguagem de programação Java, algumas tecnologias do JEE permitem que o desenvolvedor do software utilize alguns comandos da linguagem para configurar aspectos como segurança e remotabilidade por exemplo, não necessitando desenvolver a arquitetura para estes controles. Com relação ao desenvolvimento de software na linguagem Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Com as novas especificações do Java, muitas configurações não são mais necessárias no arquivo de configuração XML do projeto, bastanto a utilização de anotações. ( ) A linguagem de programação Java possui suporte ao controle de transações. ( ) Para que um software tenha controle de autenticação e autorização, o desenvolvedor precisa implementar a lógica de segurança, pois a plataforma Java não possui suporte pronto para esta funcionalidade. ( ) Para que sejam desenvolvidas aplicações cliente-servidor em Java, podem ser desenvolvidas aplicações clientes que realizam chamadas a Web Services, ambos desenvolvidos em Java. Assinale a alternativa que apresenta a sequência CORRETA: b) V - V - F - V. k 8. O Java Server Faces (JSF) utiliza um arquivo no formato XHTML para descrever a interface deuma aplicação web. Quando o recurso representado por este arquivo é solicitado, uma árvore de componentes é gerada no servidor e uma página web é encaminha ao cliente. Acerca de arquivos XHTML, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Páginas XHTML não são suportadas pelas IDEs Eclipse e NetBeans, sendo necessária a utilização de um software adicional para criar/editar um template. ( ) Ao definirmos <h:inputText value="#{managedBean.atributo}"/> estamos associando um campo de texto a um atributo de um Managed Bean (MB). ( ) Em arquivos XHTML não é possível utilizar tags HTML. Assinale a alternativa que apresenta a sequência CORRETA: c) F - V - F. 9. O funcionamento do JSF é baseado em objetos que são criados na memória do servidor de aplicação, responsáveis pela geração do HTML que é enviado ao navegador de internet do cliente. Neste sentido, o Managed Bean é a classe controladora que recebe as requisições da página XHTML e então envia os dados à classe que possui as regras de negócios da aplicação e trata os dados. Com relação ao funcionamento do JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A página XHTML funciona como o formato da interface de telas da aplicação. ( ) Quando uma página XHTML é requisitada no servidor, a mesma é enviada para o navegador do cliente, e este realiza a conversão para o HTML. ( ) Em uma página XHTML pode-se implementar requisições ajax através da tag "<f:ajax/>" atribuindo-se ao seu atributo "listener" o método do Managent Bean a ser invocado. ( ) Em uma página XHTML pode-se implementar requisições ajax, porém os métodos a serem invocados não podem realizar persistência no banco de dados. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - F. 10. Uma empresa desenvolveu um site de e-commerce, o qual revende produtos de vestuário. Dentre as principais funcionalidades deste sistema de e-commerce, cita-se a criação de carrinho de compra para o cliente, onde é permitido adicionar, alterar a quantidade dos itens, ou ainda excluir um produto do carrinho. Neste sentido, a funcionalidade de carrinho de compras do sistema de e-commerce deve possuir uma estrutura de classes que permita manter o carrinho de compras em memória, assim como uma estrutura de classes para realizar persistência no banco de dados. Considerando o sistema de e-commerce apresentado, analise as afirmações a seguir: I- Para manter o carrinho de compras em memória deve ser utilizado um Stateless Session Bean. II- No Stateful Session bean utilizado no carrinho de compras, pode ser utilizada a anotação"@PreDestroy" quando se deseja realizar algum comando antes de eliminar o objeto da memória. III- Para apresentar em uma tela de controle a quantidade de usuários online, pode ser utilizada uma classe definida como Singleton. Assinale a alternativa CORRETA: a) II e III, apenas. 1. Para realizar a integração entre sistemas Java EE, pode ser solucionado através do Middleware Orientado a Mensagens (MOM), através do qual é possível que sistemas diferentes enviem mensagens assíncronas uns aos outros. Com relação ao JMS (Java Message Service), classifique V para as sentenças verdadeiras e F para as falsas: ( ) Na utilização da tecnologia MOM, os sistemas que trocam mensagens entre si se conhecem. ( ) Mensagem enviada para uma fila pode ser recebida por apenas um sistema. ( ) Mensagem enviada para um tópico pode ser recebida por vários sistemas diferentes. ( ) Fábricas de conexão, filas e tópicos são objetos administrados pelos provedores JMS. Assinale a alternativa que apresenta a sequência CORRETA: b) F - V - V - V. 2. Especificações JSR são documentos desenvolvidos para suportar especificações próprias da plataforma Java. Logo, não podem ser consideradas como implementações ou frameworks. São normas que devem ser seguidas por quem deseja criar uma biblioteca ou serviço usando um recurso da plataforma Java. O Java Persistence API ou JPA é uma API padrão da linguagem Java que propõe uma interface comum para frameworks de persistência de dados. É um meio para mapeamento objeto-relacional. O Hibernate, por sua vez, também é um framework que facilita o mapeamento dos atributos entre uma base de dados relacional e os objetos do aplicativo, usando para isso arquivos XML. Sobre JPA e Hibernate, analise as sentenças a seguir: I- O Hibernate é um framework que mapeia classes para tabelas do banco de dados. II- O Hibernate faz a especificação de uma JSR. III- A preocupação do JPA é a persistência utilizando o padrão DAO. IV- O JPA fornece um conjunto de interfaces e classes. Assinale a alternativa CORRETA: a) As sentenças I e IV estão corretas. 3. O desenvolvimento de software, independente do tamanho que seja, requer um investimento alto de trabalho, pois por normalmente possuir várias regras que devem ser tratadas e controladas. A linguagem de programação Java possui algumas tecnologias que facilitam o desenvolvimento de software, ou ainda facilita a manutenção futura do mesmo, tornando o código-fonte mais legível e reutilizável. Com relação às tecnologias da linguagem de programação Java, assinale a alternativa CORRETA: a) Uma aplicação desenvolvida com a tecnologia JSF pode também ser implementada com a tecnologia JPA, mas neste caso, não se pode utilizar o banco de dados Mysql. b) Uma aplicação desenvolvida com a tecnologia JSF pode utilizar o Oracle com o banco de dados, porém devido as suas deficiências de bibliotecas, não é possível utilizar o Mysql. c) Uma aplicação desenvolvida com a tecnologia JSF pode também ser implementada com a tecnologia JPA. d) Uma das desvantagens em desenvolver uma aplicação utilizando o JSF, é a dificuldade de se implementar a tecnologia JPA. 4. A especificação JEE, na linguagem de programação Java, permite a integração entre os containers WEB e EJB, graças à especificação Context and Dependency Injection (CDI). Entre as características do CDI mais utilizados, estão o mecanismo de injeção de dependência e o gerenciamento do ciclo de vida de obtidos por contextos. Sobre a especificação CDI, analise as sentenças a seguir: I- O CDI possui muitas vantagens, porém torna o código-fonte mais ilegível devido às características de sintaxes que devem ser adotadas. II- O código-fonte implementado segundo a especificação do CDI possui baixo acoplamento. III- O CDI permite maior flexibilidade no gerenciamento do ciclo de vida dos objetos. IV- Na especificação CDI, os Managed Beans e Session Beans possuem suporte aos recursos do container. Assinale a alternativa CORRETA: b) As sentenças II, III e IV estão corretas. 5. Um padrão de projeto tem como objetivo principal possibilitar a reutilização de soluções do desenho de uma solução que se encontra na fase de projeto do software, além de propor um vocabulário e glossário de termos que sejam comuns à solução, facilitando o processo de comunicação e documentação dos processos de software. Sobre os padrões de projeto, analise as sentenças a seguir: I- A principal ideia do padrão MVC é separar o conceito do código da implementação. II- O padrão arquitetural Model-View-Controller (MVC) quebra a aplicação em três camadas: modelo, controle e visão. III- O Front Controller é um padrão de projeto relacionado a aplicações web. IV- O MVC não pode ser considerado um padrão arquitetural. Assinale a alternativa CORRETA: b) As sentenças I, II e III estão corretas. 6. Ao se utilizar o EJB Container para o desenvolvimento de software, muitos componentes deste facilitam o trabalho da equipe de programadores. O stateful session bean por exemplo, mantém em memória o estado conversacional, no qual se pode armazenar informações do cliente que o requisitou, sua sacola de compras, ou qualquer outra informação referente aocliente. Com relação ao stateful session bean, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Caso a anotação @Remove seja definida para um determinado método, está sendo declarado que após a execução deste método a instância da classe não é mais necessária. ( ) Em classes stateful session beans não podem ser utilizadas as anotações @PostConstruct e @PreDestroy. ( ) Existem anotações para definir que métodos sejam executados antes da passivação e após a ativação. ( ) Se o cliente de uma instância passivada o requisitar o stateless session bean, automaticamente será realizado o processo de ativação. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - V. 7. Ao se utilizar da arquitetura EJB para desenvolver um software, é possível implementar classes que tenham apenas regras de negócios e não possuam estado conversacional. Estas classes, definidas por Stateless Session Bean, podem ser compartilhadas por diferentes requisições de aplicações. Com relação ao código- fonte apresentado, classifique V para as opções verdadeiras e F para as falsas: ( ) O código-fonte sendo apresentado se refere a um Stateful Session Bean. ( ) O Stateless Session Bean do código-fonte apresentado pode ser colocado em instâncias diferentes do servidor de aplicação. ( ) Caso o desenvolvedor excluir o método "consumo", desde que este não seja invocado em nenhum local da aplicação, a classe compilará normalmente sem erros. ( ) O Stateless Session Bean precisa, obrigatoriamente, ter implementados todos os métodos definidos na interface Carro. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. 8. Podemos definir os servlets como classes JAVA e, quando configuradas em um servidor, podem tratar solicitações recebidas da WEB. Podemos tomar como exemplo uma solicitação do Internet Explorer. Com relação ao servlet, analise as sentenças a seguir: I- O Apache Tomcat é um exemplo de Servlet Container. II- A Web Tier pode ser implementada em Servlet Containers. III- É um programa que executa apenas uma vez, gerando uma página JSP, que é reutilizada muitas vezes pelo servidor web. Assinale a alternativa CORRETA: a) As sentenças I e II estão corretas. b) As sentenças II e III estão corretas. c) As sentenças I e III estão corretas. d) Somente a sentença III está correta. 9. No JSF, podemos implementar uma entidade como uma classe que segue o padrão Java Bean, o qual deve possuir todos os atributos privados, e possuir no mínimo um método construtor vazio, podendo ter outros métodos construtores e auxiliares. Outra definição para uma classe seguir o padrão Java Bean é ser implementada com a interface Serializable. Com relação a uma determinada classe implementada no padrão Java Bean, assinale a alternativa CORRETA: a) A interface Serializable indica que os métodos de uma classe podem ser acessados de outra classe diretamente, sem ter de instanciá-la. b) A interface Serializable indica que os atributos de uma classe podem ser acessados de outra classe diretamente, sem ter de instanciá-la. c) A interface Serializable indica que uma instância da classe pode ser convertida para um array de bytes (serializada). d) A interface Serializable indica que uma classe pode ser instanciada em um Management Bean, porém sem ser convertida para um array de bytes. 10. 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: d) V - V - V - F. 1. Em aplicações desenvolvidas com a tecnologia JSF, a arquitetura deve ser dividida em camadas, padrão de projetos MVC, o que facilita a manutenção e legibilidade do código-fonte. Neste sentido, uma das camadas é o controller, que possui as classes que realizam um serviço essencial nas aplicações. Com relação ao código-fonte apresentado, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A classe Managed Bean sendo apresentada possui sua vida apenas enquanto durar a requisição do cliente, isto é, assim que o cliente que solicitou receber a resposta, o Managed Bean será eliminado da memória. ( ) Sempre que a classe Managed Bean sendo apresentada for criada em memória, será impressa a mensagem "Criando instância do MB". ( ) A classe Managed Bean sendo apresentada possui o atributo "name", o qual pode ser referenciado na página XHTML para um componente do formulário. ( ) O método "executar" da classe Managed Bean sendo apresentada, pode ser invocado em algum evento ajax de algum componente do formulário. Assinale a alternativa que apresenta a sequência CORRETA: A) F - V - V - V. 2. 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) O JPA não permite realizar o mapeamento objeto-relacional de forma transparente e automatizada 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) Dois conceitos importantes da tecnologia são a Unidade de Persistência e o Gerenciador de Persistência. 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. 3. A utilização da tecnologia EJB em um projeto de software é uma prática que possibilita facilitar o desenvolvimentodo software, pois esta arquitetura possui recursos prontos, os quais são disponibilizados automaticamente. Além disso, a utilização de Stateless Session Beans na aplicação permite que um objeto deste tipo seja reutilizado por vários clientes, reduzindo o uso de memória, pois não é criado um objeto do mesmo tipo para cada requisição.Sobre o EJB, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O EJB possui recursos prontos para a realização de transação, o qual é integrado ao Java Transaction API. ( ) Ao utilizar a arquitetura EJB, o desenvolvedor deve, obrigatoriamente, implementar a lógica de segurança, para realizar autenticação ou autorização se esta lógica for necessária. ( ) Ao utilizar a arquitetura EJB, podem ser desenvolvidas aplicações para serem acessadas por diversos protocolos de comunicação. ( ) A persistência no banco de dados, ao utilizar a arquitetura EJB, é realizada através do JPA. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - V. 4. Ao desenvolver um software na linguagem de programação Java, algumas tecnologias do JEE permitem que o desenvolvedor do software utilize alguns comandos da linguagem para configurar aspectos como segurança e remotabilidade por exemplo, não necessitando desenvolver a arquitetura para estes controles. Com relação ao desenvolvimento de software na linguagem Java, classifique Vpara as sentenças verdadeiras e F para as falsas: ( ) Com as novas especificações do Java, muitas configurações não são mais necessárias no arquivo de configuração XML do projeto, bastante a utilização de anotações. ( ) A linguagem de programação Java possui suporte ao controle de transações. ( ) Para que um software tenha controle de autenticação e autorização, o desenvolvedor precisa implementar a lógica de segurança, pois a plataforma Java não possui suporte pronto para esta funcionalidade. ( ) Para que sejam desenvolvidas aplicações cliente-servidor em Java, podem ser desenvolvidas aplicações clientes que realizam chamadas a Web Services, ambos desenvolvidos em Java. Assinale a alternativa que apresenta a sequência CORRETA: c) V - V - F - V. 5. O desenvolvimento de software utilizando a linguagem de programação Java disponibiliza muitos recursos que facilitam o trabalho, assim como várias arquiteturas, cada uma delas podendo ser mais específica para determinadas aplicações. A respeito da arquitetura EJB, analise as sentenças a seguir: I- Ao utilizar a arquitetura EJB, muitos recursos são administrados pelo servidor da aplicação. II- Na arquitetura EJB, os Stateful Session Beans devem ter seu ciclo de vida controlado pelo desenvolvedor, isto é, a limpeza destes objetos da memória. III- Na arquitetura EJB, existe o suporte para transações distribuídas. IV- Na arquitetura EJB, é necessário implementar a estrutura para autenticação e autorização. Assinale a alternativa CORRETA: b) As sentenças I e III estão corretas. 6. 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 Hibernante. Neste sentido, ao desenvolver uma aplicação que utiliza JPA e Hibernante, assinale a alternativa CORRETA que identifica a finalidade do arquivo persistence.xml: a) Define-se o provedor de acesso, as entidades e as propriedades da conexão com a interface principal. b) Define-se o mapeamento de componentes da camada de dados para as respectivas interfaces de acesso à aplicação. c) Define-se as propriedades de conexão com o banco de dados, a qual poderá ser mitigada utilizando-se de um DataSource. d) Define-se o mapeamento objeto-relacional entre as tabelas do banco de dados e as classes de entidade da aplicação. 7. Muitos sistemas são desenvolvidos seguindo o padrão EJB (Enterprise Java Bean). Existem dois tipos de EJB. O tipo que representa um processo ou uma regra de negócio através de um componente composto por uma ou mais classes e seus métodos é o EJB: a) JSF. b) Stateless. c) Stateful. d) JASS. 8. O crescimento das aplicações web que fazem uso da tecnologia JEE vêm se tornando cada vez mais presentes no mercado. Esta arquitetura permite que objetos remotos sejam executados através da especificação EJB (Enterprise Java Beans). O principal objetivo do EJB é fornecer um desenvolvimento rápido e simplificado de aplicações Java, tendo como base componentes distribuídos. Com relação ao EJB, analise as sentenças a seguir: I- A arquitetura EJB implementa as regras de negócio através dos componentes stateless. II- O ciclo de vida do EJB é gerenciado pelo AS (servidor da aplicação). III- As instâncias dos Stateless Session Beans não são gerenciados pelo EJB. Assinale a alternativa CORRETA: a) As sentenças II e III estão corretas. b) As sentenças I e III estão corretas. c) As sentenças I e II estão corretas. d) Somente a sentença II está correta. 9. O Java Database Connectivity (JDBC) é um conjunto de classes e interfaces de baixo nível, que permite aplicações Java interagirem com bancos de dados. Acerca da API JDBC, classifique V para as sentenças verdadeiras e F para as falsas: ( ) As configurações relativas às conexões JDBC podem ser definidas nas aplicações ou nos servidores de aplicação. ( ) Usuário, senha, base de dados são exemplos de informações necessárias para a correta conexão JDBC. ( ) O driver JDBC deve ser escolhido de acordo com o banco de dados adotado na aplicação. Assinale a alternativa que apresenta a sequência CORRETA: c) V - V - V. 10. A plataforma Java é consituída por um grande número de tecnologias. Atualmente, esta plataforma pode ser considerada um alicerce para o desenvolvimento de praticamente todos os aplicativos distribuídos. A plataforma foi testada, refinada e comprovada por uma comunidade de desenvolvedores e arquitetos. Entre as tecnologias Java, podemos destacar duas: JDBC (Java Database Conectivity) e JPA (Java Persistence API). Com relação às tecnologias mencionadas, classifique V para as sentenças verdadeiras e F para as falsas: ( ) JDBC é uma API padrão de conexão entre Java e várias bases de dados. ( ) JDBC só funciona para o Banco de dados Oracle. ( ) JPA é uma API que visa ao mapeamento objeto relacional em bases de dados relacionais. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V. 1. O desenvolvimento de software utilizando a arquitetura EJB possui muitos recursos disponibilizados que facilitam o trabalho de desenvolvimento. As aplicações normalmente mesclam o container WEB para a camada de apresentação e o container EJB para a camada de negócios. Neste sentido, a especificação CDI permite que a integração destes dois containers possa ser realizada mais facilmente. Com relação ao CDI, classifique V para as opções verdadeiras e F para as falsas: ( ) Os objetos estão livres para executar suas regras de negócios, pois suas dependências estarão disponíveis quando necessárias. ( ) Uma das desvantagens é a cadeia de objetos ser muito grande, pois todas as dependências são criadas ou devem ser removidas. ( ) O tipo de objeto Managed Bean não é suportado pelo CDI. ( ) Para se utilizar a Expression Language (EL) Name, deve ser aplicada a anotação @Named. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - F - F. b) V - V - F - V. c) V - F - F - F. d) F - F - F - V. 2. Um Stateless Session Bean nada mais é do que uma classe que possui a lógica de negócio implementada, o qual é executado dentro de um container EJB. Podemos criar uma classe Stateless Session Bean e deixar que diversas outras aplicações a utilizem. Com relação ao Stateless Session Bean, assinale a alternativa CORRETA: a) A invocação de um Stateless Session Bean não retorna resposta para o cliente, mas executa processos que são requisitados para resolver algum problema. b) Um Stateless Session Bean possui regras de negócios da aplicação, e precisa ter estados e comportamentos para que possa ser instanciado por diversas aplicações. c) Um Stateless Session Bean não precisa ser instanciado, nem mesmo pelo EJB, em Java, classes deste tipo são acessíveis de qualquer parte da aplicação, pois seus método e atributos são públicos. d) Um Stateless Session Bean possui seu ciclo de vida administrado pelo EJB Container, dentro do servidor de aplicação. 3. O Stateless Session Bean serve para representar uma regra de negócio da aplicação, sem manter o estado conversacional, enquanto que com o Stateful Session Bean o estado conversacional se mantêm. Com relação aos conceitos propostos, assinale a alternativa CORRETA: a) O Stateless Session Bean pode ser utilizado para manter um carrinho de compras de um cliente. b) O Stateful e o Stateless Session Bean não podem ser utilizados para manter um carrinho de compras, pois suas instâncias são compartilhadas entre os clientes. c) As anotações @PostConstruct e @PreDestroy não estão disponíveis no Stateful Session Bean, pois já existe a anotação @Prepassivate. d) O Stateful Session Bean pode ser utilizado para manter um carrinho de compras de um cliente.4. Java Server Faces (JSF) é um Framework que facilita o desenvolvimento de aplicações para a internet. Propicia o gerenciamento de eventos, conversão de dados entre componentes e objetos de domínio. Torna mais prática a configuração de navegação e o controle do ciclo de vida dos objetos. Através da (EL - Expression Language) permite que componentes da interface gráfica conversem diretamente com o controlador. Com relação aos conceitos da tecnologia JavaServer Faces (JSF), analise as seguintes sentenças: I- A arquitetura do JSF propõe a divisão das responsabilidades de uma aplicação em três camadas distintas: modelo, visualização e controle. II- Entre as principais funcionalidades do JSF pode-se destacar: suporte a templates de tela para reúso de estruturas de interfaces web; suporte embutido a Ajax; tratamento de eventos entre telas web; gerenciamento da navegabilidade da aplicação). III- Além dos componentes básicos, existem bibliotecas nativas de componentes JSF adaptados para interfaces Swing e AWT, por exemplo. Assinale a alternativa CORRETA: a) As sentenças I e II estão corretas. 5. A maioria dos softwares geram dados, os quais precisam ser armazenados em um banco de dados, normalmente relacional, para que em um momento posterior, algum software possa consultá-los e processá-los. Neste sentido, ao se desenvolver um software orientado a objetos e utilizando um banco de dados relacional, percebe-se o problema do mapeamento objeto relacional. Com relação ao problema do mapeamento objeto relacional, assinale a alternativa CORRETA: a) O padrão DAO é uma das soluções utilizadas para resolver o mapeamento objeto relacional. b) O Padrão DAO e o JPA são duas tecnologias de persistência da linguagem de programação Java que servem apenas para conectar a um banco de dados orientado a documentos. c) O JPA (Java Persistence API) serve para conectar uma aplicação Java a um banco de dados orientado a objetos. d) Um software orientado a objetos deve ser desenvolvido para utilizar apenas banco de dados orientado a objetos ou a documentos. 6.A linguagem de programação Java possui vários frameworks de desenvolvimento, os quais facilitam o trabalho de implementação da aplicação. Muitos destes frameworks são voltados para o desenvolvimento de sistemas para web, dentre os quais destaca-se o JSF (Java Server faces). O JSF torna o desenvolvimento de páginas web dinâmicas mais ágil, pois não exige desenvolvimento de código-fonte Javascript, e quanto ao CSS, existem bibliotecas que podem descartar sua necessidade. Com relação aos formulários JSF, analise as afirmativas a seguir: I- O desenvolvimento de sistemas web utilizando o framework JSF é baseado no padrão de arquitetura MVC. II- Dentre os componentes de formulário que o JSF disponibiliza, pode ser citado o campo de entrada de texto, implementado por "<inputText />". III- A tag para designar o início e fim de um formulário JSF é "<form></form>". IV- Em formulários JSF, para validar se um campo foi informado, utiliza-se o atributo "required='true'" no componente. Assinale a alternativa CORRETA: a) As afirmativas I e IV estão corretas. b) As afirmativas II e III estão corretas. c) Somente a afirmativa II está correta. d) As afirmativas I, II e IV estão corretas. 7. O desenvolvimento de formulários em páginas web com aparência mais amigáveis pode ser feito através da importação da biblioteca Prime Faces. A implementação de formulários JSF utilizando a biblioteca Prime Faces é muito simples, basta utilizar o prefixo do Prime Faces "<p:" ao invés de "<f:" do JSF padrão. Com relação à biblioteca Prime Faces, assinale a alternativa CORRETA: a) A implementação de um botão padrão no Prime Faces pode ser da seguinte forma: <input type="button" />. b) Com a utilização do Prime Faces também é necessária a utilização da biblioteca bootstrap quando se deseja uma página responsiva. c) O campo de entrada de texto no Prime Faces é implementado por: <p:inputText>. d) No atributo "value" de um componente botão do JSF define-se o método da classe Managed Bean que será invocada ao ser pressionado. 8. Session Bean é um componente que executa a lógica da aplicação. Através dele sãos criados outros componentes que podem ser acessados por várias aplicações diferentes, desde que estas sejam escritas em Java. Existem dois tipos principais de Session Beans. Sobre o componente que pode ser considerado um terceiro tipo de Session Beans, o qual permite a manutenção e o compartilhamento de estado entre todos os usuários de uma aplicação, assinale a alternativa CORRETA: a) Stateless. b) Web Container. c) Singleton Session Bean. d) Stateful. 9. No Java Enterprise Edition (JEE) um dos principais componentes é o servidor de aplicação. Este componente encapsulará internamente os serviços (por exemplo, segurança, remotabilidade, persistência etc.) que a plataforma oferece, cabendo ao desenvolvedor utilizar as tecnologias existentes para disponibilizar tais serviços. Considerando três das principais tecnologias que compõem o JEE, associe os itens, utilizando o código a seguir: I- Podem ser de dois tipos: session beans e message driven beans. II- Framework leve, baseado em Plain Old Java Objects (POJOS), que permite gerenciar o desenvolvimento de entidades do modelo relacional em plataforma nativa Java SE e Java EE. III- Permite executar a operação de rollback. ( ) Enterprise Java Beans (EJB). ( ) Java Transaction API (JTA). ( ) Java Persistence API (JPA). Agora, assinale a alternativa que apresenta a sequência CORRETA: a) I - III - II. 10. Java é ao mesmo tempo uma plataforma e uma linguagem de programação. Foi desenvolvida pela SUN Microsystems e depois de um tempo vendida para a Oracle. É uma plataforma rápida, segura, escalável e confiável. Com relação às tecnologias Java, assinale a alternativa CORRETA: a) JPA apresenta uma estratégia para tratar o mapeamento de dados relacionais e mapeá-los para objetos Java e também se preocupa com a forma como estes são armazenados em uma base de dados relacional. b) Um componente JEE é uma metodologia escrita na linguagem de programação Java e executado exclusivamente em servidores. c) A arquitetura JEE não possui auto commit como default para gerenciar commits e rollbacks dentro de transações. d) Um JSF não permite a utilização de classes Java como implementações de componentes HTML. 1.Java é ao mesmo tempo uma plataforma e uma linguagem de programação. Foi desenvolvida pela SUN Microsystems e depois de um tempo vendida para a Oracle. É uma plataforma rápida, segura, escalável e confiável. Com relação às tecnologias Java, assinale a alternativa CORRETA: A) Um JSF não permite a utilização de classes Java como implementações de componentes HTML. B) JPA apresenta uma estratégia para tratar o mapeamento de dados relacionais e mapeá- los para objetos Java e também se preocupa com a forma como estes são armazenados em uma base de dados relacional. C) Um componente JEE é uma metodologia escrita na linguagem de programação Java e executado exclusivamente em servidores. D) A arquitetura JEE não possui auto commit como default para gerenciar commits e rollbacks dentro de transações. 2.Ao se utilizar o EJB Container para o desenvolvimento de software, muitos componentes deste facilitam o trabalho da equipe de programadores. O stateful session bean por exemplo, mantém em memória o estado conversacional, no qual se pode armazenar informações do cliente que o requisitou, sua sacola de compras, ou qualquer outra informação referente ao cliente. Com relação ao stateful session bean, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Caso a anotação @Remove seja definida para um determinado método, está sendo declarado que após a execução deste método a instânciada classe não é mais necessária. ( ) Em classes stateful session beans não podem ser utilizadas as anotações @PostConstruct e @PreDestroy. ( ) Existem anotações para definir que métodos sejam executados antes da passivação e após a ativação. ( ) Se o cliente de uma instância passivada o requisitar o stateless session bean, automaticamente será realizado o processo de ativação. Assinale a alternativa que apresenta a sequência CORRETA: D) V - F - V - V. 3.A arquitetura Java Enterprise Edition (JEE) típica é dividida em três camadas: máquina do cliente, servidor Java EE e servidor de banco de dados. A camada do servidor Java EE é subdividida em dois tiers - Web Tier e Business Tier, as quais, por sua vez, compõem o conjunto de especificações para se implementar o servidor de aplicação. Com relação às diversas implementações de servidores de aplicação disponíveis no mercado, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Jboss, WildFly, GlassFish e Apache Tomcat são exemplos de implementações de servidores de aplicação. ( ) O WildFly é um servidor de aplicações específico da Integrated Development Environment (IDE) Eclipse, não podendo ser instalado e configurado em outras IDEs. ( ) A instalação do servidor de aplicações GlassFish dispensa a instalação e integração de um Sistema Gerenciador de Banco de Dados (SGBD). ( ) A implementação de um servidor de aplicações oferece mais recursos do que a implementação de um Servlet Container. Agora, assinale a alternativa que apresenta a sequência CORRETA: D)F - F - F - V. 4.Um stateful session bean é um tipo de bean do EJB que preserva o estado de conversação com o cliente. Um stateful session bean, o qual possui preservação de seu estado, mantém o estado do cliente associado em suas variáveis de instância. O EJB container cria um bean de sessão com preservação de estado separado para processar cada solicitação do cliente. Com relação ao statefull session bean, analise as afirmativas a seguir: I- Uma instância do stateful session bean pode ser passivada quando ociosa. II-Quando um cliente solicita por injeção ou lookup um stateful session bean, o EJB cria uma nova instância deste componente para atender ao cliente. III- Após um certo tempo de ociosidade, o EJB Container pode transferir o conteúdo de uma instância ociosa para dispositivos secundários de armazenamento. IV- O processo de passivação de um stateful session bean pode ser descrito como a transferência do conteúdo de um objeto stateful session bean para a memória secundária. Assinale a alternativa CORRETA: B) As afirmativas I, II e III estão corretas. 5.Java é uma tecnologia criada e disponibilizada pela SUN Microsystems e permite o desenvolvimento de aplicações WEB usando qualquer linguagem compatível com plataforma, permite ainda desenvolver aplicativos utilizando qualquer uma das linguagens compatíveis com sua plataforma. Sua linguagem padrão é Java. Não há dependência de sistema operacional, sendo esta uma de suas maiores vantagens. Isso só é possível porque seus programas rodam em máquina virtual e podem ser facilmente executados em qualquer ambiente que compreenda a linguagem C++. Sobre JAVA, assinale a alternativa CORRETA: A) Não foi projetada para manter aplicações que possuem elevado grau de complexidade, acessandodados das mais variadas fontes e atendendo a um grande número de clientes e requisições, o quegarante alta escalabilidade. B) A plataforma JEE pode ser definida como uma tecnologia que permite a projeção, o desenvolvimento e o empacotamento de aplicações computacionais, através do uso de componentes. C) A plataforma Java não tem como preocupação a produtividade no desenvolvimento dos aplicativos. D)Java é uma linguagem de programação que pode ser substItuída pelo Delphi, pois ambaspossuem mesmos recursos. 6.O JPA permite a persistência do estado de qualquer classe Java, bastando para tal colocar as anotações obrigatórias. Praticamente toda a configuração do mapeamento entre tabelas e classes é feita através de anotações. Qual descrição da anotação a seguir corresponde a @Temporal? A) Permite a definição de configurações para a coluna no banco de dados. B) Marca uma classe como entidade e tabela. C) Referencia o nome da tabela. Esta anotação somente é necessária quando o nome da tabela será diferente do nome da classe. D) Marca um atributo como sendo do tipo datetime. 7.No desenvolvimento de software utilizando os componentes do EJB, as classes stateless session bean representam uma regra de negócio através de um componente composto por uma ou mais classes, podendo ser compartilhado para atender a mais de um cliente. Com relação ao statefull session bean, analise as afirmativas a seguir: I- Cada instância deve atender a somente uma requisição. II- É possível definir este tipo de classe com a anotação @Remote. III- Para que uma classe seja definida como stateful, é necessário assiná-la com a anotação @Stateless. IV- Nas versões mais recentes do EJB não é mais obrigatório implementar a anotação @Local para um stateful session bean para defini-lo como acesso local. Assinale a alternativa CORRETA: B) As afirmativas I, II e IV estão corretas. 8.É a técnica utilizada para capturar eventos em uma página web e enviar requisições para o servidor sem a necessidade de submeter a página inteira. Sobre o exposto, assinale a alternativa CORRETA: D)AJAX. 9.Na linguagem de programação Java, o EJB container garante o estado conversacional do Stateful Session Bean, o que permite manter uma instância do bean para um cliente que o esteja utilizando. Neste sentido, é alocado um espaço de memória no servidor para armazenar as informações do cliente. Com relação ao código-fonte apresentado, analise as afirmativas a seguir: I- A classe apresentada no código-fonte é do tipo Managed Bean, sendo um controller da aplicação. II- A classe apresentada no código-fonte é composta de métodos com regras de negócios. III- A classe apresentada no código-fonte é um stateless session bean. IV- A classe apresentada no código-fonte possui anotações que permitem a aplicação ser colocada em instâncias diferentes do AS. Assinale a alternativa CORRETA: D) As afirmativas II e III estão corretas 1. No desenvolvimento de software utilizando os componentes do EJB, as classes stateless session bean representam uma regra de negócio através de um componente composto por uma ou mais classes, podendo ser compartilhado para atender a mais de um cliente. Com relação ao statefull session bean, analise as afirmativas a seguir: I- Cada instância deve atender a somente uma requisição. II- É possível definir este tipo de classe com a anotação @Remote. III- Para que uma classe seja definida como stateful, é necessário assiná-la com a anotação @Stateless. IV- Nas versões mais recentes do EJB não é mais obrigatório implementar a anotação @Local para um stateful session bean para defini-lo como acess local. Assinale a alternativa CORRETA: a) As afirmativas I e II estão corretas. b) Somente a afirmativa II está correta. c) As afirmativas I, II e IV estão corretas. d) As afirmativas III e IV estão corretas. 2. Podemos definir os servlets como classes JAVA e, quando configuradas em um servidor, podem tratar solicitações recebidas da WEB. Podemos tomar exemplo uma solicitação do Internet Explorer. Com relação ao servlet, analise as sentenças a seguir: I- O Apache Tomcat é um exemplo de Servlet Container. II- A Web Tier pode ser implementada em Servlet Containers. III- É um programa que executa apenas uma vez, gerando uma página JSP, que é reutilizada muitas vezes pelo servidor web. Assinale a alternativa CORRETA: a) Somente a sentença III está correta. b) As sentenças I e III estão corretas. c) As sentençasI e II estão corretas. d) As sentenças II e III estão corretas. 3. Ao ser desenvolvido um software utilizando o EJB, a ideia de classes do tipo stateless session bean é o de representar regras de negócios, isto é, class que não necessitam de estado conversacional, diferente do stateful session bean. Com relação ao stateful session bean, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O estado de um objeto stateful session bean é mantido para o cliente que o requisitou. ( ) Cada instância de uma classe do tipo stateful session bean pode atender a mais de um cliente ao mesmo tempo. ( ) Em uma classe stateful session bean é necessária a definição da anotação @Named para a classe. ( ) Na última versão do EJB não é mais necessário utilizar a anotação @Local para acesso local. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - V. b) V - F - F - V. c) V - F - V - V. d) F - V - V - F. 4. A empresa Xyz realiza o desenvolvimento de software sob demanda.Recentemente, um usuário entrou em contato com a empresa solicitando o desenvolvimento de um sistema de cadastro de produtos. Esta empresa utiliza o padrão de arquitetura MVC em seus softwares, o que reduz o trabalho manutenção, pois facilita o desenvolvimento e torna o código-fonte mais compreensível. A figura anexa apresenta a arquitetura inicial de algumas funcionalidades deste novo sistema sendo desenvolvido. Conforme pode ser analisado, no pacote (package) chamado de "mb", são criadas as classes Managed Beans; no pacote (package) chamado de "entity", são criadas as classes que referenciam tabelas do banco de dados; no pacote (package) chamado de "repository", são criadas as classes de persistência e no pacote (package) chamado de "service", são criadas as classes que possuem reg de negócio. Com base na arquitetura MVC apresentada na figura, avalie as afirmações a seguir: I- As classes do pacote (package) "entity" fazem parte da camada Controller da aplicação. II- As classes do pacote (package) "mb" fazem parte da camada Controller da aplicação. III- As classes do pacote (package) "service" fazem parte da camada Model da aplicação. IV- As páginas XHTML, dentro do diretório "WebContent", fazem parte da camada model da aplicação. Assinale a alternativa CORRETA: a) I, III e IV. b) I, apenas. c) I, II e III. d) I e IV, apenas. 5. O Managed Bean é considerado a classe que realiza a intermediação entre a camada View e Model da aplicação, tornando o código-fonte mais legível de realizar manutenção. Em Managed Beans, assim como em outros tipos de classes, temos as anotações que facilitam o desenvolvimento de aplicações Acerca das anotações utilizadas em Managed Beans, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A anotação @Named permite que o Managed Bean seja visível dentro da página XHTML. ( ) A anotação @Named permite que métodos públicos do Managed Bean sejam referenciados na página XHTML. ( ) A anotação @Named permite que atributos públicos do Managed Bean sejam referenciados na página XHTML. ( ) A anotação @SessionScoped pode ser substituída pela anotação @RequestScoped sempre que se precisar manter o Managed Bean em memória cliente fechar o navegador. Assinale a alternativa que apresenta a sequência CORRETA: c) V - V - V - F. 6. 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 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) Somente a afirmativa IV está correta. b) As afirmativas I e III estão corretas. c) As afirmativas I, II e IV estão corretas. d) As afirmativas II e III estão corretas. 7. A linguagem de programação Java possui muitos recursos para o desenvolvimento de aplicações robustas. Neste sentido, as aplicações desenvolvidas a arquitetura definida pelo padrão EJB recebem a disponibilização de muitos recursos pelo AS (Servidor de Aplicação). Com relação aos recursos disponibilizados pelo AS, assinale a alternativa CORRETA: a) Persistência, permite realizar gravação de dados em uma tabela somente através do padrão DAO. b) Suporte a transações, as quais não podem ser distribuídas. c) Suporte a remotabilidade, o qual permite a funcionalidade de autenticação e autorização. d) Multithreading e concorrência, o que permite vários usuários simultâneos e concorrência controlada pelo AS. 8. Uma empresa desenvolveu um sistema web de cadastro de produtos, o qual possui pré-cadastros que devem ser gravados antes de ser permitido grav produto. Isso porque na tela de cadastro de produtos existem campos tipo combo box (lista), os quais são carregados com os pré-cadastros gravados, como por exemplo, o combo box "cores", o qual é carregado com as cores gravadas na tabela "Cor". Da mesma forma, os grupos gravados são carregados no combo "grupos ", utilizado para gravar o campo "codigoGrupo" na tabela "Produto". Na linha 14 está sendo utilizado o conceito de injeção de dependência através da anotação "@Inject", que neste caso pode haver injeção de qualquer bean (EJB ou não) dentro de outro bean, gerenciado pelo CDI. A classe GrupoService está ilustrada na figura anexa. Com base no código- fonte apresentado, analise as afirmações a seguir: I- O código-fonte apresentado refere-se a uma classe Stateless Session Bean. II- Na classe sendo apresentada existem apenas comportamentos e não estados de um objeto sendo mantidos. III- Um dos métodos da classe sendo apresentada no código-fonte, mantém estado conversacional de um objeto do tipo "Grupo". IV- Ambos os métodos "findByCodigo" e "listarGrupos" implementados no código-fonte apresentado, retornam apenas um objeto do tipo "Grupo", quando invocados. a) I e II, apenas. 9. Assim como em outras tecnologias, o framework JSF permite a utilização de Ajax, o qual nada mais é do que uma requisição assíncrona para o servido processar algo, e neste caso, a tela do cliente não fica aguardando o retorno da requisição, podendo o usuário continuar a utilizar demais campos da te Com relação ao suporte de requisições Ajax no JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Assim que chamada uma requisição Ajax, o servidor processa esta requisição, e durante este processamento, o servidor não processa outra requisito deste mesmo cliente. ( ) O atributo listener do Ajax, define o método a ser invocado ao executar uma determinada ação. ( ) O JSF permite chamadas Ajax para métodos do Managed Bean através de eventos change, focus e blur de formulários. ( ) São exemplos de eventos do mouse que podem chamar requisições Ajax: click, mousedown e mouseup. Assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - V. b) F - V - V - F. c) F - V - V - V. d) V - F - 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 ve 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) O JPA não permite realizar o mapeamento objeto-relacionalde forma transparente e automatizada. 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) Dois conceitos importantes da tecnologia são a Unidade de Persistência e o Gerenciador de Persistência. 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. Acadêmico: Anderson da Rocha Freitas (1436983) Disciplina: Programação para Web II (ADS27) Avaliação: Avaliação Final (Objetiva) - Individual Semipresencial ( Cod.:637379) ( peso.:3,00) Prova: 20682480 Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada 1. Um servidor que atenda toda a especificação Java EE, também conhecido como Application Server, pode ser considerado mais completo que um Web Container. Isso porque, além Application Server fornecer um Web Container, esse servidor fornece um segundo Container. Nesse contexto, assinale a alternativa CORRETA que apresenta este segundo Container: a) JAAS Container. b) EJB Container. c) JDBC Container. d) Servlet Container. 2. O desenvolvimento de software utilizando a tecnologia JSF facilita a implementação de telas web que tenham formulários, como de cadastros por exemplo. Ao invés de implementar os componentes HTML, no XHTML utilizamos os componentes disponibilizados pela biblioteca do JSF, os quais são parecidos aos do HTML. Com relação aos componentes dispon bibliotecas na tecnologia JSF, analise as afirmativas a seguir: I- Para a gravação de um campo do banco de dados tipo MEMO, pode ser utilizado o componente "<h:inputTextarea>". II- Para a gravação de um campo numérico em um banco de dados, pode ser utilizado um campo "<h:inputText>". III- No atributo "var" do componente DataTable deve ser incluída a lista de objetos que se deseja montar a tabela. IV- Para realizar alguma ação (evento) ao alterar o valor de um componente "<h:inputText>", pode ser utilizado o ajax. Assinale a alternativa CORRETA: b) As afirmativas I, II e IV estão corretas. 3. Na linguagem orientada a objetos, um objeto é geralmente composto de estado e comportamento, porém em muitos casos, classes possuem implementações apenas de regras de procedimentos, os quais representam o comportamento das classes instanciadas. Neste sentido, ao se utilizar a arquitetura EJB, as regras de negócios são implementadas em classes específicas, as quais não possuem estado conversacional. Referente ao desenvolvimento de classes seguindo a arquitetura EJB, classifique V para as sentenças verdadeiras e F para falsp: ( ) Um objeto Stateful Session Bean é compartilhado entre vários clientes. ( ) Um objeto Stateless Session Bean pode ser compartilhado entre vários clientes. ( ) Uma classe que possui a anotação @Stateless indica que existe a característica de não manutenção de estado conversacional. ( ) Para definir que um Stateless Session Bean possa ser utilizado de forma remota, deve ser implementada a anotação @Local. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - F. 4. A maioria dos softwares geram dados, os quais precisam ser armazenados em um banco de dados, normalmente relacional, para que em um momento posterior, algum software polos e processá-los. Neste sentido, ao se desenvolver um software orientado a objetos e utilizando um banco de dados relacional, percebe-se o roblema do mapeamento objeto rela relação ao problema do mapeamento objeto relacional, assinale a alternativa CORRETA: a) O Padrão DAO e o JPA são duas tecnologias de persistência da linguagem de programação Java que servem apenas para conectar a um banco de dados orientado a document b) O JPA (Java Persistence API) serve para conectar uma aplicação Java a um banco de dados orientado a objetos. c) O padrão DAO é uma das soluções utilizadas para resolver o mapeamento objeto relacional. d) Um software orientado a objetos deve ser desenvolvido para utilizar apenas banco de dados orientado a objetos ou a documentos. 5. Os Sessions Beans são componentes de negócio que oferecem uma variedade de serviços através do EJB Session Bean. Os serviços são remotos e podem ser acessados por vár simultaneamente. Sobre os Session Beans, classifique V para as sentenças verdadeiras e F para as falsas: ( ) É possível utilizar Multithreading em EJBs do tipo Stateless. ( ) Stateless Session Beans não implementam regras de negócio. ( ) Um Statefull Session Bean possui apenas dois estados: pronto e passivado. ( ) Existem apenas três tipos de Session Beans: Stateful, Stateless e Singleton. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. 6. Um sistema web de cadastro de produtos, desenvolvido com o framework JSF (Java Server Faces), cuja persistência no banco de dados é realizada através da tecnologia JPA, pos cadastros iniciais, os quais devem ser realizados antes do cadastro principal de produto. Isso porque na tela de cadastro de produtos existem campos tipo combo box (lista), os quais carregados com estes cadastros primários. Um exemplo é o campo do cadastro de produtos tipo combo box chamado de "cores", o qual é carregado com as cores gravadas na tabe Neste sentido, os grupos gravados são carregados no combo "grupos", utilizado para gravar o campo codigoGrupo" na tabela "Produto". Da mesma forma para a tela de cadastro de "subgrupos", para a qual é necessário que "grupos" estejam cadastrados para que ao entrar na tela, o campo "grupos" seja carregado, pois um subgrupo é vinculado a um grupo, e um grupo pode ter vários subgrupos vinculados a ele. Com base nos requisitos das funcionalidades apresentadas, assinale a alternativa CORRETA: a) Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @ManyToMany. b) Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @OneToMany. c) Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @ManyToOne. d) Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @OneToOne 7. O desenvolvimento de software utilizando a linguagem de programação Java disponibiliza muitos recursos que facilitam o trabalho, assim como várias arquiteturas, cada uma delas mais específica para determinadas aplicações. A respeito da arquitetura EJB, analise as sentenças a seguir: I- Ao utilizar a arquiterura EJB, muitos recursos são administrados pelo servidor da aplicação. II- Na arquitetura EJB, os Stateful Session Beans devem ter seu ciclo de vida controlado pelo desenvolvedor, isto é, a limpeza destes objetos da memória. III- Na arquitetura EJB, existe o suporte para transações distribuídas. IV- Na arquitetura EJB, é necessário implementar a estrutura para autenticação e autorização. Assinale a alternativa CORRETA: a) As sentenças I e III estão corretas. 8. Na aplicação da arquitetura EJB, o Stateful Session Bean possui variáveis de instância, as quais representam o estado de uma sessão aberta entre o cliente e o EJB, a qual é única objeto Stateful Session Bean é único para cada cliente. Com relação ao Stateful Session Bean, classifique V para as opções verdadeiras e F para as falsas: ( ) O estado conversacional de um Stateful Session Bean é mantido enquanto durar a sessão do cliente e EJB. ( ) Nas versões antigas, assim como nas mais recentes, quando se deseja que o acesso ao Stateful Session Bean seja local, é necessária a anotação @Local. ( ) Para não consumir memória, o EJB Container pode transferir instâncias ociosas
Compartilhar