Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRaíssa Mota Alterado mais de 10 anos atrás
1
Container Managed Persistent Bean Kellyton Brito Projeto Compose - 27.06.2003
2
CMP – Motivação Desenvolver beans portáveis, com implementação da lógica persistente independente da lógica do bean.
3
CMP – Conceito Básico O desenvolvedor não implementa a lógica persistente (operações de armazenamento) A lógica persistente é implementada pelo EJB Container de forma automatizada
4
CMP – Entity Beans como Subclasses Torna o Bean Portável Separa o Entity Bean de sua representação persistente Superclasse contém a lógica do bean e é implementada pelo desenvolvedor Subclasse contém a lógica de persistência e é gerada pelo Container
5
CMP – Atributos Na Superclasse não é declarado nenhum atributo persistente. Atributos do bean mantidos na Subclasse Superclasse declarada como classe abstrata para acessar métodos da subclasse Atributos descritos no descritor xml
6
CMP – Definição de Atributos Atributos definidos no descritor xml... 2.x ProductBean chave nome saldo...
7
CMP – Acesso aos atributos Métodos de acesso aos atributos são mantidos na subclasse Métodos de get/set triviais são gerados automaticamente pelo container no formato get + nomeDoCampo (1ª letra no nome em maiúscula) Métodos de acesso aos atributos definidos na SuperClasse como abstratos Outros métodos definidos de maneira tradicional
8
CMP – Acesso aos Campos na SuperClasse public abstract class meuBean implements EntityBean { protected EntityContext ctx; public abstract int getChave(); public abstract void setChave(int chave); public abstract String void getNome(); public abstract void setNome(String nome);... }
9
CMP – Métodos de Busca Chamados pelo Home Object EJB Container implementa os métodos de busca Descrição da busca no descritor xml. – Facilita a portabilidade Utilização do EJB-QL: SQL orientado a objeto Pode utilizar ejbSelect() para efetuar operações sobre um conjunto entity beans
10
CMP – Implementação das Buscas Definição da implementação da busca feita no descritor (xml)... findByName java.lang.String...
11
CMP – Arquivos Gerados Pelo desenvolvedor do Bean: – Remote Interface – Local Interface – Home Interface – Local Home Interface – Bean Abstract Class – Primary Key Class – Deployment Descriptor – *Container-Specific Deployment Descriptor
12
CMP – Arquivos Gerados Pelo Container (automaticamente) – Beam SubClass – EJB Local Object – Ejb Object – Home Object – Local Home Object
13
CMP – Remote Interface Contém a assinatura dos métodos que o cliente pode acessar public interface Product extends EJBObject { public String getNome() throws RemoteException; public void setNome(String name) throws RemoteException;... }
14
CMP – Local Interface Contém a assinatura dos métodos que o cliente pode acessar de forma local A única diferença para a Remote Interface é que não lança RemoteException public interface Product extends EJBLocalObject { public String getNome(); public void setNome(String nome);... }
15
CMP – Home Interface Contém os métodos de create, buscas e ordenação public interface ProductHome extends EJBHome { Product create (tipo1 parametro1, tipo2 parametro2, tipo3 parametro3) throws CreateException, RemoteException) public Product findByPrimaryKey (ProductPK key) throws FinderExceptiom RemoteException; public Collection findByName (String name) throws FinderExceptiom RemoteException;... }
16
CMP – Home Interface Contém os métodos de create, buscas e ordenação A única diferença para a Home Interface é que não lanca RemoteException public interface ProductHome extends EJBHome { Product create (tipo1 parametro1, tipo2 parametro2, tipo3 parametro3) throws CreateException, RemoteException) public Product findByPrimaryKey (ProductPK key) throws FinderExceptiom RemoteException; public Collection findByName (String name) throws FinderExceptiom RemoteException;... }
17
CMP – Primary Key Classe que contém a chave primária do entity bean.
18
CMP – Bean Contém: – Métodos abstratos de get/set: public abstract String getName(); public abstract void setName(String name); – Métodos padrões chamados pelo Container public void ejbActivate() {} public void ejbRemove() {} public void ejbPassivate() {} public void ejbLoad() {} public void ejbStore() {} public void setEntityContext(EntityContext ctx) {} public void unsetEntityContext() {} public void ejbPostCreate (parametros do create) {} public void ejbCreate (parametros do create){}
19
CMP – Descritor XML A alma do CMP – Definições Gerais Container Definições de campos – Definições de Queries – Assembly descriptor: ???
20
CMP – Discussão O gerenciamento da persistência feito pelo Container não prejudica por demais o desempenho?
21
CMP – Dúvidas Dúvidas?
22
Referências Mastering Enterprise JavaBeans, 2 nd Edition
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.