Buscar

Java_jbeansp

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 27 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

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 6, do total de 27 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

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 9, do total de 27 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

Prévia do material em texto

Fernando Albuquerque - fernando@cic.unb.br
JavaBeans
&
 Enterprise JavaBeans
Fernando Albuquerque
fernando@cic.unb.br
(061) 273-3589
Fernando Albuquerque - fernando@cic.unb.br
Tópicos
n Introdução
n Modelo JavaBeans
n Propriedades
n Eventos
n Persistência
n Introspecção
n EJB
Fernando Albuquerque - fernando@cic.unb.br
Introdução
n Componentes :
• Peças de software que aderem a uma especificação
definida e que pode ser distribuída e usada em diversas
aplicações.
• Para transformar uma classe em um componente, é
necessário adicionar funcionalidade e respeitar
convenções.
• Componentes são interligados de modo a construir uma
aplicação.
• Um componente é desenvolvido com um objetivo
específico e não para uma aplicação específica.
Fernando Albuquerque - fernando@cic.unb.br
Introdução
n Modelos de componentes :
• Um modelo de componentes define um conjunto de
interfaces e classes que precisam ser usadas de uma
determinada forma.
• Um modelo de componentes especifica como serão
expostas as propriedades, métodos e eventos.
• JavaBeans é um modelo de componentes para construção
de aplicações de forma visual e Enterprise JavaBeans é um
modelo de componentes para arquiteturas distribuídas.
• Os modelos JavaBeans e Enterprise JavaBeans não são
relacionados.
• Enterprise JavaBeans não é uma extensão do JavaBeans.
Fernando Albuquerque - fernando@cic.unb.br
Modelo JavaBeans
n Especificação JavaBeans :
• Descreve uma arquitetura de componentes para Java
baseada nas classes Java.
• Define regras que devem ser seguidas de modo a tornar as
classes configuráveis e reutilizáveis.
• Possibilita que componentes sejam usados por diferentes
ferramentas.
• Define classes e métodos através dos quais podem ser
obtidas informações sobre os componentes.
• Padrões definem convenções para nomes dos métodos.
Fernando Albuquerque - fernando@cic.unb.br
Modelo JavaBeans
n Característica de um bean :
• Suporte para introspecção e customização.
• Suporte para eventos na conexão entre componentes.
• Suporte para propriedades.
• Suporte para persistência.
• Implementado como um arquivo JAR.
n Níveis de interação :
• Propriedades.
• Métodos.
• Eventos.
Fernando Albuquerque - fernando@cic.unb.br
Modelo JavaBeans
JavaBean
Métodos
Propriedades
BeanInfo
Eventos
Configurador
JAR
Fernando Albuquerque - fernando@cic.unb.br
Propriedades
n Propriedades :
• Propriedades definem as características de um bean.
• Propriedades possibilitam a configuração de um bean.
• Podem ser lidas ou escritas através de métodos do bean.
• Podem ser read-write, read-only ou write-only.
• Podem ser simples ou com múltiplos valores,
• Podem ser inativas ou ativas.
• As ativas geram um evento quando o valor é modificado.
• Uma propriedades não tem que ter o mesmo nome de um
atributo nem estar relacionado a um único atributo.
Fernando Albuquerque - fernando@cic.unb.br
Métodos
n Métodos :
• Definem o que pode ser feito com o bean
• Podem ser invocados a partir de outros componentes
• Existem convenções para os nomes dos métodos
Fernando Albuquerque - fernando@cic.unb.br
Eventos
n Eventos :
• Usados com os métodos para a comunicação entre beans.
• São freqüentemente usados para interligar beans.
• Usados pelos beans para informar que algo está
ocorrendo.
• Ao projetar um bean é usado um modelo de tratamento de
eventos baseado em delegação.
• O modelo de evento contém um conjunto de classes e
interfaces.
• Os eventos são entregues apenas aos interessados.
• Os interessados tem que informar o seu interesse nos
eventos.
Fernando Albuquerque - fernando@cic.unb.br
Persistência
n Conceitos :
• Um objeto persistente sabe armazenar o seu estado e
posteriormente recupera-lo.
• Um modelo de persistência facilita a reutilização de
componentes.
• O mecanismo mais simples para a persistência em
JavaBeans é o serviço de serialização.
• Existem também serviços que possibilitam o
empacotamento e a distribuição de beans.
Fernando Albuquerque - fernando@cic.unb.br
Persistência
n Regras para serialização :
• Atributos de um bean serializável precisam ser também
serializáveis.
• Atributos estáticos não são serializáveis.
• Atributos identificados por transient não são serializáveis.
• Em uma hierarquia de classes, as classes mais altas são
serializadas primeiro.
• O processo de serialização armazena informações sobre o
tipo da classe mas não sua implementação.
• Apenas uma cópia do objeto é armazenada, mesmo que o
objeto seja referenciado múltiplas vezes.
Fernando Albuquerque - fernando@cic.unb.br
Introspecção
n Conceitos :
• Introspecção é a capacidade de se descobrir características
de um componente em tempo de execução.
• Podem ser descobertas as propriedades, métodos e
eventos.
• Ferramentas podem inspecionar um bean de modo a
descobrir propriedades e comportamento.
• São seguidos padrões que possibilitam a inspeção do bean
por um introspector.
Fernando Albuquerque - fernando@cic.unb.br
Introspecção
n Reflexão :
• Pode-se obter informações também sobre classes.
• Reflexão provê uma forma simples de introspecção.
• Aplicável a qualquer classe.
• A principal classe se chama Class.
• Todo objeto Java tem uma instância de Class.
n Exemplos de métodos em Class :
• getName getSuperClassgetInterfaces
• getFields getMethods getConstructors
• getPackage isInterface isPrimitive
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Conceitos :
• Arquitetura de componentes para o desenvolvimento de
aplicações orientadas a objetos distribuídas.
• Define um modelo para componentes a serem executados
nos servidores.
• Define um modelo para monitores de transações baseados
em tecnologias de objetos distribuídos.
• Define a estrutura de um framework e os contratos entre os
elementos.
• Define as responsabilidades dos clientes, servidores e
componentes.
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Objetivos :
• Ser a arquitetura de componentes padrão para o
desenvolvimento de aplicações distribuídas orientadas a
objetos na linguagem Java.
• Facilitar o desenvolvimento de aplicações, possibilitando
que o programador abstraia dos detalhes de baixo nível.
• Possibilidade dos servidores atuais serem atualizados de
modo a suportar EJB.
• Possibilitar o acesso a partir de clientes Java via RMI e a
partir de outros clientes via CORBA.
• Ser independente de plataforma.
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Elementos de um sistema EJB :
• Objetos locais aos clientes.
• Containers.
• Componentes.
n Conceitos importantes :
• Objetos distribuídos.
• Componentes para servidores.
• Servidores de aplicações.
• Component Transaction Monitors ( CTM )
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Objetos distribuídos :
• Objetos distribuídos são a base tecnológica dos sistemas
atuais baseados em três camadas .
• Nos sistemas em três camadas, a lógica de apresentação
fica na primeira camada, a lógica do negócio na segunda e
o banco de dados na terceira.
• Protocolos para objetos distribuídos procuram fazer com
que os objetos remotos pareçam ser locais.
• A tecnologia de objetos distribuídos é baseada em objetos
servidores, skeletons e stubs.
• A um tipo de servidor há um skeleton e um stub associado.
Fernando Albuquerque - fernando@cic.unb.br
EJB
• Um protocolo para a chamada de métodos remotos é
usado para a comunicação.
• As tecnologias CORBA, Java RMI e Microsoft DCOM
usam os seus protocolos para chamadas a métodos
remotos.
• Cada objeto servidor é envolvido por um skeleton que
escuta solicitações dos stubs.
• Os stubs residem nas máquinas onde se encontram os
clientes e se comunicam com os objetosservidores através
dos skeletons.
• Os stubs e os skeletons escondem o uso do protocolo de
chamadas a métodos remotos.
Fernando Albuquerque - fernando@cic.unb.br
EJB
PRIMEIRA CAMADA REDE SEGUNDA CAMADA
STUB SERVIDOR
SKELETON
Cliente invoca o método Comunicação via 
remoto protocolo de chamada
a métodos remotos
Cliente recebe o
retorno do 
método
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Componentes EJB :
• Executam em containers.
• Implementam lógicas dos negócios.
n Containers EJB :
• Interagem com os EJBs segundo um conjunto definido de
interfaces.
• Ambientes de execução.
• Provêem serviços para os componentes.
• Facilitam o desenvolvimento dos componentes.
• Múltiplas instâncias tipicamente existem em um container.
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Tipos de componentes EJBs :
• EJBs podem ser persistentes ou transientes.
• EJBs de sessão são transientes.
• EJBs entidades são persistentes.
n Características de um EJB de sessão :
• Executa em benefício de um único cliente.
• É uma extensão do cliente que o criou.
• Pode atualizar dados em bancos de dados mas não
representa os dados.
• Tempo de vida curto.
• Destruído em caso de falha do servidor.
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Características de um EJB entidade :
• Possibilita acesso compartilhado de múltiplos usuários.
• Participa em transações.
• Representa dados armazenados de forma persistente.
• Dura tanto quanto os dado em um banco de dados.
• Uma falha do servidor é transparente ao cliente.
• Tem uma referência persistente para o objeto.
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Identificadores :
• Todo EJB tem um identificador único.
• O identificador de um EJB de sessão o diferencia de
outros EJBs do mesmo tipo.
• O identificador de um EJB entidade identifica a
informação.
n Interfaces implementadas por um EJB :
• Home interface define um contrato entre um EJB e o seu
container.
• Remote interface define os serviços que podem ser
solicitados pelos clientes.
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Visão do cliente :
• Para o cliente um EJB é um objeto CORBA remoto.
• Obtida referência para o objeto remoto.
• Invocados os métodos como se o objeto fosse local.
• Container EJB é um objeto que representa o servidor onde
se encontram EJBs.
• Um container pode ser encontrado usando-se um serviço
de diretório.
Fernando Albuquerque - fernando@cic.unb.br
EJB
ORB
Cliente Servidor
Finder Container Factory EJB
Fernando Albuquerque - fernando@cic.unb.br
EJB
n Suporte para transações :
• Um dos aspectos chave dos EJBs é o suporte para
transações distribuídas.
• Aplicações podem atualizar dados de forma atômica.
• Dados podem estar distribuídos entre múltiplos servidores.
• Um Object Transaction Monitor ( OTM ) responsabiliza-
se por gerenciar as transações.

Outros materiais