Baixe o app para aproveitar ainda mais
Prévia do material em texto
07/09/2020 Estácio: Alunos https://simulado.estacio.br/alunos/?user_cod=2080079&matr_integracao=201803418613 1/3 Em uma arquitetura MVC, com uso de JSF e EJB, temos um componente para comunicar com o Session EJB, denominado ProdutoControlMB, anotado com ApplicationScoped, e outro para encapsular a entidade denominado ProdutoMB, anotado com SessionScoped. Segundo esta configuração, podemos afirmar que: Na criação de um Managed Bean, a utilização da anotação SessionScoped serve para: No ambiente JEE, a anotação PersistenceContext é utilizada para: 1. Temos uma instânica de ProdutoControlMB para todo o aplicativo e uma de ProdutoMB para cada usuário logado. A chamada ao EntityManager deve ser feita em ProdutoControlMB. Os EJBs do tipo Session ficarão na camada Model. O componente ProdutoMB pertence à camada Model. Existirá uma instância de ProdutoControlMB para cada usuário logado. Explicação: Nesta arquitetura temos uma camada Model com o JPA e as entidades, seguido da camada Control com os Session EJBs, funcionando de fachada para a Model. Em seguida temos a camada View com uso de JSF, onde encapsulamos a chamada aos EJBs através de ProdutoControlMB e as entidades através de ProdutoMB, de forma a compatibilizar com as necessidades do JSF para utilização. Com o uso das anotações de escopo citadas, temos uma instânica de ProdutoControlMB para todo o aplicativo e uma de ProdutoMB para cada usuário logado. 2. Remover os valores do Managed Beans no carregamento da página. Permitir o acesso a um Session Bean. Definir o nome que será utilizado pela página JSF para acesso ao Managed Bean. Solicitar a autenticação do usuário para executar o Managed Bean. Manter o valor do Managed Bean entre chamadas sucessivas. Explicação: Ao utilizar ScopedSession estamos definindo o escopo de sessão para o Managed Bean, o que manterá seus valores carregados entre chamadas sucessivas. Um exemplo é apresentado a seguir. @Named(value = "produtoMB") @SessionScoped public class ProdutoMB extends Produto{ 3. Efetuar a conexão com as filas de uma mensageria a patir do MDB. Acessar um EJB a partir de um Managed Bean. Acessar um Managed Bean a partir de outro no mesmo contexto. Definir um EJB do tipo Stateless. Instanciar um EntityManager a partir da unidade de persistência. Explicação: O uso da anotação PersistenceContext permite instanciar um EntityManager a partir do nome da unidade de persistência, conforme as definições efetuadas no arquivo persistence.xml. https://simulado.estacio.br/bdq_simulados_exercicio.asp# https://simulado.estacio.br/bdq_simulados_exercicio.asp# https://simulado.estacio.br/bdq_simulados_exercicio.asp# 07/09/2020 Estácio: Alunos https://simulado.estacio.br/alunos/?user_cod=2080079&matr_integracao=201803418613 2/3 Assinale a alternativa correta. O ferramental do NetBeans permite gerar de forma automática os EJBs responsáveis por invocar as diversas operações a serem efetuadas no banco a partir de entidades JPA. Ao fazer isto, ele segue um padrão de desenvolvimento denominado: Qual anotação deve ser utilizada para efetuar o acesso a um Managed Bean a partir de outro? 4. Uma anotação @Id seria utilizada para acessar um EJB específico do pool de EJBs. Os Managed Beans podem instanciar elementos do tipo EntityManager sem quebrar as regras do modelo MVC. As transações nos EJBs são controladas através do JTA (Java Transaction API). Em termos da arquitetura MVC, os EJBs pertencem à camada View. Na arquitetura MVC, as entidades JPA devem acessar os Managed Beans com o uso de @Inject. Explicação: Na arquitetura MVC, JSF estaria na View, EJB na Control e JPA na Model. Nenhum componente da camada View deve acessar a camada Model sem passar pela Control, e nenhuma camada conhece os componentes de uma camada superior, ou seja, a Model não conhece a Control e a Control não conhece a View. A anotação @Id serve para identificr o campo chave de uma entidade JPA, e não é possível determinar o EJB que será acessado no pool. 5. Intercept Filter Adapter Session Facade Singleton Front Control Explicação: É utilizado o padrão Session Facade, onde os Stateless Session Beans servem de fachada para as operações de banco intermediadas pelo JPA. 6. Named Inject ApplicationScoped SessionScoped EJB Explicação: Enquanto @Named permite definir o nome do Managed Bean, com @Inject podemos acessá-lo através do nome definido anteriormente. https://simulado.estacio.br/bdq_simulados_exercicio.asp# https://simulado.estacio.br/bdq_simulados_exercicio.asp# https://simulado.estacio.br/bdq_simulados_exercicio.asp# 07/09/2020 Estácio: Alunos https://simulado.estacio.br/alunos/?user_cod=2080079&matr_integracao=201803418613 3/3 Em uma arquitetura MVC com uso de JSF, JPA e EJB, em que camadas estariam, respectivamente, os componentes de cada uma destas tecnologias? Ao gerar diversas camadas de um aplicativo corporativo, com uso dos processos de automação do NetBeans, você notou que os Session Beans vinham com a anotação PersistenceContext sobre alguns atributos. Qual a função desta anotação? 7. View, Model e Control Model, Control e View Control, Model e View View, Control e Model Model, View e Control Explicação: Os componentes JSF irão compor a interface na camada View, enquanto o acesso ao banco será feito via JPA na camada Model, e as regras de negócio serão implementadas pelos EJBs na camada Control. 8. Dar suporte aos elementos de persistência do JSF. Configurar o Session Bean para que possa trabalhar com processos assíncronos. Indicar qual a interface local para uso com o EJB. Instanciar o EntityManager, efetuando a relação com a unidade de persistência correta. Definir uma fachada abstrata para as operações de banco de dados. Explicação: A anotação citada serve para instanciar o EntityManager, efetuando a relação com a unidade de persistência correta, como no exemplo seguinte. @PersistenceContext(unitName = "ExemploCompleto-ejbPU") private EntityManager em; Note que a automatização do NetBeans gera uma classe abstrata de base, agrupando as operações de banco, e concretiza estas operações, baseado em Generics, no descendente do tipo Session EJB, onde é também concretizada também a relação com o banco de dados, instanciando o EntityManager com a anotação do exemplo. https://simulado.estacio.br/bdq_simulados_exercicio.asp# https://simulado.estacio.br/bdq_simulados_exercicio.asp#
Compartilhar