Enterprise JavaBeans

Post on 14-Nov-2014

1.422 views 1 download

description

 

Transcript of Enterprise JavaBeans

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.