Prévia do material em texto
Prova Impressa GABARITO | Avaliação I - Individual (Cod.:1022981) Peso da Avaliação 2,00 Prova 95970075 Qtd. de Questões 10 Acertos/Erros 10/0 Nota 10,00 O JSF é uma tecnologia da linguagem de programação Java que permite desenvolver sistemas web com formulários de forma mais rápida e legível, não exigindo desenvolvimento de Javascript nas páginas XHTML. Neste contexto, os campos do fomulário de uma página XHTML, no JSF, são vinculados aos atributos de uma classe Managed Bean, incluindo os eventos, os quais são invocados do Managed Bean que controla a página. Com relação ao código-fonte de uma página XHTML, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma página XHTML que tiver dois formulários, ao clicar em um dos botões, ambos os formulários serão enviados ao Managed Bean. ( ) Uma página XHTML pode ter apenas um formulário para que funcione corretamente o submit e outros eventos. ( ) Uma página XHTML que tiver mais de um formulário, possui, por padrão, os eventos submit separados. ( ) Uma página XHTML, no JSF, permite a criação de um campo de listas de valores, similar ao tipo de campo do HTML " A V - F - F - V. B F - F - V - V. C F - V - V - F. D F - V - V - V. No desenvolvimento de software, o padrão de arquitetura MVC pode ser descrito como a divisão da arquitetura de um software em três camadas, sendo que cada uma destas camadas possui suas próprias responsabilidades. O JSF utiliza este padrão de arquitetura, tornando o código-fonte dos softwares desenvolvidos com este framework mais legível. Neste sentido, um sistema desenvolvido seguindo este padrão possui a vantagem de tornar mais reduzido o trabalho de manutenção. Na figura anexa, apresentam-se as três camadas do MVC, as quais são fundamentais para a arquitetura de um VOLTAR A+ Alterar modo de visualização 1 2 13/04/25, 16:13 Avaliação I - Individual about:blank 1/6 sistema que utiliza este padrão de arquitetura. Sobre as três camadas apresentadas, assinale a alternativa CORRETA: A Na camada Controller estão as classes que realizam a intermediação entre as camadas View e Model. B A camada View pode ser exemplificada através de classes controladoras de um sistema, as quais intermedeiam as outras duas camadas. C Telas de cadastro de um determinado sistema pertencem à camada Model. D Telas de cadastro e classes controladoras pertencem à camada View. A partir da versão 2 do Java Server Faces (JSF) é possível definir o escopo em que um Managed Bean (MB) será armazenado por meio de anotações. Dentre as anotações disponíveis para uma classe, estão: @ApplicationScoped, @SessionScoped, @ViewScoped, @RequestScoped, @NoneScoped e @CustomScoped. Acerca das anotações @SessionScoped e @RequestScoped, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A anotação @SessionScoped define que o estado da classe Managed Bean persistirá por todo o tempo de vida da aplicação web. ( ) Para definir o estado da classe Managed Bean como persistente apenas por uma única requisição HTTP, deve-se utilizar a anotação @SessionScoped. ( ) @RequestScoped indica que a classe Managed Bean persistirá por múltiplas requisições HTTP provenientes de um mesmo usuário. ( ) Ambas anotações @RequestScoped e @SessionScoped, podem ser utilizadas ao mesmo tempo em uma mesma classe Managed Bean. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - V - V. B F - F - F - F. C F - F - V - V. D V - V - V - F. 3 13/04/25, 16:13 Avaliação I - Individual about:blank 2/6 Conforme Evans et al. (2011), o modelo de aplicação do JEE começa com a linguagem de programação Java e a Java Virtual Machine. A já conhecida e comprovada portabilidade, segurança e produtividade no desenvolvimento que ela oferece, formam a base deste modelo. Inicialmente, é necessária a compreensão do conceito de tier (camada lógica) e de layer (camada física). Tanto a tier quanto a layer podem ser definidas como um conjunto de tecnologias que representa um conceito que faz parte da aplicação. A tier é sempre composta por software, ou seja, é lógica. A layer é sempre composta por hardware, ou seja, é física.Sobre Cliente Tier, assinale a alternativa CORRETA: FONTE: EVANS, I. et al. The Java EE 6 Tutorial: Basic Concepts. 4. ed. Boston: Addison Wesley, 2011. A Representa a camada definida com duas tecnologias: a aplicação cliente, normalmente uma aplicação desktop desenvolvida com Swing ou JavaFX, e as páginas web, acessadas através de um navegador. Ambas as tecnologias estão no layer representado pela máquina do usuário, ou seja, o computador em que ele acessa a aplicação. B Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. Em termos de layer, ainda estamos no JEEServer. C Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). Em alguns casos, esta camada é dispensável. As aplicações clientes acessam a lógica de negócio diretamente, sem esse intermédio. Esta camada poderia ainda ser representada por tecnologias como Servlets e Java Server Pages, que não fazem parte do escopo deste caderno. Se considerarmos a layer, esta parte fica alocada no JEEServer. D Representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. Esta fonte de dados também pode ser alguma aplicação legada já existente no ambiente corporativo. Agora estamos na layer Database Server. Client Tier representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. Sobre o motivo pelo qual a Swing e o JavaFX são tecnologias definidas pela Oracle, assinale a alternativa CORRETA: A Para criação de múltiplas conexões de Banco de dados. B Para a criação de interfaces em aplicações Desktop. C Para utilização e manipulação de Servlets. D Para construção de aplicativos na plataforma IOS. O NetBeans é um ambiente de desenvolvimento integrado desenvolvido pela Oracle que permite o desenvolvimento de aplicações desktop, mobile e web em Java. Em sua distribuição Java EE, são disponibilizados, por padrão, duas tecnologias - Application Server e Web Container. Considerando essas tecnologias, assinale a alternativa CORRETA: A O Application Server disponibilizado é o GlassFish. B O Web Container disponibilizado é o NetBeans WebC. C O Web Container disponibilizado é o WildFly. 4 5 6 13/04/25, 16:13 Avaliação I - Individual about:blank 3/6 D O Application Server disponibilizado é o Apache Tomcat. Algumas das tecnologias disponibilizadas pelo JEE permitem que o desenvolvedor simplesmente sinalize em seu código aspectos relacionados à segurança, remotabilidade, transações etc., e o servidor de aplicações faz todo o resto. Isto libera o desenvolvedor para fazer mais o que realmente é importante: escrever código relacionado às necessidades do usuário e a lógica do negócio. O modelo simplificado de programação do JEE faz com que os descritores de deployment em XML sejam opcionais. Ao invés disso, o desenvolvedor pode colocar uma informação diretamente no código fonte, através das annotations, e o servidor configurará o componente em tempo de execução. Essas annotations, em geral, servem para embutir no programa dados que seriam de outra forma fornecidos em um deployment descriptor. Com as annotations, você pode colocar a especificação do serviço do servidor ao lado do código que será afetado por ele. Sobre Segurança, assinale a alternativa CORRETA: A A arquitetura JEE permite que as aplicações sejam acessadas por múltiplos usuários, simultaneamente, de maneira controlada, para evitar problemas de concorrência. B Mecanismos de injeção de dependências e controle de ciclo de vida são oferecidos aos objetos de uma aplicação JEE. O mecanismo de controle de ciclo de vida pode garantir a escalabilidade de uma aplicação. C Aplicações JEE podemA A, Alternativa correta Multithreading e Concorrência: a arquitetura EJB é fortemente integrada com os componentes da plataforma Java EE. B Transações: a arquitetura EJB define um suporte para utilização de transações. Esse suporte é integrado com a Java Transaction API (JTA), incluindo a possibilidade de realizar transações distribuídas. C Remotabilidade: aplicações EJB podem ser acessadas remotamente através de diversos protocolos de comunicação. Consequentemente, é possível desenvolver aplicações clientes de diversos tipos. D Segurança: suporte para realizar autenticação e autorização de forma declarativa. Os desenvolvedores das aplicações não precisam implementar a lógica de segurança, pois ela faz parte da arquitetura. 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: A As sentenças II, III e IV estão corretas. B B, Alternativa correta As sentenças I e III estão corretas. C As sentenças I, III e IV estão corretas. D As sentenças I e IV estão corretas. 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. Essa empresa utiliza o padrão de arquitetura MVC em seus softwares, o que reduz o trabalho de 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 regras de negócio. Com base na arquitetura MVC apresentada na figura, analise as sentenças 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 e IV, apenas. B I, III e IV. C C, Alternativa correta II e III, apenas D I, apenas. Java Message Service, ou JMS, é uma API da linguagem Java para middleware orientado a mensagens. Através da API JMS, duas ou mais aplicações podem se comunicar por mensagens. Sobre esse recurso, assinale a alternativa INCORRETA: A As aplicações JavaEE podem obter tópicos, fábricas de conexão e filas, através de injeção de dependência. B B, Alternativa correta Os tipos de mensagens possíveis na arquitetura JMS são as filas, os tópicos e as fábricas. C As fábricas de conexão, as filas e os tópicos são objetos administrados pelos provedores JMS. D Todo sistema que desejar trocar mensagens através de filas ou tópicos deve obter uma conexão JMS através das fábricas cadastradas no MOM. O framework web JSF é embasado em interface gráfica para desenvolvimento, capaz de renderizar os componentes e manipular seus eventos em aplicações web no padrão Java EE. Neste sentido, os componentes do JSF são orientados a eventos, e formulários com estes componentes são desenvolvidos em páginas XHTML. Com relação a uma página XHTML, do JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma página XHTML, ao ser acessada por um navegador de internet de um cliente, receberá os componentes renderizados em HTML. ( ) Uma página XHTML, a qual possui um formulário desenvolvido com os componentes JSF, não pode ter eventos Ajax, pois o mesmo não funciona neste tipo de formulário. ( ) Uma página XHTML, a qual possui um formulário desenvolvido com os componentes JSF, pode ter a validação dos campos implementada dentro do formulário. ( ) Uma página XHTML, ao ser criada no ambiente de desenvolvimento Eclipse, se configurado corretamente, automaticamente será realizada a importação da biblioteca dos componentes visuais do JSF. Assinale a alternativa que apresenta a sequência CORRETA: A F - V - V - V. B F - V - V - F. C C, Alternativa correta V - F - V - V. D V - F - F - V. No mundo real, dificilmente uma tabela existirá isolada das demais. Na orientação a objetos, isto não ocorre de maneira diferente. O JPA trata das anotações específicas em que é possível o tipo de associação entre os objetos. Sobre as multiplicidades possíveis, assinale a alternativa CORRETA: A São apenas três: @OneToOne; @ManyToOne; @OneToMany. B São apenas duas: @OneToOne e @ManyToOne. C C, Alternativa correta São apenas quatro: @OneToOne; @ManyToOne; @OneToMany e @ManyToMany. D D, Alternativa Errada São apenas duas: @OneToMany e @ManyToMany. E São quatro: @OneToOne; @ManyToOne; @OneToMany e @ManyTo. A arquitetura EJB possui muitos recursos disponíveis que facilitam a programação de sistemas. Dentre suas vantagens, pode ser citado o recurso pronto e automático para autenticação e autorização, o qual não precisa ser implementado pelo desenvolvedor. Além disso, classes podem ser implementadas no padrão Stateful Session Beans quando se precisa manter o estado conversacional. Sobre o Stateful Session Bean, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O Stateful Session Bean é mantido para as requisições de um mesmo cliente. ( ) Um objeto Stateful Session Bean pode atender a somente uma requisição. ( ) Se um Stateful Session Bean mantem como estado uma lista de produtos por exemplo, esta lista precisa ser mantida entre as camadas dos métodos da classe. ( ) Um Stateful Session Bean não pode ser configurado para designá-lo como sendo local ou remoto, pois o mesmo é configurado automaticamente pelo AS. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - F - V. B B, Alternativa correta V - V - V - F. C C, Alternativa Errada V - F - V - F. D F - V - F - F. O JPA permite a persistência do estado de qualquer classe Java, bastando para tal colocar as anotações obrigatórias. O atributo da classe é a chave primária. Sobre a anotação do JPA, o atributo da classe e a chave primária, assinale a alternativa CORRETA: A A, Alternativa correta @Id. B @Table. C C, Alternativa Errada @Column. D @Entity. O Java Server Faces (JSF) é o framework padrão da plataforma Java para a construção de aplicações web com JEE. Ele define e implementa um modelo de componentes visuais para WEB, utilizando uma arquitetura MVC (model, view, controller). Sobre Enterprise Information Server (EIS), assinale a alternativa CORRETA: A É lógica de negócios (EJB). B B, Alternativa correta É a fonte de dados que a camada Business Tier acessa. C C, Alternativa Errada É a camada que liga a interface gráfica com a lógica de negócio. D É a camada acessada pelo usuário (interface gráfica), como telas de uma aplicação desktop ou página web acessada por um navegador. Um framework pode ser descrito como um conjunto de programas de apoio, linguagem de script, ou aindabibliotecas 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. ( ) Em 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. ( ) Em um componente Datatable é permitido criar apenas uma coluna, sendo esta a limitação deste componente para renderizar tabelas. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada V - F - V - F. B B, Alternativa correta F - V - V - F. C F - V - F - V. D V - F - F - V. 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, analise as afirmativas a seguir: I. Statefull Session Beans possuem relação com Enterprise Java Beans (EJB). II. Java Persistence API (JPA) é um 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. Java Transaction API (JTA) permite executar a operação de rollback. IV. Através de Java Persistence API (JPA) é possível criar componentes JSF parecidos com o do HTML. É correto o que se afirma em: A A, Alternativa Errada I, II, III e IV. B B, Alternativa correta I, II e III, apenas. C I e II, apenas. D II, III e IV, apenas. E I, III e IV, apenas. O JSF permite que você modifique o layout dos componentes da interface gráfica através de bibliotecas visuais de terceiros. Além disso, esse framework permite que se desenvolva aplicações utilizando o MVC. Sobre o MVC (Model View Controller), assinale a alternativa CORRETA: A A, Alternativa correta A camada Controller interpreta as entradas do mouse ou do teclado enviado pelo usuário e mapeia essas ações do usuário em comandos que são enviados para a camada Model. B A camada Model interpreta as entradas do mouse ou do teclado enviado pelo usuário e mapeia essas ações do usuário em comandos que são enviados para a camada View. C A camada Model interpreta as entradas do mouse ou do teclado enviado pelo usuário e mapeia essas ações do usuário em comandos que são enviados para a camada Controller. D A camada Controller interpreta as entradas do mouse ou do teclado enviado pelo usuário e mapeia essas ações do usuário em comandos que são enviados para a camada View. Diversos componentes são incorporados nas aplicações que obedecem às especificações JEE, sendo cada um destes desenvolvido em Java e gerenciado pelo servidor de aplicação. Com relação à função do serviço JAAS, assinale a alternativa CORRETA: A A, Alternativa Errada Definir as configurações da camada de negócio, simplificando as alterações no leiaute. B Aplicar o protocolo HTTPS para encriptar as requisições dos usuários. C Habilitar a criação de aplicações dinâmicas por meio do uso de AJAX. D D, Alternativa correta Fornecer mecanismos de autenticação e autorização aos usuários. 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 pré-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". Na figura anexa é apresentado o código-fonte de uma das classes da funcionalidade de cadastro de grupos. Com base no código-fonte da classe apresentada, assinale a alternativa CORRETA: A A, Alternativa correta O código-fonte apresentado refere-se a uma classe Managed Bean, referenciada por "cadastrarGrupoMB" pela respectiva tela de cadastro. B O código-fonte implementado entre as linhas 47 a 49 é executado quando a classe GrupoMB é instanciada. C A respectiva tela de cadastro deste Managed Bean não possui acesso ao objeto do tipo "Grupo", instanciado na linha 27. D 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. A partir da versão 3.1, para acesso local a uma classe Stateless Session Bean, não é mais necessária a utilização de anotação @Local, bastando definir a classe apenas com a anotação @Stateless. Além disso, quando a classe é definida com a anotação @Remote, ela pode ser instanciada em diferentes AS. Com relação ao EJB, assinale a alternativa CORRETA: A A, Alternativa Errada Um objeto EJB é conectado com a interface de persistência da aplicação. B O desenvolvedor de uma aplicação deve desenvolver regras para gerenciar a vida de objetos que tenham a anotação @EJB. C C, Alternativa correta Um objeto marcado com a anotação @EJB o torna gerenciável pelo AS. D O desenvolvedor de uma aplicação deve desenvolver regras para controlar objetos que tenham a anotação @EJB definida para eles. Em aplicações desenvolvidas com o paradigma da orientação a objetos, normalmente é necessário realizar a gravação de objetos em banco de dados, apesar de que a gravação em um banco de dados orientados a objetos seria o ideal, os bancos de dados relacionais dominaram o mercado. Neste contexto, surgiram tecnologias que permitem resolver o problema de gravação de objetos em bancos de dados relacionais. Com relação ao problema objeto relacional de persistência, assinale a alternativa CORRETA: A A, Alternativa correta O JPA é uma API padrão para resolver o problema do objeto relacional, sendo uma de suas vantagens não precisar implementar código SQL. B No padrão DAO é criada uma única classe, na qual são implementadas as funções de persistência, isto é, inserção, exclusão, alteração e consulta de todas as tabelas utilizadas no sistema. C O padrão DAO é uma das soluções para o problema objeto relacional, o qual, quando bem implementado, possui baixa coesão. D Tando o padrão DAO quanto o JPA utilizam o JDBC para realizar a conexão com o banco de dados, e em ambos é necessária a implementação de código SQL dentro da aplicação. 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 parafiltro, 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 A, Alternativa Errada V - V - V - F. B B, Alternativa correta V - F - V - V. C F - V - V - V. D V - V - F - V. O Java Server Faces (JSF) utiliza um arquivo no formato XHTML para descrever a interface de uma 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 dos 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 implementarmos "" estamos associando um campo de texto a um atributo de um objeto de um Managed Bean (MB). ( ) Em arquivos XHTML não é possível utilizar tags HTML. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - F - V. B V - V - V. C C, Alternativa correta F - V - F. D V - F - F. 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á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: A A, Alternativa Errada F - F - V - F. B V - V - V - F. C F - F - F - V. D D, Alternativa correta V - F - F - V. 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: A A, Alternativa Errada Somente a afirmativa II está correta. B B, Alternativa correta As afirmativas II e IV estão corretas. C As afirmativas I e II estão corretas. D As afirmativas I e IV estão corretas. No mundo real, dificilmente uma tabela existirá isolada das demais. Na orientação a objetos, isto não ocorre de maneira diferente. Um objeto Pessoa, por exemplo, pode estar associado a um ou mais objetos “Endereço”. Um objeto NotaFiscal pode estar associado a uma coleção de objetos do tipo Item, em que cada Item possuirá ainda uma associação a um objeto do tipo Produto. O JPA trata este tipo de situação através de anotações específicas, em que é possível determinar o tipo de associação entre os objetos. Sobre as multiplicidades, assinale a alternativa INCORRETA: A A, Alternativa Errada @ManyToOne é a anotação que representa a multiplicidade Muitos para um (M:1). B @OneToOne é a anotação que representa a multiplicidade Um para um (1:1). C @OneToMany é a anotação que representa a multiplicidade Um para Muitos (1:M). D D, Alternativa correta Tanto a anotação @OneToOne quanto a anotação @ManyToMany representam a multiplicidade Um para Muitos (1:M). Uma empresa desenvolveu um sistema web de cadastro de produtos, o qual possui pré-cadastros que devem ser gravados antes de ser permitido gravar um 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. Assinale a alternativa CORRETA: A A, Alternativa Errada I, III e IV. B III, apenas. C I, II e IV. D D, Alternativa correta I e II, apenas. Uma das soluções mais aplicadas para o problema do mapeamento objeto relacional é a utilização do padrão de projeto, conhecido como DAO (data access object). Esse padrão consiste em implementar uma camada para fazer o mapeamento entre os objetos e as tabelas do banco de dados. A função primordial do DAO é fazer a tradução de objetos em registros e de registros em objetos. Sobre as vantagens adicionais que podem ser feitas quando a implementação é bem feita, assinale a alternativa CORRETA: A A, Alternativa Errada Abstração completa do mecanismo de persistência, Troca de mecanismo de persistência e Coerência. B B, Alternativa correta Abstração completa do mecanismo de persistência, Troca de mecanismo de persistência e Coesão. C Abstração completa do mecanismo de persistência, Coerência e Coesão. D Abstração parcial do mecanismo de persistência, Troca de mecanismo de persistência e Coesão. A linguagem de programação Java possui diversos recursos disponíveis para aplicações simples e robustas. Um destes recursos é o sistema de mensagens Java, ou JMS (Java Message Service), o qual possibilita que diferentes aplicações troquem mensagens entre si. A troca de mensagens pode acontecer em uma integração entre sistemas por exemplo, o que pode ser realizado através do uso desta API. São definidos os padrões filas e tópicos para o armazenamento de mensagens, e a realização da troca de mensagens pode ser utilizada em projetos de integração de sistemas, assim como em sistemas de bate-papo. Considerando as informações apresentadas, analise as afirmações a seguir: I- Ambos os tipos de mensagens (filas e tópicos) não precisam estar configurados no middleware. II- Para utilização das filas ou tópicos, é necessário obter uma conexão JMS através das fábricas cadastradas no MOM. III- Através do serviço JNDI pode ser obtida uma fábrica de conexão-padrão. IV- A anotação @Resource marca serve para indicar que uma classe é uma entidade relacionada a uma tabela do banco de dados. É correto o que se afirma em: A A, Alternativa Errada As sentenças I e III estão corretas. B Somente a sentença IV está correta. C Somente a sentença III está correta. D As sentenças I e II estão corretas. E E, Alternativa correta As sentenças II e III estão corretas. 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 A, Alternativa Errada Somente a sentença I está correta. B Somente a sentença II está correta. C As sentenças II e III estão corretas. D D, Alternativa correta As sentenças I e II estão corretas. E As sentenças I e III estão corretas. Java Persistence API (JPA): apresenta uma solução para a persistência de objetos em ambientes relacionais, usando uma estratégia de mapeamento objeto relacional. Sobre os conceitos e interfaces do JPA, analise as sentenças a seguir: I- O JTA exige a existência de duas anotações na classe que utilizará o GeneratedValue. II- O conceito de Convention Over Configuration (Coc) permite que se trabalhe com uma configuração mínima, pois o resto é convenção e o JPA assume valores default. III-O Gerenciador de persistência (EntityManager) representa a interface implementada pelo provedor JPA que disponibiliza métodos para realizar as operações de persistência. IV- A Unidade de Persistência (Persistency Unit) mostra o arquivo que apresenta um conjunto de configurações utilizadas pelo JPA para se conectar com o banco de dados, como login, senha, e url de conexão. Assinale a alternativa CORRETA: A A, Alternativa correta As sentenças II, III e IV estão corretas. B As sentenças I, III e IV estão corretas. C Somente a sentença I está correta. D As sentenças I, II e III estão corretas. O desenvolvimento de software utilizando a linguagem de programação Java possui muitos recursos que diminuem o trabalho do desenvolvedor, ou que ainda tornam a arquitetura do software mais legível para uma futura manutenção. O ciclo de vida do Stateless Session Bean, por exemplo, é administrado pelo EJB Container, dentro do servidor de aplicação, e não precisa ser controlado pelo desenvolvedor. A respeito da arquitetura EJB, analise as sentenças a seguir: I- Uma única instância de uma classe Stateless Session Bean pode atender a mais de um cliente. II- Uma única instância de uma classe Stateless Session Bean não atende a duas ou mais demandas ao mesmo tempo. III- O EJB Container cria novas instâncias de Stateless Session Bean, uma para cada cliente solicitante. IV- A anotação @PostConstruct define que o método com esta anotação seja executado após a instância da classe. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças I e IV estão corretas. B As sentenças II, III e IV estão corretas. C C, Alternativa correta As sentenças I, II e IV estão corretas. D As sentenças I e III estão corretas. Segundo o conceito de tier e de layer, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Conjunto de tecnologias que representa um conceito que faz parte da aplicação. ( ) A tier é sempre composta por software, ou seja, é lógica. ( ) A layer é sempre composta por hardware, ou seja, é física. ( ) Continuamente moldadas através do feedback fornecido pelo Java Community Process (JCP). Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - F - V - V. B F - F - F - V. C C, Alternativa correta V - V - V - F. D V - V - F - F. A linguagem de programação Java oferece a base de um modelo. Sobre essa base, assinale a alternativa CORRETA: A A, Alternativa Errada Portabilidade, Segurança e Improdutividade. B Portabilidade, Insegurança e Produtividade. C C, Alternativa correta Portabilidade, Segurança e Produtividade. D Importabilidade, Segurança e Produtividade. Com base em nossos estudos, analise a figura a seguir: Com relação ao que a camada WebTier representa, assinale a alternativa CORRETA: A A, Alternativa Errada Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. B B, Alternativa correta Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). C Representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. D Representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. O JPA fica responsável pela criação das tabelas no banco de dados e posteriores operações de mapeamento objeto relacional. Sobre as principais anotações do JPA, analise as afirmativas a seguir: I- @Entity: marca uma classe como entidade e tabela. II- @Temporal: marca um atributo como sendo do tipo datetime. III- @Id: marca um atributo como chave primária. IV- @GeneratedTable: utilizado em conjunto com a anotação @Id, determinando a estratégia adotada para a geração deste valor. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças I, II e IV estão corretas. B Somente a sentença III está correta. C Somente a sentença I está correta. D D, Alternativa correta As sentenças I, II e III estão corretas. 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: A A, Alternativa Errada F - V - V - F. B V - V - V - F. C V - F - F - V. D D, Alternativa correta F - V - V - V. 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: A A, Alternativa Errada As sentenças I e IV estão corretas. B B, Alternativa correta As sentenças I e III estão corretas. C As sentenças II, III e IV estão corretas. D As sentenças I, III e IV estão corretas. Java Message Service, ou JMS, é uma API da linguagem Java para middleware orientado a mensagens. Através da API JMS, duas ou mais aplicações podem se comunicar por mensagens. Sobre esse recurso, assinale a alternativa INCORRETA: A A, Alternativa Errada As aplicações JavaEE podem obter tópicos, fábricas de conexão e filas, através de injeção de dependência. B As fábricas de conexão, as filas e os tópicos são objetos administrados pelos provedores JMS. C C, Alternativa correta Os tipos de mensagens possíveis na arquitetura JMS são as filas, os tópicos e as fábricas. D Todo sistema que desejar trocarmensagens através de filas ou tópicos deve obter uma conexão JMS através das fábricas cadastradas no MOM. A plataforma JEE é projetada para suportar aplicações que possuem elevado grau de complexidade, acessando dados das mais variadas fontes e atendendo a um grande número de clientes e requisições. Com relação ao JEE e seus componentes, assinale V para as sentenças verdadeiras e F para as falsas. ( ) Uma das vantagens do JEE é a possibilidade de utilizá-lo apenas em aplicações de pequeno porte, as Mobiles. ( ) Java Persistence API apresenta uma solução para a persistência de dados em ambientes computacionais, usando uma estratégia de mapeamento entidade e relacionamento. ( ) o JEE possui o servidor de aplicação como um dos componentes principais. ( ) Session beans e Message driven beans são tipos do Enterprise Java Beans. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada V - V - F - F. B V - V - V - F. C F - F - F - V. D D, Alternativa correta F - F - V - V. O JSF permite que você modifique o layout dos componentes da interface gráfica através de bibliotecas visuais de terceiros. Essas bibliotecas facilitam o trabalho de deixar a aplicação mais agradável para os usuários, pois eliminam o css e demais frameworks como o bootstrap. Existem algumas bibliotecas de terceiros que são bastante conhecidas e utilizadas em JSF. Sobre essas bibliotecas para terceiros, assinale a alternativa CORRETA: A A, Alternativa correta ICE Faces, o Rich Faces e o Prime Faces. B ICE Faces, o Model Faces e o Prime Faces. C Model Faces, o Rich Faces e o Prime Faces. D ICE Faces, o Rich Faces e o Model Faces. JSF é um framework criado para agilizar a criação de interfaces para aplicações Java web, que incorpora o padrão arquitetural MVC. Além disso, o JSF disponibiliza diversos componentes prontos capazes de se comunicar com classes Java, chamadas Managed Beans. Sobre o exposto, assinale a alternativa CORRETA: A A, Alternativa correta O JSF permite a utilização de AJAX com métodos no managed bean e, entre outros, pode ser citado change, focus e blur para formulário. B Uma desvantagem do JSF é que não permite uso de bibliotecas visuais de terceiros. C O JSF começou a dar suporte nativo à AJAX somente a partir da sua versão 5.0. D O atributo rows define quantas colunas serão mostradas na tela. 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â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 A, Alternativa correta V - F - V - V. B F - V - V - V. C V - F - F - V. D V - V - V - F. 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, analise as afirmativas a seguir: I. As configurações relativas às conexões JDBC podem ser definidas nas aplicações ou nos servidores de aplicação. II. Usuário, senha, base de dados são exemplos de informações necessárias para a correta conexão JDBC. III. O driver JDBC deve ser escolhido de acordo com o banco de dados adotado na aplicação. IV. Conexões JDBC são acessíveis somente utilizando a IDE Eclipse, não havendo suporte no NetBeans. É correto o que se afirma em: A A, Alternativa Errada II, III e IV, apenas. B I, III e IV, apenas. C I, II, III e IV. D I e IV, apenas. E E, Alternativa correta I, II e III, apenas. O Java Server Faces (JSF) é o framework padrão da plataforma Java para a construção de aplicações web com JEE. Ele define e implementa um modelo de componentes visuais para WEB muito importante e que facilita a divisão do código fonte desenvolvido. Com relação ao nome desse modelo, assinale a alternativa CORRETA: A A, Alternativa Errada Cliente e Servidor. B B, Alternativa correta MVC (model-view-controller). C Middleware, Aplicação e Sistema Operacional. D GRUD. 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 A, Alternativa Errada Não foi projetada para manter aplicações que possuem elevado grau de complexidade, acessando dados das mais variadas fontes e atendendo a um grande número de clientes e requisições, o que garante alta escalabilidade. B A plataforma Java não tem como preocupação a produtividade no desenvolvimento dos aplicativos. C Java é uma linguagem de programação que pode ser substituída pelo Delphi, pois ambas possuem mesmos recursos. D D, Alternativa correta 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. E A plataforma Java não possui recursos para permitir reutilização de código-fonte, e nem bibliotecas que auxiliam na velocidade do trabalho de desenvolvimento. 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 "", 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 "". Assinale a alternativa CORRETA: A A, Alternativa correta As afirmativas I, II e III estão corretas. B As afirmativas I, III estão corretas. C As afirmativas II e IV estão corretas. D Somente a afirmativa II está correta. O JPA permite a persistência do estado de qualquer classe Java, bastando para tal colocar as anotações obrigatórias. É recomendável que a classe siga as especificações JavaBeans e que tenha ou possa ter uma tabela associada, visto que, se a tabela não existir, o JPA faz a criação dela, de acordo com o que foi mapeado nas classes. Os tipos de dados são convertidos automaticamente, de acordo com o provedor JPA e o banco de dados no qual se estiver armazenandoos objetos. Praticamente toda a configuração do mapeamento entre tabelas e classes é feita através de anotações. Sobre as principais anotações do JPA, assinale a alternativa CORRETA: A A, Alternativa Errada @Id: marca um atributo como sendo do tipo datetime. B B, Alternativa correta @Entity: marca uma classe como entidade e tabela. C @Table: permite a definição de configurações para a coluna no banco de dados. D @GeneratedValue: referencia o nome da tabela. Esta anotação somente é necessária quando o nome da tabela será diferente do nome da classe. JSF (Java Server faces) é um framework que facilita e agiliza a elaboração de interfaces para sistemas web. Uma das principais características do JSF é que ele separa a lógica das regras de negócio e a navegação das conexões com serviços externos. Tem como ponto forte a possibilidade de um grande número de componentes e apresenta um design bastante flexível. Com relação ao JSF, analise as sentenças a seguir: I- O framework JSF funciona de acordo com o padrão MVC. II- No JSF, o Managed Bean faz o papel de controlador entre a interface gráfica e a entidade. III- O JSF não pode ser utilizado para o gerenciamento de eventos e a conversão de dados no servidor. IV- DataTable é um componente que faz a interface do JSF com a web. Assinale a alternativa CORRETA: A A, Alternativa correta As sentenças I, II e IV estão corretas. B As sentenças I, III e IV estão corretas. C As sentenças II, III e IV estão corretas. D As sentenças I, II e III estão corretas. Context and Dependency Injection, ou CDI, é a especificação Java para injeção de dependência que contribui para criação de aplicações robustas, com fácil integração entre beans com comportamentos diferentes, como EJB e Managed Bean, além de trazer diversos recursos adicionais que colaboram para cumprir seu principal objetivo: baixo acoplamento com tipificação forte. Sobre o exposto, associe os itens, utilizando o código a seguir: I- Baixo acoplamento entre os objetos. II- Simplificação no código da aplicação. III- Testabilidade. IV- Flexibilidade no gerenciamento do ciclo de vida dos objetos. ( ) Com a injeção de dependência, os objetos da aplicação são liberados da tarefa de trazer suas próprias dependências (redução de código para inicialização e configuração de dependências); eles ficam livres para executar apenas suas regras negociais, pois sabem que as suas dependências estarão lá, quando necessárias. ( ) Objetos podem ser colocados em um cache, serem um singleton ou ter uma vida curta (tudo passa a ser controlado por meio de configurações ou pelo container). ( ) O objeto conhece suas dependências apenas por sua interface pública (não por sua implementação, nem por como foram instanciadas). Assim, a dependência pode ser trocada por uma implementação diferente, sem que o objeto dependente conheça a diferença. ( ) Se as dependências podem ser injetadas em um componente, torna-se possível injetar implementações mocks dessas dependências. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada IV - III - I - II. B I - III - IV - II. C IV - I - II - III. D D, Alternativa correta II - IV - I - III. A plataforma JEE é projetada para suportar aplicações que possuem elevado grau de complexidade, acessando dados das mais variadas fontes e atendendo a um grande número de clientes e requisições. Sobre a arquitetura JEE típica, analise as sentenças a seguir: I- Client Tier: representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. II- Commerce Tier: representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. III- Enterprise Information Server (EIS) Tier: representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. IV- Business Tier: representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças II, III e IV estão corretas. B As sentenças I, III e IV estão corretas. C As sentenças I, II e III estão corretas. D D, Alternativa correta As sentenças I e III estão corretas. E Somente a sentença IV está correta. 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, Alternativa Errada 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. B B, Alternativa correta Um Stateless Session Bean possui seu ciclo de vida administrado pelo EJB Container, dentro do servidor de aplicação. 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 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. Geralmente, quando se está começando a programar, o desenvolvedor começa a fazer códigos que são retornados no console em formato de texto, pois muitos são códigos de aprendizagem. Quando é necessário desenvolver sistemas que precisam de alguma interação mais aprimorada com o usuário, utiliza-se as interfaces gráficas. Para construirmos uma interface gráfica em JAVA, adicionamos componentes (botões, menus, textos, tabelas, listas etc.). Sobre as duas tecnologias criadas pela Oracle para criação de interfaces gráficas para Desktop, assinale a alternativa CORRETA: A A, Alternativa Errada WPF Aplicação e JavaFX. B Páginas FrontEnd e Swing. C C, Alternativa correta Swing e JavaFX. D Java Forms e Páginas FrontEnd. Nos últimos anos, vimos um interesse crescente em sistemas de gerenciamento de bancos dados que diferem do modelo relacional tradicional. No centro disso está o conceito de NoSQL, um termo usado coletivamente para denotar software de banco de dados que não usa SQL (Structured Query Language) para interagir com o banco de dados. Um dos projetos NoSQL mais notáveis até o momento é o MongoDB, um banco de dados orientado a documentos e de software livre, que armazena dados em coleções de documentos semelhantes ao JSON. Sobre o MongoDB, assinale a alternativa INCORRETA: A A, Alternativa Errada A ideia do MongoDB é que tenhamos documentos autocontidos obtendo todas as informações que necessitamos sem que seja necessário realizarmos vários joins. Dessa forma, fazemos apenas uma consulta, e o retorno será o documento inteiro com todas as informações, resultando num ganho significativo de performance. B B, Alternativa correta O MongoDB é um banco de dados orientado a documentos, semelhante aos Bancos de dados tradicionais, que seguem o modelo relacional. C MongoDB é um software de banco de dados orientado a documentos livre, de código aberto e multiplataforma, escrito na linguagem C++. D MongoDB foi criada com Big Data em mente. Ele suporta tanto escalonamento horizontal quanto vertical, e usando replica sets (instâncias espelhadas) e sharding (dados distribuídos), tornando-o uma opção muito interessante para grandes volumes de dados, especialmente os desestruturados. 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çãoao 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: A A, Alternativa correta As afirmativas I, II e III estão corretas. B Somente a afirmativa I está correta. C Somente a afirmativa II está correta. D As afirmativas II e IV estão corretas. 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 é, classes 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 A, Alternativa Errada V - F - V - V. B F - V - V - V. C F - V - V - F. D D, Alternativa correta V - F - F - V. 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: A A, Alternativa Errada F - V - V - V. B V - F - F - F. C V - V - F - V. D D, Alternativa correta V - F - V - V. Um dos grandes problemas do paradigma da Orientação a Objetos é o mapeamento de seus objetos e como estes serão dispostos no banco de dados. Esta situação é conhecida como ”mapeamento objeto relacional”. Para resolver o problema, a tecnologia Java liberou a especificação JPA (Java Persistence API) para gerenciamento de persistência. Esta especificação define um padrão para o mapeamento entre objetos Java e bancos de dados. Seu conceito principal é o de entidade. Uma entidade corresponde a um objeto que pode ser gravado na base de dados através de um mecanismo de persistência proposto pelo JPA. Com relação ao JPA, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Unidade de Persistência e Gerenciamento de Persistência são dois conceitos associados à especificação JPA. ( ) No que se refere ao mapeamento de entidades, é recomendado que a classe sempre tenha uma tabela associada. Caso a tabela não exista, o JPA se encarrega de criá-la, de acordo com a especificação mapeada para a classe. ( ) A simplicidade não é uma característica básica do JPA. ( ) O JPA não tem nenhum tipo de responsabilidade com relação ao mapeamento objeto relacional após concluir a criação das tabelas na base de dados. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada V - F - V - F. B B, Alternativa correta V - V - F - F. C V - F - F - F. D F - F - F - V. O JSF é uma tecnologia que permite desenvolver software web na linguagem de programação Java, utilizando componentes visuais pré-prontos. Nesse framework, o desenvolvedor não precisa se preocupar com Javascript e HTML, pois basta criar o formulário com os componentes desejados, e estes serão renderizados e apresentados em HTML no navegador do cliente. Analise o código-fonte a seguir: Salário: Tempo: 0}" /> Com relação ao código-fonte apresentado "Formulario Cadastro Funcionario", assinale a alternativa correta: A A, Alternativa Errada A classe Managed Bean "cadastrarFuncionarioMB" não possui relação ou vínculo com o formulário apresentado. B B, Alternativa correta No formulário JSF, é apresentado ao usuário o botão "Cadastrar" ou o botão "Alterar", porém não ambos ao mesmo tempo. C No formulário JSF apresentado, o campo chamado "itSetor" está vinculado ao atributo "cadastrarFuncionarioMB" e, neste contexto, o Management Bean recebe seu valor. D Quando um usuário/cliente acessar um formulário desenvolvido com a tecnologia JSF, o sistema operacional do cliente converterá os componentes em HTML. E No formulário JSF sendo apresentado, é apresentado ao usuário o botão "Cadastrar" e o botão "Alterar", isto é, ambos. Sobre Componentes JEE podemos dizer que as aplicações JEE são feitas de componentes. Estes componentes são unidades encapsuladas de software funcionais que fazem parte das aplicações. Cada componente possui suas próprias classes e arquivos e se comunica com outros componentes. Com relação à especificação JEE, assinale a alternativa INCORRETA: A A, Alternativa correta InputText que permite a autenticação de validadores personalizados para os componentes, colocando-os dentro do panelGroup. B Servlets, Java Server Faces e Java Server Pages como componentes que executam no servidor. C Enterprise Java Beans, como componentes de negócio que executam no servidor. D Aplicação cliente e applets que executam no cliente. O JavaServer Faces (JSF) é uma tecnologia que faz o papel de controller (controlador) dos aplicativos. Pode ser considerado uma especialização para a construção das interfaces para o usuário, baseadas emcomponentes Java Web. Simplifica a construção dos aplicativos, permitindo a reutilização de componentes, além de personalizá-los. Tomando por base o conceito exposto sobre JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) JSF não tem como objetivo a substituição do JSP (Java Server Pages). ( ) JSF pode ser considerado um framework MVC para aplicações web. ( ) JSF não pode ser usado em conjunto com Servlets e Java Server Pages. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada V - F - V. B F - F - V. C F - V - F. D D, Alternativa correta V - V - F. A arquitetura EJB possui muitos recursos disponíveis que facilitam a programação de sistemas. Dentre suas vantagens, pode ser citado o recurso pronto e automático para autenticação e autorização, o qual não precisa ser implementado pelo desenvolvedor. Além disso, classes podem ser implementadas no padrão Stateful Session Beans quando se precisa manter o estado conversacional. Sobre o Stateful Session Bean, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O Stateful Session Bean é mantido para as requisições de um mesmo cliente. ( ) Um objeto Stateful Session Bean pode atender a somente uma requisição. ( ) Se um Stateful Session Bean mantem como estado uma lista de produtos por exemplo, esta lista precisa ser mantida entre as camadas dos métodos da classe. ( ) Um Stateful Session Bean não pode ser configurado para designá-lo como sendo local ou remoto, pois o mesmo é configurado automaticamente pelo AS. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - F - F - V. B B, Alternativa correta V - V - V - F. C V - F - V - F. D F - V - F - F. No desenvolvimento de software do padrão EJB, a partir da versão 3.0 dos EJBs, surgiram grandes facilidades no uso de Session Beans ao adotar anotações, injeção de dependências e inversão de controle. Sobre as classes implementadas no padrão Stateless Session Bean, assinale a alternativa CORRETA: A A, Alternativa Errada A anotação @Local é obrigatória, a qual possui um parâmetro que define a classe sendo um um EJB local. B Para que uma classe seja definida como Stateless Session Bean, ela precisa ter a anotação @RequestScoped. C Para que uma classe seja definida como Stateless Session Bean, ela precisa ter a anotação @SessionScoped. D D, Alternativa correta A anotação @Stateless especifica a não manutenção do estado conversacional. 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 A, Alternativa Errada 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 das desvantagens em desenvolver uma aplicação utilizando o JSF, é a dificuldade de se implementar a tecnologia JPA. C C, Alternativa correta Uma aplicação desenvolvida com a tecnologia JSF pode também ser implementada com a tecnologia JPA. D 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. 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 "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 A, Alternativa Errada As afirmativas I e III estão corretas. B B, Alternativa correta As afirmativas II, III e IV estão corretas. C Somente a afirmativa II está correta. D As afirmativas I e IV estão corretas. Um Managed Bean, no framework JSF, funciona como um objeto intermediador entre as camadas view e model, recebendo as requisições da tela e enviando seus dados para as classes de negócio ou de persistenência do banco de dados da aplicação. Com relação ao código-fonte sendo apresentado, classifique V para as sentenças verdadeiras e F para as falsas: ( ) A classe sendo apresentada é um Managed Bean, instanciada a cada requisição que um mesmo cliente realiza ao servidor para realizar o login na aplicação. ( ) A classe Managed Bean sendo apresentada é eliminada da memória quando o cliente que requisitou algo para ela recebe sua resposta. ( ) O método "validarDadosUsuario" da classe Managed Bean sendo apresentada pode ser invocada pelo evento "action" de um componente "" de um formulário XHTML. ( ) O método "validarDadosUsuario" da classe Managed Bean sendo apresentada pode ser invocada por um evento ajax de um formulário XHTML. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - V - V - V. B F - V - V - F. C V - F - F - V. D D, Alternativa correta F - F - V - V. O mapeamento objeto relacional ou ORM é um framework que tem como objetivo reduzir ou eliminar as discrepâncias entre a orientação a objetos e os bancos de dados relacionais. Pode-se afirmar que é um problema difícil de ser resolvido, pois a necessidade é de sincronizar tipos de dados de representações distintas, onde um está nos bancos de dados relacionais e o outro na memória. Com relação ao mapeamento objeto relacional, analise as sentenças a seguir: I. O relacionamento “Um para Um” é feito mapeando-se os atributos simples cuja escrita é representada pela anotação @OneToOne. II. O relacionamento “Muitos para Um” é feito mapeando-se os atributos simples cuja escrita é representada pela anotação @ManyToOne. III. A anotação @ManyToMany (“Muitos para Muitos”) indica que o relacionamento é bidirecional e, mesmo que seja informado em apenas uma das classes, será possível realizar a navegação em ambos os lados, não necessitando de uma das classes do relacionamento. Assinale a alternativa CORRETA: A A, Alternativa Errada Somente a sentença I está correta. B Somente a sentença III está correta. C As sentenças I e III estão corretas. D D, Alternativa correta As sentenças I e II estão corretas. E As sentenças II e III estão corretas. Uma empresa desenvolveu um sistema web de cadastro de veículos, para o qual foi utilizado o framework de desenvolvimento web JSF (Java Server Faces), cuja persistência no banco de dados foi realizada através da tecnologia JPA. Neste sistema, existem cadastros que devem ser realizados antes do cadastro principal de veículo. Um destes cadastros iniciais é o de marcas, o qual é utilizado para carregar o campo tipo combo box (lista) da tela de cadastro de veículos. Assim como para o cadastro de marcas, os demais pré-cadastros são requisitados para carregar corretamente a tela principal de cadastro de veículos. A primeira funcionalidade desenvolvida e liberada para usuários testarem destesistema de cadastro de veículos foi a de "login" (acesso interno ao sistema). Nessa funcionalidade, existe uma tela com usuário e senha, na qual usuários cadastrados podem acessar o sistema internamente e, dessa forma, ter acesso aos pré-cadastros e ao cadastro principal de veículos. No código fonte "Classe UsuarioService", é apresentada uma classe da funcionalidade de login do sistema. Com base neste código-fonte da classe apresentada, assinale a alternativa CORRETA: A A, Alternativa Errada Na classe apresentada existem métodos que realizam regras de negócio da aplicação. B Em uma classe Stateless Session Bean, a anotação "@Inject" é obrigatória, conforme utilizada na linha 14. C C, Alternativa correta A anotação "@Stateless", utilizada na linha 12, é obrigatória em qualquer Stateless Session Bean. D A classe apresentada mantém estado conversacional de um objeto. 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 pré-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". Na figura anexa é apresentado o código-fonte de uma das classes da funcionalidade de cadastro de grupos. Com base no código-fonte da classe apresentada, assinale a alternativa CORRETA: A A, Alternativa Errada 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. B O código-fonte implementado entre as linhas 47 a 49 é executado quando a classe GrupoMB é instanciada. C A respectiva tela de cadastro deste Managed Bean não possui acesso ao objeto do tipo "Grupo", instanciado na linha 27. D D, Alternativa correta O código-fonte apresentado refere-se a uma classe Managed Bean, referenciada por "cadastrarGrupoMB" pela respectiva tela de cadastro. 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 nesse contexto os registros da tabela são representados por instâncias desta classe (objeto). Nesse sentido, 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 "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 A, Alternativa correta F - V - V - F. B F - V - V - V. C V - V - V - F. D V - F - F - V. 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. Sobre a descrição da anotação, correspondente à @Temporal, assinale a alternativa CORRETA: A A, Alternativa Errada Marca uma classe como entidade e tabela. B Referencia o nome da tabela. Esta anotação somente é necessária quando o nome da tabela será diferente do nome da classe. C C, Alternativa correta Marca um atributo como sendo do tipo datetime. D Permite a definição de configurações para a coluna no banco de dados. O NetBeans é um ambiente de desenvolvimento integrado desenvolvido pela Oracle que permite o desenvolvimento de aplicações desktop, mobile e web em Java. Em sua distribuição Java EE, são disponibilizados, por padrão, duas tecnologias - Application Server e Web Container. Considerando essas tecnologias, assinale a alternativa CORRETA: A A, Alternativa correta O Application Server disponibilizado é o GlassFish. B O Application Server disponibilizado é o Apache Tomcat. C O Web Container disponibilizado é o WildFly. D O Web Container disponibilizado é o NetBeans WebC. 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: A A, Alternativa Errada Somente a afirmativa II está correta. B As afirmativas I e II estão corretas. C C, Alternativa correta As afirmativas II e III estão corretas. D As afirmativas I e IV estão corretas. Em um sistema, normalmente precisamos apresentar dados que estão gravados em um banco de dados, assim como informações de sistema, horário de acesso, dentre outros. Para fazer isso, no JSF, criamos a arquitetura da aplicação separada em camadas, facilitando a manutenção do software e tornando-o mais legível. Nesse contexto, analise o código-fonte "Classe HelloBeanMB" e então assinale a alternativa CORRETA: A A, Alternativa Errada O código-fonte sendo apresentado é um Managed Bean, o qual funciona na camada view da aplicação. B B, Alternativa correta O código-fonte sendo apresentado é um Managed Bean, o qual funciona na camada de controle (controller) da aplicação. C O código-fonte sendo apresentado é um Managed Bean, o qual funciona na camada modelo (model) da aplicação. D O código-fonte sendo apresentado é uma entidade do banco de dados, a qual funciona na camada de modelo (model) da aplicação. Serve para a implementação das regras de negócio que não necessitam de estado conversacional. Sobre o exposto, assinale a alternativa CORRETA: A A, Alternativa Errada Session. B Netbeans. C C, Alternativa correta Stateless session beans. D Stateless. Ao se utilizar a arquitetura EJB no desenvolvimento de software, alguns recursos são disponibilizados automaticamente, como por exemplo transações, segurança e remotabilidade. Um Bean não precisa de estados, e pode ter apenas métodos e regras de negócio. Com relação ao código-fonte sendo apresentado, assinale a alternativa CORRETA: A A, Alternativa Errada O código-fonte apresentado se refere a um Bean, o qual possui métodos de negócio e atributos. B A anotação "@Stateless" especifica que a classe é um EJB que implementa métodos de negócios da classe "Carro". C C, Alternativa correta O código-fonte apresentado se refere a um Bean, o qual possui métodos de negócio. D A anotação"@Local" especifica a não manutenção do estado conversacional. O desenvolvimento de sistemas web exige qualidade no quesito navegabilidade, termo utilizado para descrever a facilidade proporcionada ao usuário na utilizaçãodos campos de um formulário e navegação entre as páginas. Na maioria das linguagens de programação para web este quesito é alcançado utilizando Javascript e CSS, melhorando a aparência e a navegabilidade, porém, no JSF, não há necessidade da implementação destes recursos. No código-fonte sendo apresentado no anexo "DataTable SubGrupo", está sendo utilizada a biblioteca PrimeFaces para melhorar a aparência. Com relação ao formulário JSF apresentado, analise as afirmativas a seguir: I- No código-fonte apresentado está sendo utilizado o componente Datatable da biblioteca Primefaces. II- O componente Datatable recebe uma lista de objetos no seu atributo "value". III- Na última coluna de cada linha da tabela gerada pelo Datatable existe um botão para exclusão do registro, o qual efetua requisição ajax. IV- O atributo "headerText" de cada coluna databela refere-se ao nome de cada coluna, a qual é apresentada na primeira linha. Assinale a alternativa CORRETA: A A, Alternativa Errada Somente a afirmativa II está correta. B B, Alternativa correta As afirmativas I, II e IV estão corretas. C As afirmativas II e III estão corretas. D As afirmativas I e III estão corretas. A linguagem de programação Java possui muitos recursos e frameworks que facilitam o desenvolvimento de software. O JSF é um de seus frameworks, o qual permite o desenvolvimento de sistemas web em um tempo mais reduzido devido aos seus recursos que facilitam desde a montagem de formulários quanto ao seu vínculo com a classe Managed Bean no servidor. Com relação a uma classe Managed Bean, analise as afirmativas a seguir: I- Seguindo a arquitetura MVC, uma classe Managed Bean funciona como uma classe intermediária, ligando as camadas model e view do sistema. II- Seguindo a arquitetura MVC, uma classe Managed Bean funciona como a camada model do sistema, e nesta são implementadas as regras da aplicação e a persistência ao banco de dados. III- Sabendo-se que na classe Managed Bean são mapeados os componentes visuais, nesta classe são também instanciadas as classes do lado do servidor e ocorrem as reações de eventos gerados na view. IV- Desenvolvendo uma aplicação utilizando o framework JSF, deve-se ter em mente que uma classe Managed Bean não possui métodos getters e setters. Assinale a alternativa CORRETA: A A, Alternativa Errada As afirmativas I e II estão corretas. B As afirmativas II, III e IV estão corretas. C Somente a afirmativa I está correta. D D, Alternativa correta As afirmativas I e III estão corretas. O framework JSF possui vários componentes visuais, similares aos do HTML, no entanto, estes são relacionados com alguma classe Managed Bean da aplicação. Para alterar ou ainda melhorar o layout dos componentes utilizados em formulários de aplicações JSF, é possível importar bibliotecas para dentro do projeto. Com relação aos componentes do JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Através da importação de bibliotecas visuais de terceiros, não é mais necessária a utilização de CSS e bootstrap. ( ) Uma das bibliotecas visuais que podem ser importadas para dentro de um projeto JSF é o Prime Faces. ( ) Para utilizar o Prime Faces dentro de uma página XHTML, deve-se utilizar no início da página: xmlns:p="http://primefaces.org/ui". ( ) Para utilizar o componente calendário do Prime Faces, basta utilizar: "" e mais os seus respectivos atributos. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - V - V - V. B B, Alternativa correta V - V - V - F. C F - V - V - F. D V - F - F - V. A Java Persistence API, diferente do que muitos imaginam, não é apenas um framework para Mapeamento Objeto- Relacional (ORM - Object-Relational Mapping), ela também oferece diversas funcionalidades essenciais, em qualquer aplicação corporativa. Sobre a Java Persistence API, assinale a alternativa CORRETA: A A, Alternativa Errada O mapeamento objeto relacional está associado às relações entre objetos distintos na aplicação Java. B O mapeamento objeto relacional é algo simples de ser resolvido, pois a representação de dados do objeto é idêntica às tabelas de um sistema de banco de dados, como o MySQL. C Foi projetada para atender ao grande mercado de banco de dados não relacionais, que são dominantes no momento. D D, Alternativa correta A linguagem de programação Java possui uma API projetada unicamente para se trabalhar com bancos de dados relacionais, conhecida como JDBC. 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á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: A A, Alternativa Errada F - F - V - F. B B, Alternativa correta V - F - F - V. C V - V - V - F. D F - F - F - V. O JEE (Java Enterprise Edition) é uma plataforma Java voltada para o desenvolvimento específico das redes internet, intranet e afins. Foi criada para suportar um grande número de acessos simultâneos e dispõe de diversas tecnologias desenvolvidas para garantir performance e escalabilidade. A tecnologia EJB fornece boa parte dos serviços da plataforma Java JEE e é responsável por implementar as regras de negócio. Acerca da tecnologia EJB para aplicações baseadas no JEE, analise as sentenças a seguir: I. A arquitetura EJB oferece suporte à execução de transações. II. Aplicações EJB permitem acesso remoto através de distintos protocolos de comunicação. III. A arquitetura EJB permite acesso concorrente, porém de maneira controlada. IV. Objetos de aplicações EJB não possuem mecanismos de injeção de dependências e controle de ciclo de vida. É correto o que se afirma em:, A A, Alternativa Errada I, III e IV, apenas. B I, II, III e IV. C I e IV, apenas. D D, Alternativa correta I, II e III, apenas. E II, III e IV, apenas. Com base em nossos estudos, analise a figura a seguir: Com relação ao que a camada WebTier representa, assinale a alternativa CORRETA: A A, Alternativa Errada Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. B Representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. C Representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. D D, Alternativa correta Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). A linguagem de programação Java possui diversos recursos e frameworks de desenvolvimento de aplicações, as quais podem ser desktop, web, aplicativo para smartphone ou até serviços. Neste contexto, a instância dos stateless session beans são administradas pelos EJB container, dentro do servidor de aplicação. Com relação ao stateless session bean, assinale a alternativa CORRETA: A A, Alternativa Errada Quando definida a anotação @PostConstruct em um método de um objeto stateless session bean, a implementação deste é executada quando o objeto é eliminado da memória. B As configurações para melhorar a eficiência das chamadas dos stateless session beans são as mesmas para todos os servidores de aplicação. C C, Alternativa correta As características do stateless session bean favorecem na escalabilidade da aplicação. D O ciclo de vida de um Statelessser acessadas remotamente, através de diversos protocolos de comunicação. Consequentemente, é possível desenvolver aplicações clientes de diversos tipos. Por exemplo, aplicações EJB podem ser acessadas como Web Services. D Suporte para realizar autenticação e autorização de forma transparente. Os desenvolvedores das aplicações não precisam implementar a lógica de segurança, pois ela faz parte da arquitetura JEE. A plataforma JEE é projetada para suportar alguns tipos de aplicações.Sobre essas aplicações, assinale a alternativa CORRETA: A Nenhum grau de complexidade. B Elevado grau de complexidade. C Médio grau de complexidade. D Baixo grau de complexidade. 7 8 13/04/25, 16:13 Avaliação I - Individual about:blank 4/6 Com base em nossos estudos, analise a figura a seguir: Com relação ao que a camada WebTier representa, assinale a alternativa CORRETA: A Representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. B Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. C Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). D Representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. Sobre Componentes JEE podemos dizer que as aplicações JEE são feitas de componentes. Estes componentes são unidades encapsuladas de software funcionais que fazem parte das aplicações. Cada componente possui suas próprias classes e arquivos e se comunica com outros componentes.Com relação à especificação JEE, assinale a alternativa INCORRETA: A InputText que permite a autenticação de validadores personalizados para os componentes, colocando-os dentro do panelGroup. B Aplicação cliente e applets que executam no cliente. C Servlets, Java Server Faces e Java Server Pages como componentes que executam no servidor. D Enterprise Java Beans, como componentes de negócio que executam no servidor. 9 10 13/04/25, 16:13 Avaliação I - Individual about:blank 5/6 Imprimir 13/04/25, 16:13 Avaliação I - Individual about:blank 6/6 Prova Impressa GABARITO | Avaliação II - Individual (Cod.:1022984) Peso da Avaliação 2,00 Prova 95971093 Qtd. de Questões 10 Acertos/Erros 8/2 Nota 8,00 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. ( ) Em 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. ( ) Em um componente Datatable é permitido criar apenas uma coluna, sendo esta a limitação deste componente para renderizar tabelas.Assinale a alternativa que apresenta a sequência CORRETA: A V - F - F - V. B V - F - V - F. C F - V - F - V. D F - V - V - F. O desenvolvimento de aplicações com a tecnologia JSF pode se tornar mais fácil e produtivo quando é necessária a implementação de formulários. Em páginas XHTML, a composição de formulários utilizam-se componentes que são similares aos componentes HTML de formulários. Neste contexto, analise as afirmativas a seguir: I- Em uma página XHTML, para o desenvolvimento de formulários JSF, é necessária a importação da biblioteca “http://java.sun.com/jsf/html”. II- Em uma página XHTML, o componente "" é equivalente ao componente " " do HTML. III- Em uma página XHTML, o componente "" é equivalente ao componente " " do HTML. IV- Em uma página XHTML, o componente "" é equivalente ao componente " " do HTML. Assinale a alternativa CORRETA: A As afirmativas I, II e IV estão corretas. B As afirmativas I e IV estão corretas. C As afirmativas II e III estão corretas. VOLTAR A+ Alterar modo de visualização 1 2 13/04/25, 16:13 Avaliação II - Individual about:blank 1/6 D As afirmativas III e IV estão corretas. 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, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Na linha 48, os dados do objeto "cor", do parâmetro, já estão inseridos no banco de dados e, com isso, se outra aplicação realizar uma consulta, estes dados serão retornados. ( ) Durante a execução da aplicação, caso ocorrer algum erro (exceção) na linha 46, todas as operações realizadas no banco de dados serão desfeitas. ( ) Caso ser retornado o valor "null" para o objeto "listaGravados", na linha 34, ocorrerá uma exceção (erro) e a operação será abortada. ( ) No método "findCor", linha 59, pode ser retornada uma lista de objetos do tipo "Cor", pois este método retorna uma consulta. Assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - F. B F - V - F - V. C V - V - F - F. 3 13/04/25, 16:13 Avaliação II - Individual about:blank 2/6 D F - V - V - F. Uma das tecnologias Java para desenvolvimento de aplicações web é o Java Server Faces (JSF), o qual se trata de um framework que utiliza a arquitetura MVC, separando a aplicação em três camadas. Esta separação da aplicação em camadas torna a aplicação mais legível, fazendo com que as classes de controle estejam separadas das classes de regras de negócio por exemplo. Com relação ao MVC em uma aplicação JSF, assinale a alternativa CORRETA: A Uma classe de serviço, na qual são implementados métodos com regras de negócio da aplicação, pertence à camada view da aplicação. B Uma classe Managed Bean pertence à camada view da aplicação, pois este tipo de classe controla formulários JSF e seus componentes. C Uma classe Managed Bean pertence à camada controller da aplicação, pois este tipo de classe controla formulários JSF e seus componentes. D Uma classe entidade, que resolve o problema do objeto relacional, e referencia a uma determinada tabela do banco de dados pertence à camada view da aplicação. A tecnologia JSF, na linguagem de programação Java, possui disponibilizadas algumas bibliotecas de componentes, e dentre eles o data table. Através dos componentes padrões de formulários, disponibilizados no framework JSF, incluindo o data table, pode ser desenvolvida praticamente qualquer tela de cadastro, de uma forma mais ágil. Neste sentido, o componente data table permite listar, em páginas XHTML, registros gravados no banco de dados ou em uma lista em memória. Com relação ao componente Data Table, do framework JSF, analise as afirmativas a seguir: I- O atributo "rows" define a quantidade de linhas a serem exibidas por página da tabela gerada. II- O atributo "paginator" define se a tabela possui paginação para os registros a serem exibidos. III- A paginação de uma tabela gerada pelo componente data table é definida manualmente. IV- Para desenvolver os eventos de uma data table, é necessárioSession Bean possui três estados definidos: em connstrução, não existe e pronto. As aplicações Java se comunicam com banco de dados, através de algumas conexões. Sobre essas conexões, assinale a alternativa CORRETA: A A, Alternativa correta JDBC. B JDCK. C JDBS. D JDAC. Java Server Faces (JSF) oferece validação de entrada, gerenciamento de eventos, e conversão de dados entre componentes e objetos de domínio. Sobre o Java Server Faces, assinale a alternativa CORRETA: A A, Alternativa Errada É responsável pelo gerenciamento dos Enterprise Java Beans. B B, Alternativa correta É o framework padrão da plataforma Java para a construção de aplicações web com JEE. Ele define e implementa um modelo de componentes visuais para WEB, utilizando uma arquitetura MVC. C Apresenta uma solução para a persistência de objetos em ambientes relacionais, usando uma estratégia de mapeamento objeto relacional. D É o serviço que permite a autenticação e autorização de um usuário específico ou de um grupo de usuários. A partir da versão 3.1, para acesso local a uma classe Stateless Session Bean, não é mais necessária a utilização de anotação @Local, bastando definir a classe apenas com a anotação @Stateless. Além disso, quando a classe é definida com a anotação @Remote, ela pode ser instanciada em diferentes AS. Com relação ao EJB, assinale a alternativa CORRETA: A A, Alternativa Errada O desenvolvedor de uma aplicação deve desenvolver regras para controlar objetos que tenham a anotação @EJB definida para eles. B B, Alternativa correta Um objeto marcado com a anotação @EJB o torna gerenciável pelo AS. C O desenvolvedor de uma aplicação deve desenvolver regras para gerenciar a vida de objetos que tenham a anotação @EJB. D Um objeto EJB é conectado com a interface de persistência da aplicação. Em aplicações desenvolvidas com o paradigma da orientação a objetos, normalmente é necessário realizar a gravação de objetos em banco de dados, apesar de que a gravação em um banco de dados orientados a objetos seria o ideal, os bancos de dados relacionais dominaram o mercado. Neste contexto, surgiram tecnologias que permitem resolver o problema de gravação de objetos em bancos de dados relacionais. Com relação ao problema objeto relacional de persistência, assinale a alternativa CORRETA: A A, Alternativa Errada O padrão DAO é uma das soluções para o problema objeto relacional, o qual, quando bem implementado, possui baixa coesão. B Tando o padrão DAO quanto o JPA utilizam o JDBC para realizar a conexão com o banco de dados, e em ambos é necessária a implementação de código SQL dentro da aplicação. C C, Alternativa correta O JPA é uma API padrão para resolver o problema do objeto relacional, sendo uma de suas vantagens não precisar implementar código SQL. D No padrão DAO é criada uma única classe, na qual são implementadas as funções de persistência, isto é, inserção, exclusão, alteração e consulta de todas as tabelas utilizadas no sistema. 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 A, Alternativa Errada JPA. B JASS. C C, Alternativa correta Stateless. D JSF. E Stateful. A representação de uma tabela de banco de dados relacional em um objeto (classe instanciada) é solucionada através de algumas técnicas e ferramentas desenvolvidas especificamente para isso. Como exemplo a este problema, a linguagem de programação Java possui o framework de desenvolvimento Hibernate, o qual trabalha com a especificação JPA. Com base no código-fonte apresentado "Classe SubGrupoRepository", classifique V para as sentenças verdadeiras e F para as falsas: ( ) O método inserir utiliza uma sequence do banco de dados para atribuir valor para o atributo "codigo" do objeto "subGrupo". ( ) No método "alterar", é enviado como parâmetro para o método "merge" do EntityManager, um objeto do tipo SubGrupo, o qual é utilizado para alterar o registro equivalente da tabela. ( ) O método "findCor", entre as linhas 49 e 50, retorna uma lista de objetos do tipo "Subgrupo". ( ) Os métodos persist, merge e find, do EntityManager, pertencem à especificação JPA do Java. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - V - V - F. B B, Alternativa correta F - V - F - V. C V - V - V - F. D V - F - F - V. O Java Enterprise Edition (JEE) inicialmente evoluiu como uma plataforma de desenvolvimento para aplicações web que focava em robustez, webservices e facilidade. Sobre o conceito de webservices, assinale a alternativa CORRETA: A A, Alternativa correta Web Service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. B Web Service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível realizar a integração utilizando arquivos no formato .CSV e .TXT C Utilizando a tecnologia WebService, uma aplicação não pode invocar outra para efetuar tarefas simples ou complexas, mesmo que as duas aplicações estejam em diferentes sistemas e escritas em linguagens diferentes. D Web Service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível realizar a integração utilizando arquivos no formato .TXT e .XML. 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, caso não houve uma pré-configuração do Eclipse. II- A importação de bibliotecas dos componentes visuais é realizada incluindo os comandos no início da página XHTML. 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 WebContent do projeto. É correto o que se afirma em: A A, Alternativa correta As afirmativas I, II e IV estão corretas. B Somente a afirmativa IV está correta. C As afirmativas I e III estão corretas. D Somente a afirmativa II está correta. E As afirmativas II e III estão corretas. 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: A A, AlternativaErrada V - V - V - F. B V - V - F - F. C F - F - F - V. D D, Alternativa correta F - V - V - F. A linguagem de programação Java possui vários frameworks que facilitam o desenvolvimento de software, reduzindo a dificuldade do desenvolvimento e tornando o código-fonte mais coeso e legível. O JSF utiliza páginas XHTML para desenvolvimento de formulários, implementados com seus componentes, similares aos do HTML. Com relação aos componentes de formulários de entrada de texto do JSF, assinale a alternativa CORRETA que apresenta sua declaração: A A, Alternativa correta "" e "". B "" e "". C "" e "". D "" e "". 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: A A, Alternativa Errada Somente a afirmativa II está correta. B As afirmativas I e IV estão corretas. C As afirmativas I e II estão corretas. D D, Alternativa correta As afirmativas II e IV estão corretas. O JSF permite a utilização de AJAX com métodos no managed bean para alguns eventos. Sobre esses eventos, assinale a alternativa CORRETA: A A, Alternativa Errada Formulários: change, focus e blur. Monitor: keydown, keyup e keypress. Mouse: click, mousedown, mouseup, mouseover, mouseout e mousemove. B Catálago: change, focus e blur. Teclado: keydown, keyup e keypress. Mouse: click, mousedown, mouseup, mouseover, mouseout e mousemove. C C, Alternativa correta Formulários: change, focus e blur. Teclado: keydown, keyup e keypress. Mouse: click, mousedown, mouseup, mouseover, mouseout e mousemove. D Catálago: change, focus e blur. Monitor: keydown, keyup e keypress. Mouse: click, mousedown, mouseup, mouseover, mouseout e mousemove. Conforme Evans et al. (2011), o modelo de aplicação do JEE começa com a linguagem de programação Java e a Java Virtual Machine. A já conhecida e comprovada portabilidade, segurança e produtividade no desenvolvimento que ela oferece, formam a base deste modelo. Inicialmente, é necessária a compreensão do conceito de tier (camada lógica) e de layer (camada física). Tanto a tier quanto a layer podem ser definidas como um conjunto de tecnologias, que representa um conceito que faz parte da aplicação. A tier é sempre composta por software, ou seja, é lógica. A layer é sempre composta por hardware, ou seja, é física. Sobre a Web Tier, assinale a alternativa CORRETA: FONTE: EVANS, I. et al. The Java EE 6 Tutorial: Basic Concepts. 4. ed. Boston: Addison Wesley, 2011. A A, Alternativa Errada Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. Em termos de layer, ainda estamos no JEEServer. B Representa a camada definida com duas tecnologias: a aplicação cliente, normalmente uma aplicação desktop desenvolvida com Swing ou JavaFX, e as páginas web, acessadas através de um navegador. Ambas as tecnologias estão no layer representado pela máquina do usuário, ou seja, o computador em que ele acessa a aplicação. C Representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. Esta fonte de dados também pode ser alguma aplicação legada já existente no ambiente corporativo. Agora estamos na layer Database Server. D D, Alternativa correta Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). Em alguns casos, essa camada é dispensável. As aplicações clientes acessam a lógica de negócio diretamente, sem esse intermédio. Essa camada poderia ainda ser representada por tecnologias como Servlets e Java Server Pages, que não fazem parte do escopo deste caderno. Se considerarmos a layer, esta parte fica alocada no JEEServer. 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. Referente ao JPA, analise as sentenças a seguir: I. JPA é uma api da plataforma Java para tratar a persistência do estado de objetos nos bancos de dados relacionais. II. O JPA não permite a persistência de tabelas de bancos de dados relacionais. III. O JPA não tem como princípio básico a simplicidade para comunicação com bancos de dados relacionais. IV. 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 CORRETA: A A, Alternativa Errada Somente a sentença III está correta. B B, Alternativa correta Somente a sentença I está correta. C As sentenças II e III estão corretas. D As sentenças I e III estão corretas. E As sentenças I e II estão corretas. O NetBeans é uma IDE (Integrated Development Environment) pertencente à Oracle e foi projetada para o desenvolvimento ágil em várias plataformas: desktop, web e mobile, facilitando o desenvolvimento em Java, HTML5, JavaScript e CSS. Além disso, existem ferramentas acopladas que permitem o desenvolvimento em PHP e em C, sendo uma ferramenta ofertada gratuitamente e de código aberto. Com relação ao NetBeans, analise as sentenças a seguir: I- O Netbeans possui suporte para a criação de aplicações web em Java, além de suporte a outras linguagens de programação. II- Através do NetBeans não é possível trabalhar com tecnologias web da plataforma Java. III- Com o NetBeans é possível realizar a integração entre o MySQL e o servidor de aplicação Glassfish. IV- O usuário do NetBeans atua de forma mais intensa nas atividades relacionadas ao levantamento de requisitos, bem como com as atividades relacionadas ao teste unitário de módulos do sistema. É correto o que se afirma em: A A, Alternativa correta I e III, apenas. B I, III e IV, apenas. C II e III, apenas. D II, III e IV, apenas. E I, II, III e IV. 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â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 A, Alternativa Errada V - V - V - F. B B, Alternativa correta V - F - V - V. C V - F - F - V. D F - V - V - V. Uma das soluções mais aplicadas para o problema do mapeamento objeto relacional é a utilização do padrão de projeto, conhecido como DAO (data access object). Esse padrão consiste em implementar uma camada para fazer o mapeamento entre os objetos e as tabelas do banco de dados. Essa camada pode conter diversas classes e ser construída de forma manual ou, até mesmo, através da utilização de frameworks para automatizar o processo. Sobre o conceito de DAO, assinale a alternativa CORRETA: A A, Alternativa Errada A função primordial do DAO é apenas fazer a tradução de registros em objetos. B Sua função primordial é dar suporte ao componente Table utilizado para criação de telas de informações. C A função primordial do DAO é fazer a tradução de objetos em registros, e de registros em arquivos. D D, Alternativa correta Quando a implementação é bem feita, algumas vantagens adicionais podem ser obtidas, como: abstração, persistência e coesão. A linguagem de programação Java possui muitos recursos para o desenvolvimento de aplicações robustas. Neste sentido, as aplicações desenvolvidas com 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 A, Alternativa Errada Suporte a remotabilidade, o qual permite a funcionalidade de autenticação e autorização. B Suporte a transações, as quais não podem ser distribuídas. C Persistência, permite realizar gravação de dados em uma tabela somente através do padrão DAO. D D, Alternativa correta Multithreading e concorrência, o que permite vários usuários simultâneos e concorrência controlada pelo AS. Nos últimos anos, vimos um interesse crescente em sistemas de gerenciamento de bancos dados que diferem do modelo relacional tradicional. No centro disso está o conceito de NoSQL, um termo usado coletivamente para denotar software de banco de dados que não usa SQL (Structured Query Language) para interagir com o banco de dados. Um dos projetos NoSQL mais notáveis até o momento é o MongoDB, um banco de dados orientado a documentos e de software livre, que armazena dados em coleções de documentos semelhantes ao JSON. Sobre o MongoDB, assinale a alternativa INCORRETA: A A, Alternativa Errada MongoDB é um software de banco de dados orientado a documentos livre, de código aberto e multiplataforma, escrito na linguagem C++. B MongoDB foi criada com Big Data em mente. Ele suporta tanto escalonamento horizontal quanto vertical, e usando replica sets (instâncias espelhadas) e sharding (dados distribuídos), tornando-o uma opção muito interessante para grandes volumes de dados, especialmente os desestruturados. C A ideia do MongoDB é que tenhamos documentos autocontidos obtendo todas as informações que necessitamos sem que seja necessário realizarmos vários joins. Dessa forma, fazemos apenas uma consulta, e o retorno será o documento inteiro com todas as informações, resultando num ganho significativo de performance. D D, Alternativa correta O MongoDB é um banco de dados orientado a documentos, semelhante aos Bancos de dados tradicionais, que seguem o modelo relacional. 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: A A, Alternativa correta As afirmativas I, II e III estão corretas. B As afirmativas II e IV estão corretas. C Somente a afirmativa II está correta. D Somente a afirmativa I está correta. A plataforma JEE é projetada para suportar aplicações que possuem elevado grau de complexidade, acessando dados das mais variadas fontes e atendendo a um grande número de clientes e requisições. Sua arquitetura facilita o gerenciamento da escalabilidade, pré-requisito para ambientes corporativos de alto desempenho. Sobre as duas partes que essa arquitetura divide o trabalho, assinale a alternativa CORRETA: A A, Alternativa correta Lógica de negócio, apresentação e serviços-padrão. B Apresentação e Desenvolvimento. C Desenvolvimento e Interface. D Serviços-padrão e Desenvolvimento. Client Tier representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. Sobre o motivo pelo qual a Swing e o JavaFX são tecnologias definidas pela Oracle, assinale a alternativa CORRETA: A A, Alternativa Errada Para construção de aplicativos na plataforma IOS. B Para criação de múltiplas conexões de Banco de dados. C C, Alternativa correta Para a criação de interfaces em aplicações Desktop. D Para utilização e manipulação de Servlets. 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: A A, Alternativa correta V - F - V - V. B V - F - F - F. C V - V - F - V. D F - V - V - V. O desenvolvimento de aplicações web, utilizando a tecnologia JSF, permite a utilização de vários componentes de interface gráfica, o que possibilita a criação de formulários mais rapidamente, sem a necessidade de implementação Javascript. Estes componentes são implementados de forma que fiquem relacionados com a respectiva classe Managed Bean. Com relação ao desenvolvimento de software utilizando a tecnologia JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Em uma página XHTML podemos utilizar vários tipos de componentes, como de entrada de texto, radio buttons e combo boxes, por exemplo. ( ) Para que uma classe seja implementada no padrão Java Bean, ela não deve ter atributos privados com seus métodos getters e setters. ( ) Para que uma aplicação JSF funcione, é necessário ter ao menos um Managed Bean. ( ) Uma classe Managed Bean funciona como receptor das requisições da tela, camada view, e as envia para a camada de negócios, isto é, camada model. Assinale a alternativa que apresentaa sequência CORRETA: A A, Alternativa correta V - F - V - V. B F - V - V - V. C V - F - F - V. D F - V - V - F. Context and Dependency Injection, ou CDI, é a especificação Java para injeção de dependência que contribui para criação de aplicações robustas, com fácil integração entre beans com comportamentos diferentes, como EJB e Managed Bean, além de trazer diversos recursos adicionais que colaboram para cumprir seu principal objetivo: baixo acoplamento com tipificação forte. Sobre o exposto, associe os itens, utilizando o código a seguir: I- Baixo acoplamento entre os objetos. II- Simplificação no código da aplicação. III- Testabilidade. IV- Flexibilidade no gerenciamento do ciclo de vida dos objetos. ( ) Com a injeção de dependência, os objetos da aplicação são liberados da tarefa de trazer suas próprias dependências (redução de código para inicialização e configuração de dependências); eles ficam livres para executar apenas suas regras negociais, pois sabem que as suas dependências estarão lá, quando necessárias. ( ) Objetos podem ser colocados em um cache, serem um singleton ou ter uma vida curta (tudo passa a ser controlado por meio de configurações ou pelo container). ( ) O objeto conhece suas dependências apenas por sua interface pública (não por sua implementação, nem por como foram instanciadas). Assim, a dependência pode ser trocada por uma implementação diferente, sem que o objeto dependente conheça a diferença. ( ) Se as dependências podem ser injetadas em um componente, torna-se possível injetar implementações mocks dessas dependências. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada I - III - IV - II. B IV - III - I - II. C C, Alternativa correta II - IV - I - III. D IV - I - II - III. No EJB, quando se utiliza objetos do tipo stateful session bean, é alocado espaço da memória para armazenar as informações do cliente, sendo reservada memória para cada cliente que solicita uma instância do bean. Esta alocação da memória existe apenas enquanto for removida pelo cliente ou por time-out. Com relação ao uso do stateful session bean, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Statefull session beans ociosos podem ser transferidos para a memória secundária. ( ) Um cliente que recebe por injeção ou recupera por lookup um statefull session bean, o EJB Container reutiliza uma instância da memória para atender ao cliente. ( ) Caso um objeto transferido para a memória secundária for requisitado pelo cliente, ele é transferido para e memória principal novamente. ( ) A instância de um stateful session bean, cujo cliente já finalizou a compra, permanece na memória secundária para ser reutilizado para um próximo cliente. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - V - V - F. B V - V - V - F. C C, Alternativa correta V - F - V - F. D V - F - F - V. O JSF possui suporte nativo à AJAX, desde a versão 2.0, o que facilita mais uma vez o trabalho dos desenvolvedores. Sobre os eventos que o JSF permite a utilização de AJAX com métodos no managed bean, assinale a alternativa CORRETA: A A, Alternativa correta Formulários, teclado e mouse. B Formulários, tabela e mouse. C Formulários, tabelas, teclado e mouse. D Tabelas, teclado e mouse. 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 e fácil 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 até o cliente fechar o navegador. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa correta V - V - V - F. B F - V - V - F. C V - F - F - V. D F - V - V - V. Uma das soluções mais aplicadas para o problema do mapeamento objeto relacional é a utilização do padrão de projeto conhecido como DAO (data access object). Essencialmente, o que o DAO propõe é a criação de um conjunto de classes em que cada classe representa um conceito de objeto mapeado para uma ou mais tabelas do banco de dados. Em geral, cada DAO possui operações que permitem a criação, leitura, atualização e busca de registros no banco de dados. A função primordial do DAO é fazer a tradução de objetos em registros e de registros em objetos. Quando a implementação é bem feita, algumas vantagens adicionais podem ser obtidas. Sobre essas vantagens, assinale a alternativa INCORRETA: A A, Alternativa Errada Coesão: uma camada DAO bem implementada concentra TODAS as funções de persistência e configuração de banco, facilitando alterações futuras. B B, Alternativa correta Disponibilização de uma biblioteca DAO: com componentes visuais básicos análogos aos componentes HTML. C Troca de mecanismo de persistência: caso o mecanismo de persistência deva ser trocado, basta trocar o DAO e todo o resto poderia continuar funcionando perfeitamente. D Abstração completa do mecanismo de persistência: a aplicação em si não precisa conhecer absolutamente nada sobre o mecanismo de persistência, bastando conhecer somente a interface externa do DAO. 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: A A, Alternativa Errada F - V - F - V. B B, Alternativa correta V - V - V - F. C F - V - V - V. D V - F - V - V. São os principais serviços disponibilizados pelas tecnologias envolvidas na plataforma K19. Sobre o exposto, assinale a alternativa CORRETA: A A, Alternativa Errada Transações, Insegurança, Remotabilidade, Multithreading e Concorrência, Persistência, Gerenciamento de Objetos e Integração. B Transações, Segurança, Remotabilidade, Multithreading e Concorrência, Persistência, Governança de Objetos e Integração. C Transações, Segurança, Remotabilidade, Multithreading e Concorrência, Insistência, Gerenciamento de Objetos e Integração. D D, Alternativa correta Transações, Segurança, Remotabilidade, Multithreading e Concorrência, Persistência, Gerenciamento de Objetos e Integração. Um dos componentes mais utilizados em interfaces web com JSF é o DataTable. Sua função consiste em receber uma listagem de objetos, consumindo-a e montando um grid de dados, a partir do qual é possível editar ou mesmo remover objetos da listagem. Sobre a criação de um objeto, a partir de uma classeCliente, que pode ser usado para compor uma DataTable, assinale a alternativa CORRETA: A A, Alternativa correta List clientes = new ArrayList( ). B Cliente clientes = new Cliente(). C List clientes = new Cliente(). D Clientes clientes = new Clientes(). Um dos componentes mais utilizados em interfaces web com JSF (Java Server Faces) é o DataTable. Sobre esse componente tão produtivo utilizado no desenvolvimento de sistemas, assinale a alternativa CORRETA: A A, Alternativa Errada Sua função consiste em receber uma listagem de procedimentos, consumindo-a e montando um grid, de dados, a partir do qual é possível inserir e editar objetos da listagem. B Sua função consiste em receber uma listagem de funções, consumindo-a e montando um grid, de dados, a partir do qual é possível também enviar o conteúdo para um webservice. C O número de colunas não é determinado pelos número de componentes que é colocado dentro da DataTable. D D, Alternativa correta Sua função consiste em receber uma listagem de objetos, consumindo-a e montando um grid, de dados, a partir do qual é possível editar ou mesmo remover objetos da listagem. 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 classe possui seu ciclo de vida controlado pelo EJB Container, no servidor de aplicação. Neste contexto, o Stateful Session Bean 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 uma requisiçã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: A A, Alternativa Errada As sentenças I, III e IV estão corretas. B As sentenças I e IV estão corretas. C C, Alternativa correta As sentenças II e III estão corretas. D As sentenças I e III estão corretas. A plataforma Java EE (Java Platform Enterprise Edition) é um padrão amplamente adotado no desenvolvimento de softwares corporativos, pois oferece uma solução robusta, portável, escalável e que atende demandas de acesso, transações, segurança e outras necessidades que uma aplicação de grande porte possa ter. Para podermos desenvolver, implantar e testar aplicações que utilizem as tecnologias que fazem parte da especificação JEE, precisamos de um servidor de aplicação – application server (AS). Sobre o nome de um servidor de aplicação homologado mais tradicional certificado para Java, assinale a alternativa CORRETA: A A, Alternativa correta WildFly. B Microsoft Azure. C Internet Information Server. D WampServer. A arquitetura EJB possui muitos recursos disponíveis que facilitam a programação de sistemas. Dentre suas vantagens, pode ser citado o recurso pronto e automático para autenticação e autorização, o qual não precisa ser implementado pelo desenvolvedor. Além disso, classes podem ser implementadas no padrão Stateful Session Beans quando se precisa manter o estado conversacional. Sobre o Stateful Session Bean, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O Stateful Session Bean é mantido para as requisições de um mesmo cliente. ( ) Um objeto Stateful Session Bean pode atender a somente uma requisição. ( ) Se um Stateful Session Bean mantem como estado uma lista de produtos por exemplo, esta lista precisa ser mantida entre as camadas dos métodos da classe. ( ) Um Stateful Session Bean não pode ser configurado para designá-lo como sendo local ou remoto, pois o mesmo é configurado automaticamente pelo AS. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - F - F - V. B V - F - V - F. C F - V - F - F. D D, Alternativa correta V - V - V - F. O Java Server Faces (JSF) utiliza um arquivo no formato XHTML para descrever a interface de uma 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 dos 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 implementarmos "" estamos associando um campo de texto a um atributo de um objeto de um Managed Bean (MB). ( ) Em arquivos XHTML não é possível utilizar tags HTML. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa correta F - V - F. B V - F - F. C V - V - V. D F - F - V. 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, Alternativa correta A interface Serializable indica que uma instância da classe pode ser convertida para um array de bytes (serializada). B A interface Serializable indica que os métodos de uma classe podem ser acessados de outra classe diretamente, sem ter de instanciá-la. C A interface Serializable indica que os atributos de uma classe podem ser acessados de outra classe diretamente, sem ter de instanciá-la. 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. Segundo o conceito de tier e de layer, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Conjunto de tecnologias que representa um conceito que faz parte da aplicação. ( ) A tier é sempre composta por software, ou seja, é lógica. ( ) A layer é sempre composta por hardware, ou seja, é física. ( ) Continuamente moldadas através do feedback fornecido pelo Java Community Process (JCP). Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada V - V - F - F. B B, Alternativa correta V - V - V - F. C F - F - F - V. D F - F - V - V. Serve para a implementação das regras de negócio que não necessitam de estado conversacional. Sobre o exposto, assinale a alternativa CORRETA: A A, Alternativa Errada Netbeans. B Stateless. C C, Alternativa correta Stateless session beans. D Session. O Java Server Faces (JSF) é o framework padrão da plataforma Java para a construção de aplicações web com JEE. Ele define e implementa um modelo de componentes visuais para WEB, utilizando uma arquitetura. Sobre essa arquitetura, assinale a alternativa CORRETA: A A, Alternativa correta Arquitetura MVC (modelview-controller). B Arquitetura HTTP. C Arquitetura de Controle. D Arquitetura SOAP. A grande premissa por trás do JEE (Java Enterprise Edition) é que o desenvolvedor pode confiar na plataforma para facilitar a implementação destes serviços-padrão, normalmente representados por requisitos NÃO funcionais. Sobre o conceito de requisitos NÃO funcionais, assinale a alternativa INCORRETA: A A, Alternativa Errada Um Requisito Não-Funcional é um Requisito de Software. B Requisitos não funcionais são os requisitos relacionados ao uso da aplicação em termos de desempenho, usabilidade, confiabilidade,segurança, disponibilidade, manutenção e tecnologias envolvidas. C Como o próprio nome diz, é uma “não funcionalidade”, ou seja, trata-se de algo que não é uma funcionalidade, mas que precisa ser realizado para que o software atenda seu propósito. D D, Alternativa correta Em engenharia de software, um requisito não funcional define uma função de um sistema de software ou seu componente. O requisito não funcional representa o que o software faz, em termos de tarefas e serviços. JSF (Java Server faces) é um framework que facilita e agiliza a elaboração de interfaces para sistemas web. Uma das principais características do JSF é que ele separa a lógica das regras de negócio e a navegação das conexões com serviços externos. Tem como ponto forte a possibilidade de um grande número de componentes e apresenta um design bastante flexível. Com relação ao JSF, analise as sentenças a seguir: I- O framework JSF funciona de acordo com o padrão MVC. II- No JSF, o Managed Bean faz o papel de controlador entre a interface gráfica e a entidade. III- O JSF não pode ser utilizado para o gerenciamento de eventos e a conversão de dados no servidor. IV- DataTable é um componente que faz a interface do JSF com a web. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças I, II e III estão corretas. B As sentenças II, III e IV estão corretas. C As sentenças I, III e IV estão corretas. D D, Alternativa correta As sentenças I, II e IV estão corretas. 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. Essa empresa utiliza o padrão de arquitetura MVC em seus softwares, o que reduz o trabalho de 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 regras de negócio. Com base na arquitetura MVC apresentada na figura, analise as sentenças 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 A, Alternativa Errada I e IV, apenas. B I, apenas. C I, III e IV. D D, Alternativa correta II e III, apenas Java Message Service, ou JMS, é uma API da linguagem Java para middleware orientado a mensagens. Através da API JMS, duas ou mais aplicações podem se comunicar por mensagens. Sobre esse recurso, assinale a alternativa INCORRETA: A A, Alternativa Errada As aplicações JavaEE podem obter tópicos, fábricas de conexão e filas, através de injeção de dependência. B Todo sistema que desejar trocar mensagens através de filas ou tópicos deve obter uma conexão JMS através das fábricas cadastradas no MOM. C C, Alternativa correta Os tipos de mensagens possíveis na arquitetura JMS são as filas, os tópicos e as fábricas. D As fábricas de conexão, as filas e os tópicos são objetos administrados pelos provedores JMS. O JSF permite que você modifique o layout dos componentes da interface gráfica através de bibliotecas visuais de terceiros. Essas bibliotecas facilitam o trabalho de deixar a aplicação mais agradável para os usuários, pois eliminam o css e demais frameworks como o bootstrap. Existem algumas bibliotecas de terceiros que são bastante conhecidas e utilizadas em JSF. Sobre essas bibliotecas para terceiros, assinale a alternativa CORRETA: A A, Alternativa Errada ICE Faces, o Rich Faces e o Model Faces. B B, Alternativa correta ICE Faces, o Rich Faces e o Prime Faces. C ICE Faces, o Model Faces e o Prime Faces. D Model Faces, o Rich Faces e o Prime Faces. Ao utilizar uma arquitetura defnida pelo padrão EJB, alguns recusos são disponibilizados automaticamente pelo Servidor de Aplicação. Sobre esses recursos, assinale a alternativa CORRETA: A A, Alternativa Errada Transações; segurança; portabilidade; persistência; gerenciamento de telas; integração; multithreading e concorrência. B Transações; segurança; portabilidade; persistência; gerenciamento de objetos; integração; multithreading e concorrência. C Somente transações; segurança e portabilidade. D D, Alternativa correta Transações; segurança; remotabilidade; persistência; gerenciamento de objetos; integração; multithreading e concorrência. A arquitetura MVC (model-view-controller) propõe a divisão de uma aplicação em três camadas distintas, seja esta uma aplicação desktop, mobile ou web. Um dos frameworks da plataforma web que utiliza a arquitetura MVC é o Java Server Faces (JSF), exigindo assim, a existência de um elemento intermediário entre o model e a view - chamado de Managed Bean (MB). Com relação ao Managed Bean, analise as afirmativas a seguir: I. O MB é sempre uma classe serializável, com construtores privados e métodos getters e setters. II. É necessário o uso de annotations para que o MB seja visível à camada view. III. O MB é responsável por receber e tratar os eventos da camada view. IV. A anotação @RequestScoped indica que o tempo de vida do MB é marcado pela sessão do usuário. É correto o que se afirma em: A A, Alternativa correta II e III, apenas. B I, II e III, apenas. C I e II, apenas. D I, apenas. E II, III e IV, apenas. 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: A A, Alternativa Errada As afirmativas I e II estão corretas. B As afirmativas I e IV estão corretas. C C, Alternativa correta As afirmativas II e III estão corretas. D Somente a afirmativa II está correta. Java Persistence API (JPA): apresenta uma solução para a persistência de objetos em ambientes relacionais, usando uma estratégia de mapeamento objeto relacional. Sobre os conceitos e interfaces do JPA, analise as sentenças a seguir: I- O JTA exige a existência de duas anotações na classe que utilizará o GeneratedValue. II- O conceito de Convention Over Configuration (Coc) permite que se trabalhe com uma configuração mínima, pois o resto é convenção e o JPA assume valores default. III-O Gerenciador de persistência (EntityManager) representa a interface implementada pelo provedor JPA que disponibiliza métodos para realizar as operações de persistência. IV- A Unidade de Persistência (Persistency Unit) mostra o arquivo que apresenta um conjunto de configurações utilizadas pelo JPA para se conectar com o banco de dados, como login, senha, e url de conexão. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças I, II e III estão corretas.B B, Alternativa correta As sentenças II, III e IV estão corretas. C As sentenças I, III e IV estão corretas. D Somente a sentença I está correta. Java é uma plataforma computacional dotada de tecnologias desenvolvidas especificamente para facilitar a criação de aplicativos para redes de computadores. Sobre esta plataforma, analise as sentenças a seguir: I- Java é uma linguagem da plataforma Java e é um exemplo de linguagem de programação orientada a objetos. II- EJB (Enterprise JavaBeans) não é uma das APIs JEE. III- O CDI (context and dependency injection) utiliza a injeção de dependência como forma de tratar a interação da interface com a regra de negócio. IV- Os singleton session beans são um terceiro tipo de session bean. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças II e IV estão corretas. B B, Alternativa correta As sentenças I, III e IV estão corretas. C As sentenças II, III e IV estão corretas. D As sentenças I, II e IV estão corretas. E As sentenças I, II e III estão corretas. 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 A, Alternativa Errada JSF. B B, Alternativa correta Stateless. C JPA. D Stateful. E JASS. Um dos grandes problemas do paradigma da Orientação a Objetos é o mapeamento de seus objetos e como estes serão dispostos no banco de dados. Esta situação é conhecida como ”mapeamento objeto relacional”. Para resolver o problema, a tecnologia Java liberou a especificação JPA (Java Persistence API) para gerenciamento de persistência. Esta especificação define um padrão para o mapeamento entre objetos Java e bancos de dados. Seu conceito principal é o de entidade. Uma entidade corresponde a um objeto que pode ser gravado na base de dados através de um mecanismo de persistência proposto pelo JPA. Com relação ao JPA, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Unidade de Persistência e Gerenciamento de Persistência são dois conceitos associados à especificação JPA. ( ) No que se refere ao mapeamento de entidades, é recomendado que a classe sempre tenha uma tabela associada. Caso a tabela não exista, o JPA se encarrega de criá-la, de acordo com a especificação mapeada para a classe. ( ) A simplicidade não é uma característica básica do JPA. ( ) O JPA não tem nenhum tipo de responsabilidade com relação ao mapeamento objeto relacional após concluir a criação das tabelas na base de dados. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - F - F - V. B V - F - F - F. C C, Alternativa correta V - V - F - F. D V - F - V - F. Ao se utilizar a arquitetura EJB no desenvolvimento de software, alguns recursos são disponibilizados automaticamente, como por exemplo transações, segurança e remotabilidade. Um Bean não precisa de estados, e pode ter apenas métodos e regras de negócio. Com relação ao código-fonte sendo apresentado, assinale a alternativa CORRETA: A A, Alternativa correta O código-fonte apresentado se refere a um Bean, o qual possui métodos de negócio. B A anotação "@Stateless" especifica que a classe é um EJB que implementa métodos de negócios da classe "Carro". C A anotação"@Local" especifica a não manutenção do estado conversacional. D O código-fonte apresentado se refere a um Bean, o qual possui métodos de negócio e atributos. 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 A, Alternativa Errada V - V - F - F. B B, Alternativa correta V - V - F - V. C F - F - F - V. D V - F - F - F. No desenvolvimento de software, o padrão de arquitetura MVC pode ser descrito como a divisão da arquitetura de um software em três camadas, sendo que cada uma destas camadas possui suas próprias responsabilidades. O JSF utiliza este padrão de arquitetura, tornando o código-fonte dos softwares desenvolvidos com este framework mais legível. Neste sentido, um sistema desenvolvido seguindo este padrão possui a vantagem de tornar mais reduzido o trabalho de manutenção. Na figura anexa, apresentam-se as três camadas do MVC, as quais são fundamentais para a arquitetura de um sistema que utiliza este padrão de arquitetura. Sobre as três camadas apresentadas, assinale a alternativa CORRETA: A A, Alternativa correta Na camada Controller estão as classes que realizam a intermediação entre as camadas View e Model. B A camada View pode ser exemplificada através de classes controladoras de um sistema, as quais intermedeiam as outras duas camadas. C Telas de cadastro e classes controladoras pertencem à camada View. D Telas de cadastro de um determinado sistema pertencem à camada Model. Entre os diversos modelos de banco de dados existentes, o modelo relacional é ainda o que detém a preferência dos programadores. Contudo, há uma forte tendência de crescimento na utilização dos modelos Orientados a Documentos, como, por exemplo, o MongoDB. Com relação ao MongoDB, analise as sentenças a seguir: I- O MongoDB permite consultas simples, pois é um Banco NoSQL baseado em documento e não possui transações e joins, como os bancos relacionais. II- O MongoDB permite a divisão dos dados em várias máquinas liberando espaço em servidores que estão no limite do armazenamento. III- O MongoDB permite armazenar arquivos no banco de dados, igualmente como ocorre nos modelos de banco de dados relacionais. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças II e III estão corretas. B Somente a sentença I está correta. C Somente a sentença III está correta. D D, Alternativa correta As sentenças I e II estão corretas. E As sentenças I e III estão corretas. O framework web JSF é embasado em interface gráfica para desenvolvimento, capaz de renderizar os componentes e manipular seus eventos em aplicações web no padrão Java EE. Neste sentido, os componentes do JSF são orientados a eventos, e formulários com estes componentes são desenvolvidos em páginas XHTML. Com relação a uma página XHTML, do JSF, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma página XHTML, ao ser acessada por um navegador de internet de um cliente, receberá os componentes renderizados em HTML. ( ) Uma página XHTML, a qual possui um formulário desenvolvido com os componentes JSF, não pode ter eventos Ajax, pois o mesmo não funciona neste tipo de formulário. ( ) Uma página XHTML, a qual possui um formulário desenvolvido com os componentes JSF, pode ter a validação dos campos implementada dentro do formulário. ( ) Uma página XHTML, ao ser criada no ambiente de desenvolvimento Eclipse, se configurado corretamente, automaticamente será realizada a importação da biblioteca dos componentes visuais do JSF. Assinale a alternativa que apresenta a sequência CORRETA: A A, Alternativa Errada F - V - V - F. B V - F - F - V. C F - V - V - V.D D, Alternativa correta V - F - V - V. 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 A, Alternativa Errada As anotações @PostConstruct e @PreDestroy não estão disponíveis no Stateful Session Bean, pois já existe a anotação @Prepassivate. B B, Alternativa correta O Stateful Session Bean pode ser utilizado para manter um carrinho de compras de um cliente. C O Stateless Session Bean pode ser utilizado para manter um carrinho de compras de um cliente. D 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. O Java Server Faces (JSF) é o framework padrão da plataforma Java para a construção de aplicações web com JEE. Ele define e implementa um modelo de componentes visuais para WEB, utilizando uma arquitetura MVC (model, view, controller). Sobre Enterprise Information Server (EIS), assinale a alternativa CORRETA: A A, Alternativa Errada É a camada que liga a interface gráfica com a lógica de negócio. B É a camada acessada pelo usuário (interface gráfica), como telas de uma aplicação desktop ou página web acessada por um navegador. C É lógica de negócios (EJB). D D, Alternativa correta É a fonte de dados que a camada Business Tier acessa. 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 A, Alternativa correta O padrão DAO é uma das soluções utilizadas para resolver o mapeamento objeto relacional. B Um software orientado a objetos deve ser desenvolvido para utilizar apenas banco de dados orientado a objetos ou a documentos. C O JPA (Java Persistence API) serve para conectar uma aplicação Java a um banco de dados orientado a objetos. D 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. 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 "", 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 "". Assinale a alternativa CORRETA: A A, Alternativa correta As afirmativas I, II e III estão corretas. B As afirmativas II e IV estão corretas. C As afirmativas I, III estão corretas. D Somente a afirmativa II está correta. O JSF é uma tecnologia da linguagem de programação Java que facilita o trabalho dos desenvolvedores, pois permite a criação de uma página de cadastro mais rapidamente, não necessita de programação Javascript e CSS, sendo que este último pode ser utilizado para deixar o layout conforme desejado, mas não é obrigatório. Além disso, o JSF permite a utilização da tecnologia Ajax. Com relação à tecnologia Ajax utilizada em formulários JSF, analise as afirmativas a seguir: I- O ajax realiza requisições assíncronas. II- Uma requisição ajax faz com que o usuário tenha que aguardar seu retorno para continuar utilizando a página. III- Para aplicar um evento ajax em um componente, um dos atributos que devem ser ajustados é o "event". IV- Para que uma requisição ajax seja disparada quando alterado o valor de algum componente de um formulário, deve ser implementado o atributo "event" com o valor "onexit". Assinale a alternativa CORRETA: A A, Alternativa correta As afirmativas I e III estão corretas. B As afirmativas I, II e IV estão corretas. C As afirmativas II e III estão corretas. D Somente a afirmativa II está correta. O Java Server Faces (JSF) é o framework padrão da plataforma Java para a construção de aplicações web com JEE. Existe uma camada dessa aplicação que é responsável pela renderização da interface gráfica da aplicação. Sobre essa camada, assinale a alternativa CORRETA: A A, Alternativa Errada Model. B B, Alternativa correta View. C Controller. D Struct. 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, possui alguns 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 são 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 tabela "Cor". 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 neste caso, um grupo pode ter vários subgrupos vinculados a ele. Com base nos requisitos das funcionalidades apresentadas, assinale a alternativa CORRETA: A A, Alternativa correta Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @OneToMany. B Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @OneToOne. C Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @ManyToMany. D Para as funcionalidades de cadastro de grupos e subgrupos, para a multiplicidade das classes entidades, deve ser utilizada a anotação @ManyToOne. Nas tecnologias de bancos de dados, um rollback significa que o banco de dados pode voltar a determinado estado anterior, evitando que um erro seja propagado e mantido no mesmo. Sobre o Java Authentication and Authorization Service (JAAS), analise as sentenças a seguir: I- É o serviço que permite a autenticação e autorização de um usuário específico ou de um grupo de usuários. II- É o componente que possue atributo e método para implementar lógica de negócios. III- Oferece uma maneira desacoplada para a definição de aspectos de segurança em uma aplicação JEE. IV- Combina características de um session bean e um ouvinte de mensagens. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças II e III estão corretas. B B, Alternativa correta As sentenças I e III estão corretas. C As sentenças I e II estão corretas. D As sentenças II e IV estão corretas. 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 A, Alternativa Errada I, II e III. B III, apenas. C I, apenas. D D, Alternativa correta II e III, apenas. 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: A A, Alternativa Errada As sentenças I, II e III estão corretas. B As sentenças I e III estão corretas. C C, Alternativa correta As sentenças II, III e IV estão corretas. D As sentenças I e IV estão corretas. O desenvolvimento de software utilizando a linguagem de programação Java possui muitos recursos que diminuem o trabalho do desenvolvedor, ou que ainda tornam a arquitetura do software mais legível para uma futura manutenção. O ciclo de vida do Stateless Session Bean, por exemplo, é administrado pelo EJB Container, dentro do servidor de aplicação, e não precisa ser controlado pelo desenvolvedor. A respeito da arquitetura EJB, analise as sentenças a seguir: I- Uma única instância de uma classe Stateless Session Bean pode atender a mais de um cliente. II- Uma única instância de uma classe Stateless Session Bean não atende a duas ou mais demandas ao mesmo tempo. III- O EJB Container cria novas instâncias de Stateless Session Bean, uma para cada cliente solicitante. IV- A anotação @PostConstruct define que o método com esta anotação seja executado após a instância da classe. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças II, III e IV estão corretas. B As sentenças I e IV estão corretas. C As sentenças I e III estão corretas. D D, Alternativa correta As sentenças I, II e IV estão corretas. O JEE (Java Enterprise Edition) é uma plataforma Java voltada para o desenvolvimento específico das redes internet, intranet e afins. Foi criada para suportar um grande número de acessos simultâneos e dispõe de diversas tecnologias desenvolvidas para garantir performance e escalabilidade. A tecnologia EJB fornece boa parte dos serviços da plataforma Java JEE e é responsável por implementar as regras de negócio. Acerca da tecnologia EJB para aplicações baseadas no JEE, analise as sentenças a seguir: I. A arquitetura EJB oferece suporte à execução de transações. II. Aplicações EJB permitem acesso remoto através de distintos protocolos de comunicação. III. A arquitetura EJB permite acesso concorrente, porém de maneira controlada. IV. Objetos de aplicações EJB não possuem mecanismos de injeção de dependências e controle de ciclo de vida. É correto o que se afirma em:, A A, Alternativa Errada I e IV, apenas. B II, III e IV, apenas. C I, II, III e IV. D I, III e IV, apenas. E E, Alternativa correta I, II e III, apenas. A linguagem de programação Java oferece a base de um modelo. Sobre essa base, assinale a alternativa CORRETA: A A, Alternativa Errada Portabilidade, Insegurança e Produtividade. B Importabilidade, Segurança e Produtividade. C Portabilidade, Segurança e Improdutividade. D D, Alternativa correta Portabilidade, Segurança e Produtividade.implementar algumas funções Javascript. Assinale a alternativa CORRETA: A Somente a afirmativa II está correta. B As afirmativas I e II estão corretas. C As afirmativas I, II e IV estão corretas. D As afirmativas II e III estão corretas. 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: Revisar Conteúdo do Livro 4 5 6 13/04/25, 16:13 Avaliação II - Individual about:blank 3/6 I- Em um campo de entrada de texto "", 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 "". Assinale a alternativa CORRETA: A As afirmativas I, III estão corretas. B As afirmativas I, II e III estão corretas. C Somente a afirmativa II está correta. D As afirmativas II e IV estão corretas. Um dos grandes problemas do paradigma da Orientação a Objetos é o mapeamento de seus objetos e como estes serão dispostos no banco de dados. Esta situação é conhecida como ”mapeamento objeto relacional”. Para resolver o problema, a tecnologia Java liberou a especificação JPA (Java Persistence API) para gerenciamento de persistência. Esta especificação define um padrão para o mapeamento entre objetos Java e bancos de dados. Seu conceito principal é o de entidade. Uma entidade corresponde a um objeto que pode ser gravado na base de dados através de um mecanismo de persistência proposto pelo JPA. Com relação ao JPA, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Unidade de Persistência e Gerenciamento de Persistência são dois conceitos associados à especificação JPA. ( ) No que se refere ao mapeamento de entidades, é recomendado que a classe sempre tenha uma tabela associada. Caso a tabela não exista, o JPA se encarrega de criá-la, de acordo com a especificação mapeada para a classe. ( ) A simplicidade não é uma característica básica do JPA. ( ) O JPA não tem nenhum tipo de responsabilidade com relação ao mapeamento objeto relacional após concluir a criação das tabelas na base de dados. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - V - F. B V - V - F - F. C V - F - F - F. D F - F - F - V. 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, 7 8 13/04/25, 16:13 Avaliação II - Individual about:blank 4/6 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, II e IV estão corretas. B Somente a afirmativa II está correta. C As afirmativas I e II estão corretas. D As afirmativas II e III estão corretas. JSF é um framework criado para agilizar a criação de interfaces para aplicações Java web, que incorpora o padrão arquitetural MVC. Além disso, o JSF disponibiliza diversos componentes prontos capazes de se comunicar com classes Java, chamadas Managed Beans. Sobre o exposto, assinale a alternativa CORRETA: A O JSF permite a utilização de AJAX com métodos no managed bean e, entre outros, pode ser citado change, focus e blur para formulário. B O atributo rows define quantas colunas serão mostradas na tela. C O JSF começou a dar suporte nativo à AJAX somente a partir da sua versão 5.0. D Uma desvantagem do JSF é que não permite uso de bibliotecas visuais de terceiros. A Java Persistence API, diferente do que muitos imaginam, não é apenas um framework para Mapeamento Objeto-Relacional (ORM - Object-Relational Mapping), ela também oferece diversas funcionalidades essenciais, em qualquer aplicação corporativa.Sobre a Java Persistence API, assinale a alternativa CORRETA: A O mapeamento objeto relacional é algo simples de ser resolvido, pois a representação de dados do objeto é idêntica às tabelas de um sistema de banco de dados, como o MySQL. B A linguagem de programação Java possui uma API projetada unicamente para se trabalhar com bancos de dados relacionais, conhecida como JDBC. C O mapeamento objeto relacional está associado às relações entre objetos distintos na aplicação Java. D Foi projetada para atender ao grande mercado de banco de dados não relacionais, que são dominantes no momento. 9 10 13/04/25, 16:13 Avaliação II - Individual about:blank 5/6 Revisar Conteúdo do Livro Imprimir 13/04/25, 16:13 Avaliação II - Individual about:blank 6/6 Algumas das tecnologias disponibilizadas pelo JEE permitem que o desenvolvedor simplesmente sinalize em seu código aspectos relacionados à segurança, remotabilidade, transações etc., e o servidor de aplicações faz todo o resto. Isto libera o desenvolvedor para fazer mais o que realmente é importante: escrever código relacionado às necessidades do usuário e a lógica do negócio. O modelo simplificado de programação do JEE faz com que os descritores de deployment em XML sejam opcionais. Ao invés disso, o desenvolvedor pode colocar uma informação diretamente no código fonte, através das annotations, e o servidor configurará o componente em tempo de execução. Essas annotations, em geral, servem para embutir no programa dados que seriam de outra forma fornecidos em um deployment descriptor. Com as annotations, você pode colocar a especificação do serviço do servidor ao lado do código que será afetado por ele. Sobre Segurança, assinale a alternativa CORRETA: A Mecanismos de injeção de dependências e controle de ciclo de vida são oferecidos aos objetos de uma aplicação JEE. O mecanismo de controle de ciclo de vida pode garantir a escalabilidade de uma aplicação. B B, Alternativa correta Suporte para realizar autenticação e autorização de forma transparente. Os desenvolvedores das aplicações não precisam implementar a lógica de segurança, pois ela faz parte da arquitetura JEE. C Aplicações JEE podem ser acessadas remotamente, através de diversos protocolos de comunicação. Consequentemente, é possível desenvolver aplicações clientes de diversos tipos. Por exemplo, aplicações EJB podem ser acessadas como Web Services. D A arquitetura JEE permite que as aplicações sejam acessadas por múltiplos usuários, simultaneamente, de maneira controlada, para evitar problemas de concorrência. Client Tier representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. Sobre o motivo pelo qual a Swing e o JavaFX são tecnologias definidas pela Oracle, assinale a alternativa CORRETA: A A, Alternativa correta Para a criação de interfaces em aplicações Desktop. B Para utilizaçãoe manipulação de Servlets. C Para construção de aplicativos na plataforma IOS. D Para criação de múltiplas conexões de Banco de dados. 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: A F - V - V - V. B V - V - F - V. C V - F - F - F. D D, Alternativa correta V - F - V - V. Um dos componentes principais da plataforma Java é o servidor de aplicação, que é um software que fornece um ambiente para a execução das aplicações. É dele a responsabilidade de encapsular internamente os serviços oferecidos pela plataforma Java. Sobre os servidores de aplicação, analise as sentenças a seguir: I. JBoss AS e sua migração para Wildfly são servidores de aplicação que seguem o modelo de arquitetura JavaEE. II. JPA é uma API padrão da linguagem Java para persistência de dados em bancos de dados relacionais, cujas configurações de acesso ao banco de dados normalmente ficam no arquivo beans.xml. III. JTA é uma API que permite ao desenvolvedor interagir com o monitor de transação, definindo o início da transação e o seu término, confirmando (commit) ou não (rollback). IV. JTA é uma API que permite o desenvolvimento da funcionalidade de transação no banco de dados com o padrão DAO. Assinale a alternativa CORRETA: A II, apenas. B II e IV, apenas. C III, apenas. D I e II, apenas. E E, Alternativa correta I e III, apenas. Em aplicações desenvolvidas com o paradigma da orientação a objetos, normalmente é necessário realizar a gravação de objetos em banco de dados, apesar de que a gravação em um banco de dados orientados a objetos seria o ideal, os bancos de dados relacionais dominaram o mercado. Neste contexto, surgiram tecnologias que permitem resolver o problema de gravação de objetos em bancos de dados relacionais. Com relação ao problema objeto relacional de persistência, assinale a alternativa CORRETA: A A, Alternativa correta O JPA é uma API padrão para resolver o problema do objeto relacional, sendo uma de suas vantagens não precisar implementar código SQL. B O padrão DAO é uma das soluções para o problema objeto relacional, o qual, quando bem implementado, possui baixa coesão. C Tando o padrão DAO quanto o JPA utilizam o JDBC para realizar a conexão com o banco de dados, e em ambos é necessária a implementação de código SQL dentro da aplicação. D No padrão DAO é criada uma única classe, na qual são implementadas as funções de persistência, isto é, inserção, exclusão, alteração e consulta de todas as tabelas utilizadas no sistema. O desenvolvimento de sistemas web exige qualidade no quesito navegabilidade, termo utilizado para descrever a facilidade proporcionada ao usuário na utilização dos campos de um formulário e navegação entre as páginas. Na maioria das linguagens de programação para web este quesito é alcançado utilizando Javascript e CSS, melhorando a aparência e a navegabilidade, porém, no JSF, não há necessidade da implementação destes recursos. No código-fonte sendo apresentado no anexo "DataTable SubGrupo", está sendo utilizada a biblioteca PrimeFaces para melhorar a aparência. Com relação ao formulário JSF apresentado, analise as afirmativas a seguir: I- No código-fonte apresentado está sendo utilizado o componente Datatable da biblioteca Primefaces. II- O componente Datatable recebe uma lista de objetos no seu atributo "value". III- Na última coluna de cada linha da tabela gerada pelo Datatable existe um botão para exclusão do registro, o qual efetua requisição ajax. IV- O atributo "headerText" de cada coluna databela refere-se ao nome de cada coluna, a qual é apresentada na primeira linha. Assinale a alternativa CORRETA: A Somente a afirmativa II está correta. B As afirmativas I e III estão corretas. C As afirmativas II e III estão corretas. D D, Alternativa correta As afirmativas I, II e IV estão corretas. Ao utilizar uma arquitetura defnida pelo padrão EJB, alguns recusos são disponibilizados automaticamente pelo Servidor de Aplicação. Sobre esses recursos, assinale a alternativa CORRETA: A Somente transações; segurança e portabilidade. B B, Alternativa Errada Transações; segurança; portabilidade; persistência; gerenciamento de objetos; integração; multithreading e concorrência. C Transações; segurança; portabilidade; persistência; gerenciamento de telas; integração; multithreading e concorrência. D D, Alternativa correta Transações; segurança; remotabilidade; persistência; gerenciamento de objetos; integração; multithreading e concorrência. Uma das soluções mais aplicadas para o problema do mapeamento objeto relacional é a utilização do padrão de projeto, conhecido como DAO (data access object). Esse padrão consiste em implementar uma camada para fazer o mapeamento entre os objetos e as tabelas do banco de dados. Essa camada pode conter diversas classes e ser construída de forma manual ou, até mesmo, através da utilização de frameworks para automatizar o processo. Sobre o conceito de DAO, assinale a alternativa CORRETA: A A função primordial do DAO é fazer a tradução de objetos em registros, e de registros em arquivos. B B, Alternativa correta Quando a implementação é bem feita, algumas vantagens adicionais podem ser obtidas, como: abstração, persistência e coesão. C Sua função primordial é dar suporte ao componente Table utilizado para criação de telas de informações. D D, Alternativa Errada A função primordial do DAO é apenas fazer a tradução de registros em objetos. A linguagem de programação Java possui muitos recursos para o desenvolvimento de aplicações robustas. Neste sentido, as aplicações desenvolvidas com 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 Suporte a remotabilidade, o qual permite a funcionalidade de autenticação e autorização. B Persistência, permite realizar gravação de dados em uma tabela somente através do padrão DAO. C C, Alternativa correta Multithreading e concorrência, o que permite vários usuários simultâneos e concorrência controlada pelo AS. D Suporte a transações, as quais não podem ser distribuídas. 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 "", 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 "". Assinale a alternativa CORRETA: A A, Alternativa correta As afirmativas I, II e III estão corretas. B Somente a afirmativa II está correta. C As afirmativas I, III estão corretas. D As afirmativas II e IV estão corretas. Conforme Evans et al. (2011), o modelo de aplicação do JEE começa com a linguagem de programação Java e a Java Virtual Machine. A já conhecida e comprovada portabilidade, segurança e produtividade no desenvolvimento que ela oferece, formam a base deste modelo. Inicialmente, é necessária a compreensão do conceito de tier (camada lógica) e de layer (camada física). Tanto a tier quanto a layer podem ser definidas como um conjunto de tecnologias que representa um conceito que faz parte da aplicação. A tier é sempre composta por software, ou seja, é lógica. A layer é sempre composta por hardware, ou seja, é física. Sobre Cliente Tier, assinale a alternativa CORRETA: FONTE: EVANS, I. et al. The Java EE 6 Tutorial: Basic Concepts. 4. ed. Boston: Addison Wesley, 2011. A A, Alternativa correta Representa a camada definida com duas tecnologias: a aplicação cliente, normalmente uma aplicação desktop desenvolvida com Swing ou JavaFX, e as páginas web, acessadas através de um navegador. Ambas as tecnologias estão no layer representado pela máquina do usuário, ou seja, o computador em que ele acessa a aplicação. B Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. Em termos de layer, ainda estamos no JEEServer. C Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). Em alguns casos, esta camada é dispensável. As aplicações clientes acessam a lógica de negócio diretamente, sem esse intermédio. Esta camada poderia ainda ser representada por tecnologias como Servlets e Java Server Pages, que não fazem parte do escopo deste caderno. Se considerarmos a layer, esta parte fica alocada no JEEServer. D Representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. Esta fonte de dados também pode ser alguma aplicação legada já existente no ambiente corporativo. Agora estamos na layer Database Server. No mundo real, dificilmente uma tabela existirá isolada das demais. Na orientação a objetos, isto não ocorre de maneira diferente. Um objeto Pessoa, por exemplo, pode estar associado a um ou mais objetos “Endereço”. Um objeto NotaFiscal pode estar associado a uma coleção de objetos do tipo Item, em que cada Item possuirá ainda uma associação a um objeto do tipo Produto. O JPA trata este tipo de situação através de anotações específicas, em que é possível determinar o tipo de associação entre os objetos. Sobre as multiplicidades, assinale a alternativa INCORRETA: A @OneToMany é a anotação que representa a multiplicidade Um para Muitos (1:M). B B, Alternativa correta Tanto a anotação @OneToOne quanto a anotação @ManyToMany representam a multiplicidade Um para Muitos (1:M). C @ManyToOne é a anotação que representa a multiplicidade Muitos para um (M:1). D @OneToOne é a anotação que representa a multiplicidade Um para um (1:1). Conforme Evans et al. (2011), o modelo de aplicação do JEE começa com a linguagem de programação Java e a Java Virtual Machine. A já conhecida e comprovada portabilidade, segurança e produtividade no desenvolvimento que ela oferece, formam a base deste modelo. Inicialmente, é necessária a compreensão do conceito de tier (camada lógica) e de layer (camada física). Tanto a tier quanto a layer podem ser definidas como um conjunto de tecnologias, que representa um conceito que faz parte da aplicação. A tier é sempre composta por software, ou seja, é lógica. A layer é sempre composta por hardware, ou seja, é física. Sobre a Web Tier, assinale a alternativa CORRETA: FONTE: EVANS, I. et al. The Java EE 6 Tutorial: Basic Concepts. 4. ed. Boston: Addison Wesley, 2011. A Representa a camada definida com duas tecnologias: a aplicação cliente, normalmente uma aplicação desktop desenvolvida com Swing ou JavaFX, e as páginas web, acessadas através de um navegador. Ambas as tecnologias estão no layer representado pela máquina do usuário, ou seja, o computador em que ele acessa a aplicação. B Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. Em termos de layer, ainda estamos no JEEServer. C C, Alternativa correta Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). Em alguns casos, essa camada é dispensável. As aplicações clientes acessam a lógica de negócio diretamente, sem esse intermédio. Essa camada poderia ainda ser representada por tecnologias como Servlets e Java Server Pages, que não fazem parte do escopo deste caderno. Se considerarmos a layer, esta parte fica alocada no JEEServer. D Representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. Esta fonte de dados também pode ser alguma aplicação legada já existente no ambiente corporativo. Agora estamos na layer Database Server. 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 Stateful. B B, Alternativa correta Singleton Session Bean. C Stateless. D Hibernate. E Web Container. 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 Somente a sentença II está correta. B B, Alternativa correta As sentenças I e II estão corretas. C As sentenças I e III estão corretas. D As sentenças II e III estão corretas. E Somente a sentença I está correta. 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 As anotações @PostConstruct e @PreDestroy não estão disponíveis no Stateful Session Bean, pois já existe a anotação @Prepassivate. B B, Alternativa correta O Stateful Session Bean pode ser utilizado para manter um carrinho de compras de um cliente. C 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. D O Stateless Session Bean pode ser utilizado para manter um carrinho de compras de um cliente.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á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: A A, Alternativa correta V - F - F - V. B F - F - F - V. C F - F - V - F. D V - V - V - F. A tecnologia JSF, na linguagem de programação Java, possui disponibilizadas algumas bibliotecas de componentes, e dentre eles o data table. Através dos componentes padrões de formulários, disponibilizados no framework JSF, incluindo o data table, pode ser desenvolvida praticamente qualquer tela de cadastro, de uma forma mais ágil. Neste sentido, o componente data table permite listar, em páginas XHTML, registros gravados no banco de dados ou em uma lista em memória. Com relação ao componente Data Table, do framework JSF, analise as afirmativas a seguir: I- O atributo "rows" define a quantidade de linhas a serem exibidas por página da tabela gerada. II- O atributo "paginator" define se a tabela possui paginação para os registros a serem exibidos. III- A paginação de uma tabela gerada pelo componente data table é definida manualmente. IV- Para desenvolver os eventos de uma data table, é necessário implementar algumas funções Javascript. Assinale a alternativa CORRETA: A As afirmativas I, II e IV estão corretas. B As afirmativas II e III estão corretas. C Somente a afirmativa II está correta. D D, Alternativa correta As afirmativas I e II estão corretas. Para o desenvolvimento de aplicações com o JEE, é necessário termos um ambiente configurado. Sobre alguns dos programas que podem ser usados para a preparação do ambiente de desenvolvimento, assinale a alternativa CORRETA: A Eclipse, Mysql e Oracle. B Windows 10, Netbeans e SQL Server. C C, Alternativa correta Wildfly, Netbeans e MySQL. D Mysql , Linux e Access. 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 B, Alternativa correta Escalabilidade. C Eficácia. D Manutenibilidade. E Eficiência. O desenvolvimento de sistemas web exige qualidade no quesito navegabilidade, termo utilizado para descrever a facilidade proporcionada ao usuário na utilização dos campos de um formulário e navegação entre as páginas. Na maioria das linguagens de programação para web este quesito é alcançado utilizando Javascript e CSS, melhorando a aparência e a navegabilidade, porém, no JSF, não há necessidade da implementação destes recursos. No código-fonte sendo apresentado no anexo "DataTable SubGrupo", está sendo utilizada a biblioteca PrimeFaces para melhorar a aparência. Com relação ao formulário JSF apresentado, analise as afirmativas a seguir: I- No código-fonte apresentado está sendo utilizado o componente Datatable da biblioteca Primefaces. II- O componente Datatable recebe uma lista de objetos no seu atributo "value". III- Na última coluna de cada linha da tabela gerada pelo Datatable existe um botão para exclusão do registro, o qual efetua requisição ajax. IV- O atributo "headerText" de cada coluna databela refere-se ao nome de cada coluna, a qual é apresentada na primeira linha. Assinale a alternativa CORRETA: A As afirmativas I e III estão corretas. B Somente a afirmativa II está correta. C As afirmativas II e III estão corretas. D D, Alternativa correta As afirmativas I, II e IV estão corretas. O desenvolvimento de aplicações com a tecnologia JSF pode se tornar mais fácil e produtivo quando é necessária a implementação de formulários. Em páginas XHTML, a composição de formulários utilizam-se componentes que são similares aos componentes HTML de formulários. Neste contexto, analise as afirmativas a seguir: I- Em uma página XHTML, para o desenvolvimento de formulários JSF, é necessária a importação da biblioteca “http://java.sun.com/jsf/html”. II- Em uma página XHTML, o componente "" é equivalente ao componente "" do HTML. III- Em uma página XHTML, o componente "" é equivalente ao componente "" do HTML. IV- Em uma página XHTML, o componente "" é equivalente ao componente "" do HTML. Assinale a alternativa CORRETA: A A, Alternativa Errada As afirmativas I, II e IV estão corretas. B As afirmativas III e IV estão corretas. C As afirmativas II e III estão corretas. D D, Alternativa correta As afirmativas I e IV estão corretas. A plataforma JEE é projetada para suportar aplicações que possuem elevado grau de complexidade, acessando dados das mais variadas fontes e atendendo a um grande número de clientes e requisições. Sobre a arquitetura JEE típica, analise as sentenças a seguir: I- Client Tier: representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. II- Commerce Tier: representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. III- Enterprise Information Server (EIS) Tier: representa as fontes de dados que as aplicações acessam através da business tier, normalmente um SGBDR. IV- Business Tier: representa a camada cliente, ou seja, o que os usuários efetivamente acessam da aplicação. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças I, II e III estão corretas. B As sentenças I, III e IV estão corretas. C Somente a sentença IV está correta. D D, Alternativa correta As sentenças I e III estão corretas. E As sentenças II, III e IV estão corretas. O JSF é uma tecnologia baseada em objetos que são armazenados em uma estrutura de árvore de componentes (ou também, árvore de objetos) na memória do servidor. Para o entendimento de como o JSF lida com essa árvore de objetos, o entendimento do ciclo de vida e os escopos do JSF são fundamentais. Com base na ilustração das 6 etapas do ciclo de vida do JSF ao receber uma requisição de um cliente, analise as afirmativas a seguir: I- Na etapa de restauração da visão, caso não seja o primeiro acesso de um cliente, e seja utilizada a configuração de escopo de sessão a árvore de componentes é recuperada da memória do servidor. II- Na imagem apresentada, não existe etapa que realize validação dos dados recebidos, não ocorrendo, portanto, a interrupção e desvio para outra etapa do processo. III- Na etapa 1, os métodos do ManagedBean associados às ações dos botões são executados. IV- Na etapa 6, o JSF apresenta o retorno com os dados nos componentes HTML implementados. Assinale a alternativa CORRETA: A II e III, apenas. B B, Alternativa correta I e IV, apenas. C II, III e IV, apenas. D I e II, apenas E I, II, III e IV. 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 verdadeirase 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: A F - F - F - V. B V - V - F - F. C C, Alternativa Errada V - V - V - F. D D, Alternativa correta F - V - V - F. 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 Somente a sentença I está correta. B Somente a sentença II está correta. C C, Alternativa correta As sentenças I e II estão corretas. D As sentenças II e III estão corretas. E As sentenças I e III estão corretas. Uma das soluções mais aplicadas para o problema do mapeamento objeto relacional é a utilização do padrão de projeto, conhecido como DAO (data access object). Esse padrão consiste em implementar uma camada para fazer o mapeamento entre os objetos e as tabelas do banco de dados. Essa camada pode conter diversas classes e ser construída de forma manual ou, até mesmo, através da utilização de frameworks para automatizar o processo. Sobre o conceito de DAO, assinale a alternativa CORRETA: A Sua função primordial é dar suporte ao componente Table utilizado para criação de telas de informações. B B, Alternativa correta Quando a implementação é bem feita, algumas vantagens adicionais podem ser obtidas, como: abstração, persistência e coesão. C A função primordial do DAO é fazer a tradução de objetos em registros, e de registros em arquivos. D A função primordial do DAO é apenas fazer a tradução de registros em objetos. Geralmente, quando se está começando a programar, o desenvolvedor começa a fazer códigos que são retornados no console em formato de texto, pois muitos são códigos de aprendizagem. Quando é necessário desenvolver sistemas que precisam de alguma interação mais aprimorada com o usuário, utiliza-se as interfaces gráficas. Para construirmos uma interface gráfica em JAVA, adicionamos componentes (botões, menus, textos, tabelas, listas etc.). Sobre as duas tecnologias criadas pela Oracle para criação de interfaces gráficas para Desktop, assinale a alternativa CORRETA: A Páginas FrontEnd e Swing. B Java Forms e Páginas FrontEnd. C WPF Aplicação e JavaFX. D D, Alternativa correta Swing e JavaFX. 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 sentenças verdadeiras e F para as falsas: ( ) O código-fonte 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 implementado todos os métodos definidos na interface Carro. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - F - V. B B, Alternativa correta F - F - F - V. C V - F - F - F. D D, Alternativa Errada F - V - V - F. 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: A A, Alternativa correta F - V - V - V. B V - V - V - F. C F - V - V - F. D V - F - F - V. 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 classe possui seu ciclo de vida controlado pelo EJB Container, no servidor de aplicação. Neste contexto, o Stateful Session Bean 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 uma requisiçã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: A As sentenças I e IV estão corretas. B As sentenças I e III estão corretas. C C, Alternativa correta As sentenças II e III estão corretas. D As sentenças I, III e IV estão corretas. Conforme Evans et al. (2011), o modelo de aplicação do JEE começa com a linguagem de programação Java e a Java Virtual Machine. A já conhecida e comprovada portabilidade, segurança e produtividade no desenvolvimento que ela oferece, formam a base deste modelo. Inicialmente, é necessária a compreensão do conceito de tier (camada lógica) e de layer (camada física). Tanto a tier quanto a layer podem ser definidas como um conjunto de tecnologias, que representa um conceito que faz parte da aplicação. A tier é sempre composta por software, ou seja, é lógica. A layer é sempre composta por hardware, ou seja, é física. Sobre a Web Tier, assinale a alternativa CORRETA: FONTE: EVANS, I. et al. The Java EE 6 Tutorial: Basic Concepts. 4. ed. Boston: Addison Wesley, 2011. A Representa a lógica de negócios da aplicação, aqui implementada em Enterprise Beans individuais para a aplicação cliente e para as páginas web. Em termos de layer, ainda estamos no JEEServer. B B, Alternativa correta Representa a camada responsável por fazer a ligação entre as páginas web e a lógica de negócio, representada aqui pela tecnologia Java Server Faces (JSF). Em alguns casos, essa camada é dispensável. As aplicações clientes acessam a lógica de negócio diretamente, sem esse intermédio. Essa camada poderia ainda ser representada por tecnologias como Servlets e Java Server Pages, que não fazem parte do escopo deste caderno. Se considerarmos a layer, esta parte fica alocada no JEEServer. C Representa a camada definida com duas tecnologias: a aplicação cliente, normalmente uma aplicação desktop desenvolvida com Swing ou JavaFX, e as páginas web, acessadas através de um navegador. Ambaspode ser instanciada em diferentes AS. Com relação ao EJB, assinale a alternativa CORRETA: A Um objeto EJB é conectado com a interface de persistência da aplicação. B O desenvolvedor de uma aplicação deve desenvolver regras para gerenciar a vida de objetos que tenham a anotação @EJB. C C, Alternativa correta Um objeto marcado com a anotação @EJB o torna gerenciável pelo AS. D O desenvolvedor de uma aplicação deve desenvolver regras para controlar objetos que tenham a anotação @EJB definida para eles. 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 F - F - F - V. C C, Alternativa correta V - V - F - V. D V - F - F - F. No caso do JEE, um dos componentes principais (se não o principal) é o servidor de aplicação. É este servidor de aplicação que encapsulará internamente os serviços que a plataforma oferece. Cabe ao desenvolvedor utilizá-los através das tecnologias definidas para tal. Como exemplos de implementações desta especificação, podemos citar o Jboss, o WildFly e o GlassFish. Sobre a estrutura de diretórios do JBoss AS, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Welcome-content contém a página padrão de boas vindas. ( ) Bundles contém os pacotes OSGi. ( ) Domain contém arquivos de configuração. ( ) Bin contém os vários módulos usados no servidor. ( ) Doc/schema contém vários scripts de inicialização. Assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - V - F. B F - F - F - V - V. C C, Alternativa correta V - V - V - F - F. D V - F - V - F - V. O JSF possui suporte nativo à AJAX desde a versão 2.0, o que facilita mais uma vez o trabalho dos desenvolvedores. Sobre o AJAX, assinale a alternativa CORRETA: A Não é possível capturar eventos em uma página WEB. B B, Alternativa correta Envia requisições para o servidor sem atualizar a página toda. C O JSF sempre teve suporte nativo. D O JAF sempre teve suporte nativo. Esse é um dos componentes mais utilizados em interfaces web com JSF. Sobre o exposto, assinale a alternativa CORRETA: A SataTable. B B, Alternativa correta DataTable. C C, Alternativa Errada DetaTable. D BetaTable. Java Persistence API (JPA): apresenta uma solução para a persistência de objetos em ambientes relacionais, usando uma estratégia de mapeamento objeto relacional. Sobre os conceitos e interfaces do JPA, analise as sentenças a seguir: I- O JTA exige a existência de duas anotações na classe que utilizará o GeneratedValue. II- O conceito de Convention Over Configuration (Coc) permite que se trabalhe com uma configuração mínima, pois o resto é convenção e o JPA assume valores default. III-O Gerenciador de persistência (EntityManager) representa a interface implementada pelo provedor JPA que disponibiliza métodos para realizar as operações de persistência. IV- A Unidade de Persistência (Persistency Unit) mostra o arquivo que apresenta um conjunto de configurações utilizadas pelo JPA para se conectar com o banco de dados, como login, senha, e url de conexão. Assinale a alternativa CORRETA: A Somente a sentença I está correta. B As sentenças I, II e III estão corretas. C C, Alternativa correta As sentenças II, III e IV estão corretas. D D, Alternativa Errada As sentenças I, III e IV estão corretas. O desenvolvimento de software utilizando a linguagem de programação Java possui muitos recursos que diminuem o trabalho do desenvolvedor, ou que ainda tornam a arquitetura do software mais legível para uma futura manutenção. O ciclo de vida do Stateless Session Bean, por exemplo, é administrado pelo EJB Container, dentro do servidor de aplicação, e não precisa ser controlado pelo desenvolvedor. A respeito da arquitetura EJB, analise as sentenças a seguir: I- Uma única instância de uma classe Stateless Session Bean pode atender a mais de um cliente. II- Uma única instância de uma classe Stateless Session Bean não atende a duas ou mais demandas ao mesmo tempo. III- O EJB Container cria novas instâncias de Stateless Session Bean, uma para cada cliente solicitante. IV- A anotação @PostConstruct define que o método com esta anotação seja executado após a instância da classe. Assinale a alternativa CORRETA: A As sentenças I e III estão corretas. B As sentenças I e IV estão corretas. C C, Alternativa correta As sentenças I, II e IV estão corretas. D As sentenças II, III e IV estão corretas. O Enterprise JavaBeans são usados para o desenvolvimento e implantação de aplicações distribuídas, baseadas em componentes que são escaláveis, transacionais, e seguros. O EJB 3.2 também permite que toda parte, envolvendo segurança e transação, possa ser especificada na forma de anotações de metadados, ou então separadamente no Deployment Descriptor, que é o arquivo web.xml. Sobre o EJB, assinale a alternativa CORRETA: A Um EJB normalmente tem relação exclusiva com o Sistema Operacional. B B, Alternativa correta Um EJB normalmente contém a lógica de negócio que atua sobre os dados de negócio. C Um EJB normalmente é aplicado no desenvolvimento de interfaces gráficas. D O EJB 3.2 tornou mais rígida as regras default para designar a implementação de interfaces como local ou remota. O Java Server Faces (JSF) é o framework padrão da plataforma Java para a construção de aplicações web com JEE. Ele define e implementa um modelo de componentes visuais para WEB, utilizando uma arquitetura MVC (modelview- controller). Sobre as camadas que essa aplicação é dividida, assinale a alternativa CORRETA: A A, Alternativa correta View, Controller e Model. B B, Alternativa Errada View, Struct e Model. C View, Controller e Struct. D Struct, Controller e Model. O WildFly Application Server, parecido com o JBoss, é um servidor de aplicação fabricado, também, pela empresa Red Hat. A mudança do nome para WildFly foi motivada pela melhor percepção do software de relacioná-lo com leveza, agilidade e liberdade. Com relação ao Wildfly, analise as sentenças a seguir: I- É possível instalar o WildFly baixando seu instalador diretamente no site da fabricante. II- Não é possível instalar o WildFly diretamente pelo Eclipse. III- Caso as alterações padrões do WildFly não forem alteradas, após subir uma aplicação para ele rodar no navegador, devemos chamar a URL "localhost:8080". IV- O tempo para inicialização do WildFly não depende do computador, sendo utilizado para executá-lo. Assinale a alternativa CORRETA: A As sentenças III e IV estão corretas. B B, Alternativa correta As sentenças I e III estão corretas. C As sentenças II e III estão corretas. D As sentenças II e IV estão corretas. Nas tecnologias da família EJB é que percebemos a verdadeira extensão das capacidades do JAVAEE. Muitos sistemas corporativos são desenvolvidos seguindo a arquitetura definida pelo padrão EJB. Ao utilizar esta arquitetura, alguns recursos são disponibilizados automaticamente pelo AS. Sobre esses recursos, assinale a alternativa INCORRETA: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 A, Alternativa Errada I, II e III. B III, apenas. C I, apenas. D D, Alternativa correta II e III, apenas. 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: A A, Alternativa Errada As sentenças I, II e III estão corretas. B As sentenças I e III estão corretas. C C, Alternativa correta As sentenças II, III e IV estão corretas. D As sentenças I e IV estão corretas. O desenvolvimento de software utilizando a linguagem de programação Java possui muitos recursos que diminuem o trabalho do desenvolvedor, ou que ainda tornam a arquitetura do software mais legível para uma futura manutenção. O ciclo de vida do Stateless Session Bean, por exemplo, é administrado pelo EJB Container, dentro do servidor de aplicação, e não precisa ser controlado pelo desenvolvedor. A respeito da arquitetura EJB, analise as sentenças a seguir: I- Uma única instância de uma classe Stateless Session Bean pode atender a mais de um cliente. II- Uma única instância de uma classe Stateless Session Bean não atende a duas ou mais demandas ao mesmo tempo. III- O EJB Container cria novas instâncias de Stateless Session Bean, uma para cada cliente solicitante. IV- A anotação @PostConstruct define que o método com esta anotação seja executado após a instância da classe. Assinale a alternativa CORRETA: A A, Alternativa Errada As sentenças II, III e IV estão corretas. B As sentenças I e IV estão corretas. C As sentenças I e III estão corretas. D D, Alternativa correta As sentenças I, II e IV estão corretas. O JEE (Java Enterprise Edition) é uma plataforma Java voltada para o desenvolvimento específico das redes internet, intranet e afins. Foi criada para suportar um grande número de acessos simultâneos e dispõe de diversas tecnologias desenvolvidas para garantir performance e escalabilidade. A tecnologia EJB fornece boa parte dos serviços da plataforma Java JEE e é responsável por implementar as regras de negócio. Acerca da tecnologia EJB para aplicações baseadas no JEE, analise as sentenças a seguir: I. A arquitetura EJB oferece suporte à execução de transações. II. Aplicações EJB permitem acesso remoto através de distintos protocolos de comunicação. III. A arquitetura EJB permite acesso concorrente, porém de maneira controlada. IV. Objetos de aplicações EJB não possuem mecanismos de injeção de dependências e controle de ciclo de vida. É correto o que se afirma em:, A A, Alternativa Errada I e IV, apenas. B II, III e IV, apenas. C I, II, III e IV. D I, III e IV, apenas. E E, Alternativa correta I, II e III, apenas. A linguagem de programação Java oferece a base de um modelo. Sobre essa base, assinale a alternativa CORRETA: A A, Alternativa Errada Portabilidade, Insegurança e Produtividade. B Importabilidade, Segurança e Produtividade. C Portabilidade, Segurança e Improdutividade. D D, Alternativa correta Portabilidade, Segurança e Produtividade.