enterprise javabeans
Post on 14-Nov-2014
1.430 Views
Preview:
DESCRIPTION
TRANSCRIPT
Enterprise JavaBeans
Érika Ishy
Roteiro Visão Geral
JavaBeans Enterprise JavaBeans
Infra-Estrutura EJB Servidor J2EE Interfaces de um EJB Tipos de Visão Tipos de EJB
Visão Geral O que é JavaBeans
Modelo de componentes que privilegia o suporte a ferramentas gráficas para a composição de aplicações – controles visuais (botão)
Define a arquitetura básica do
componente, de suas interfaces e de como
ele interage com outros componentes
Enterprise JavaBeans (EJB) Extensão de JavaBeans para
ambientes distribuídos Ambiente Java robusto Aplicações com arquitetura
multicamadas
Visão Geral Modelo de componentes para grandes
aplicações de negócio Interfaces padronizadas – Home/Remote Sistema de execução de componentes
para arquiteturas multicamadas – EJB Container
Objetivos: Reutilização de software Portabilidade de componentes Execução de transações Suporte para controle e segurança
Visão Geral Simplifica as responsabilidades do
desenvolvedor sobre a computação distribuída Focalizar nas principais
funcionalidades que a aplicação de negócio requer
Visão GeralSem
componentes: aplicações acessando
diretamento o bd
[Prado, 2003b]
Visão GeralCom componentes:
aplicações acessam as regras de negócio dos componentes. Estes,
acessam o bd
[Prado, 2003b]
Visão Geral Separação entre aplicação e
componente => código mais simples e flexível
Melhora a segurança e a confiabilidade
Facilita a manutenção Reutilização de código => diversas
aplicações clientes usando o mesmo componente simultaneamente
Infra-Estrutura EJB
[Prado, 2003a]
Infra-Estrutura EJB
[Prado, 2003a]
Servidor J2EE
Ambiente para a execução
aplicações EJB.Gerencia e
coordena alocação de recursos.
Encapsula os beans EJB.
Gerenciamento de transações,
segurança, comunicação, conexões bd...
Componentes focados na lógica
do problema.Classe do bean implementa os
métodos de negócio
[Prado, 2003a]
Servidor J2EE
[Prado, 2003b]
Interfaces de um EJB
[Maciel, 2002]
Interfaces de um EJB Interface Home
Serviços de criação e remoção de instâncias do componente
create() - ejbCreate() remove() - ejbRemove()
Métodos de busca: findByPrimaryKey()
métodos do ciclo de vida
Interfaces de um EJB Interface Remota
Visão do cliente para uma instância de um ejb – regras de negócio
métodos de negócio
métodos da interface remota
implementação na classe do ejb
Tipos de Visão
[Prado, 2003b]
Tipos de Visão Visão Remota
Sistema distribuído Transparência na localização Limitações de performance - rede
Visão Interface Classe
home javax.ejb.EJBHomeRemota
remota javax.ejb.EJBObject
Tipos de Visão
Tipos de Visão
Tipos de Visão Visão Local
Servidor Máquina Cliente Acesso local e direto aos métodos da
interface do componente Ganho de performance - overhead Perda da transparência na localização Clientes na mesma JVM que os EJB’s
home local javax.ejb.EJBLocalHomeLocal
local javax.ejb.EJBLocalObject
Visão Interface Classe
Tipos de EJB
[Prado, 2003b]
Tipos de EJB
“Quebra” o session bean e seus dados são
perdidos.Entity bean é persistente e
representa o dado no bd (recuperado).
Tipos de EJB - Session Bean Session Bean
Gerenciado pelo container Não pode ser recuperado Stateless Stateful
Tipos de EJB - Session Bean Stateful
Mantém estado ao longo de todo a conversação com um cliente
Dedicado a um único cliente, não podendo ser acessado por outros clientes – compra com cartão de crédito
tempo de vida do stateful
tempo de vida do cliente
Tipos de EJB - Session Bean Stateful
[Sun, 2002b]
Invocados pelo EJB
Container
Métodos de negócio podem ser
invocados
Caso precise liberar
recursos
Tipos de EJB - Session Bean Stateless
Não possui estado conversacional Não é dedicado a um único cliente Duração de um intervalo de execução
de um serviço invocado pelo cliente – caixa: aplicar desconto, calcular frete
Ciclo de vida muito simples
Tipos de EJB - Session Bean Stateless
[Sun, 2002b]
EJB Container responsável
pela criação/remoção sem que seja indicado pelo cliente
Create() e Remove() somente pelo EJB
Container
Tipos de EJB - Entity Bean Entity Bean
Opera como objeto denegócio representando o dado no bd ou em qualquer outra fonte de dados Dado representado pelo beanpode mudar – sincronização bean/bd – responsabilidade do container/bean
Tipos de EJB - Entity Bean
[Prado, 2003b]
Tipos de EJB - Entity Bean Persistência Gerenciada pelo
Container Simplificação do desenvolvimento de
entity beans Gerencia e executa todas as
operações de recuperação e armazenamento de dados
Tipos de EJB - Entity Bean Persistência Gerenciada pelo Bean
Desenvolvedor é responsável pela implementação das operações de persistência
Operações implementadas diretamente nos métodos da classe do bean EJB - códigos SQL e JDBC
Tipos de EJB - Entity Bean
[Sun, 2002b]
EJB Container cria uma
instância e associa um contexto
Pool de instâncias – aguarda o
cliente
Métodos de negócio podem ser
invocados
Caso precise liberar
recursos
Invocado pelo cliente
Referências [HEINEMAN, 2001] HEINEMAN, G., T., COUNCIL, W., T.
Component-based software engineering: putting the pieces together. Addison-Wesley, 2001.
[MACIEL, 2002] MACIEL, F. R. Modelagem do catálogo e autenticação do direto utilizando j2ee e jaas. Porto Alegre, RS, 2002. 72 f. Monografia (Bacharelado em Ciência da Computação) – Instituto de Informática, Universidade Federal do Rio Grande do Sul. Disponível em: <http://www.inf.ufrgs.br/procpar/direto/trabalhos/monografia.pdf> Acesso em: 24 fev. 2003.
[THOMAS, 1998] THOMAS, A. Enterprise javabeans technology: server component model for the JavaTM plataform. Patricia Seybold Group, dez. 1998. Relatório técnico. Disponível em: <http://www.ejbean.com/documents/downloads/white_paper.pdf> Acesso em: 16 nov. 2002.
Referências [PRADO, 2003a] PRADO, A. F. Enterprise javabeans
technology. Curso de Pós-Graduação em Ciência da Computação. Disponível em: <http://www.recope.dc.ufscar.br/engenhariadesoftware/principal/index.htm> Acesso em: 5 fev. 2003.
[PRADO, 2003b] Prado, A. F. Tecnologias para DBC. Disponível em: <http://www.cos.ufrj.br/~wdbc/2002/download/tecnologias.pdf> Acesso em: 04 jun. 2003.
[SUN, 2002c] SUN MICROSYSTEMS. Designing enterprise applications with the j2ee platform, second edition. Disponível em: <http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/index.html> Acesso em: 5 mar. 2003.
Referências [SUN, 2002a] SUN MICROSYSTEMS. Developing enterprise
applications using the j2eeTM platform. Disponível em: <http://developer.java.sun.com/developer/onlineTraining/J2EE/Intro2/j2ee.html> Acessado em: 4 fev. 2003.
[SUN, 2002b] SUN MICROSYSTEMS. The j2ee tutorial. Disponível em: <http://java.sun.com/j2ee/1.3/download.html#tutorial> Acesso em: 4 fev. 2003.
top related