Enterprise JavaBeans

35
Enterprise JavaBeans Érika Ishy

description

 

Transcript of Enterprise JavaBeans

Page 1: Enterprise JavaBeans

Enterprise JavaBeans

Érika Ishy

Page 2: Enterprise JavaBeans

Roteiro Visão Geral

JavaBeans Enterprise JavaBeans

Infra-Estrutura EJB Servidor J2EE Interfaces de um EJB Tipos de Visão Tipos de EJB

Page 3: Enterprise JavaBeans

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

Page 4: Enterprise JavaBeans

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

Page 5: Enterprise JavaBeans

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

Page 6: Enterprise JavaBeans

Visão GeralSem

componentes: aplicações acessando

diretamento o bd

[Prado, 2003b]

Page 7: Enterprise JavaBeans

Visão GeralCom componentes:

aplicações acessam as regras de negócio dos componentes. Estes,

acessam o bd

[Prado, 2003b]

Page 8: Enterprise JavaBeans

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

Page 9: Enterprise JavaBeans

Infra-Estrutura EJB

[Prado, 2003a]

Page 10: Enterprise JavaBeans

Infra-Estrutura EJB

[Prado, 2003a]

Page 11: Enterprise JavaBeans

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]

Page 12: Enterprise JavaBeans

Servidor J2EE

[Prado, 2003b]

Page 13: Enterprise JavaBeans

Interfaces de um EJB

[Maciel, 2002]

Page 14: Enterprise JavaBeans

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

Page 15: Enterprise JavaBeans

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

Page 16: Enterprise JavaBeans

Tipos de Visão

[Prado, 2003b]

Page 17: Enterprise JavaBeans

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

Page 18: Enterprise JavaBeans

Tipos de Visão

Page 19: Enterprise JavaBeans

Tipos de Visão

Page 20: Enterprise JavaBeans

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

Page 21: Enterprise JavaBeans

Tipos de EJB

[Prado, 2003b]

Page 22: Enterprise JavaBeans

Tipos de EJB

“Quebra” o session bean e seus dados são

perdidos.Entity bean é persistente e

representa o dado no bd (recuperado).

Page 23: Enterprise JavaBeans

Tipos de EJB - Session Bean Session Bean

Gerenciado pelo container Não pode ser recuperado Stateless Stateful

Page 24: Enterprise JavaBeans

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

Page 25: Enterprise JavaBeans

Tipos de EJB - Session Bean Stateful

[Sun, 2002b]

Invocados pelo EJB

Container

Métodos de negócio podem ser

invocados

Caso precise liberar

recursos

Page 26: Enterprise JavaBeans

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

Page 27: Enterprise JavaBeans

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

Page 28: Enterprise JavaBeans

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

Page 29: Enterprise JavaBeans

Tipos de EJB - Entity Bean

[Prado, 2003b]

Page 30: Enterprise JavaBeans

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

Page 31: Enterprise JavaBeans

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

Page 32: Enterprise JavaBeans

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

Page 33: Enterprise JavaBeans

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.

Page 34: Enterprise JavaBeans

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.

Page 35: Enterprise JavaBeans

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.