O documento fornece uma visão geral dos Enterprise JavaBeans (EJB), descrevendo sua infraestrutura, interfaces, tipos de visão e tipos de EJB, incluindo session beans e entity beans.
Roteiro Visão GeralJavaBeans Enterprise JavaBeans Infra-Estrutura EJB Servidor J2EE Interfaces de um EJB Tipos de Visão Tipos de EJB
3.
Visão Geral Oque é 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
4.
Visão Geral Modelode 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
5.
Visão Geral Simplificaas responsabilidades do desenvolvedor sobre a computação distribuída Focalizar nas principais funcionalidades que a aplicação de negócio requer
6.
Visão Geral Semcomponentes: aplicações acessando diretamento o bd [Prado, 2003b]
7.
Visão Geral Comcomponentes: aplicações acessam as regras de negócio dos componentes. Estes, acessam o bd [Prado, 2003b]
8.
Visão Geral Separaçãoentre 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
Servidor J2EE Ambientepara 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]
Interfaces de umEJB 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
15.
Interfaces de umEJB Interface Remota Visão do cliente para uma instância de um ejb – regras de negócio métodos da interface remota implementação na classe do ejb métodos de negócio
Tipos de VisãoVisã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
Tipos de EJB“ Quebra” o session bean e seus dados são perdidos. Entity bean é persistente e representa o dado no bd (recuperado).
23.
Tipos de EJB - Session Bean Session Bean Gerenciado pelo container Não pode ser recuperado Stateless Stateful
24.
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
25.
Tipos de EJB - Session Bean Stateful [Sun, 2002b] Invocados pelo EJB Container Métodos de negócio podem ser invocados Caso precise liberar recursos
26.
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
27.
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
28.
Tipos de EJB- Entity Bean Entity Bean Opera como objeto de negócio representando o dado no bd ou em qualquer outra fonte de dados Dado representado pelo bean pode mudar – sincronização bean/bd – responsabilidade do container/bean
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
31.
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
32.
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
33.
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 Java TM 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.
34.
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.
35.
Referências [SUN, 2002a]SUN MICROSYSTEMS. Developing enterprise applications using the j2ee TM 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.