Buscar

DESENVOLVIMENTO DE SOFTWARE - AULA10 - ESTÁCIO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1.
		Assinale a alternativa correta.
	
	
	
	Na arquitetura MVC, as entidades JPA devem acessar os Managed Beans com o uso de @Inject.
	
	
	Uma anotação @Id seria utilizada para acessar um EJB específico do pool de EJBs.
	
	
	Em termos da arquitetura MVC, os EJBs pertencem à camada View.
	
	
	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).
	
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.
	
	
	
	 
		
	
		2.
		Na criação de um Managed Bean, a utilização da anotação SessionScoped serve para:
	
	
	
	Definir o nome que será utilizado pela página JSF para acesso ao Managed Bean.
	
	
	Remover os valores do Managed Beans no carregamento da página.
	
	
	Permitir o acesso a um Session 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.
		Ao solicitar a criação de entidades JPA a partir do banco de dados, no NetBeans, é solicitado que se defina um pool de conexões para o acesso a este banco. Qual tecnologia Java é utilizada para o registro e localização deste pool?
	
	
	
	EJB
	
	
	JDBC
	
	
	SWING
	
	
	JMS
	
	
	JNDI
	
Explicação:
O serviço de nomes e diretórios do Java é denominado JNDI, e serve para o registro e localização de objetos como pools de conexão e filas de mensagerias, entre diversos outros.
	
	
	
	 
		
	
		4.
		Em uma arquitetura MVC com uso de JSF, JPA e EJB, em que camadas estariam, respectivamente, os componentes de cada uma destas tecnologias?
	
	
	
	View, Control e Model
	
	
	Model, Control e View
	
	
	View, Model e Control
	
	
	Model, View e Control
	
	
	Control, Model e View
	
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.
	
	
	
	 
		
	
		5.
		No ambiente JEE, a anotação PersistenceContext é utilizada para:
	
	
	
	Definir um EJB do tipo Stateless.
	
	
	Acessar um Managed Bean a partir de outro no mesmo contexto.
	
	
	Acessar um EJB a partir de um Managed Bean.
	
	
	Efetuar a conexão com as filas de uma mensageria a patir do MDB.
	
	
	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.
	
	
	
	 
		
	
		6.
		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?
	
	
	
	Instanciar o EntityManager, efetuando a relação com a unidade de persistência correta.
	
	
	Dar suporte aos elementos de persistência do JSF.
	
	
	Definir uma fachada abstrata para as operações de banco de dados.
	
	
	Configurar o Session Bean para que possa trabalhar com processos assíncronos.
	
	
	Indicar qual a interface local para uso com o EJB.
	
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.
	
	
	
	 
		
	
		7.
		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:
	
	
	
	Intercept Filter
	
	
	Session Facade
	
	
	Front Control
	
	
	Singleton
	
	
	Adapter
	
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.
	
	
	
	 
		
	
		8.
		Qual anotação deve ser utilizada para efetuar o acesso a um Managed Bean a partir de outro?
	
	
	
	ApplicationScoped
	
	
	EJB
	
	
	Inject
	
	
	SessionScoped
	
	
	Named
	
Explicação:
Enquanto @Named permite definir o nome do Managed Bean, com @Inject podemos acessá-lo através do nome definido anteriormente.

Continue navegando