apresentação ejb (enterprise java beans)
DESCRIPTION
Trabalho desenvolvido pelo Aluno Mauricio Rosa da Universidade Catolica de Pelotas - Programação Comercial II - J2EE/EJBTRANSCRIPT
![Page 1: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/1.jpg)
1
J2EE (Java Enterprise Edition) EJB 3.0 (Enterprise JavaBeans)
Maurício Rosa
![Page 2: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/2.jpg)
J2EE (Java Enterprise Edition)
• É a plataforma Java voltada para redes, internet, intranets, aplicações corporativas;
• Contém bibliotecas especialmente desenvolvidas para o acesso a servidores, a sistemas de e-mail, a banco de dados;
• Foi desenvolvido para suportar uma grande quantidade de usuários simultâneos.
![Page 3: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/3.jpg)
Visão Geral EJB
JavaBeans (~1996)• Modelo de componentes que privilegia o suporte a
ferramentas gráficas para a composição de aplicações .
Enterprise JavaBeans (EJB) (~1999)• Extensão de JavaBeans para ambientes distribuídos;• Ambiente Java robusto;• Aplicações com arquitetura multicamadas;• Modelo de componentes para grandes aplicações de
negócio.
![Page 4: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/4.jpg)
EJB ou Enterprise JavaBeans
• É um dos principais componentes da plataforma J2EE;
• É um componente do tipo servidor que executa no container do servidor de aplicação;
• Permite a criação modular, utilizando o conceito de componentes, de aplicações servidoras;
• O componente utiliza o conceito de JavaBeans, componentes da linguagem Java que permitem agrupar diversos objetos em um simples objeto, chamado bean.
![Page 5: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/5.jpg)
Componentes da Arquitetura EJB
Servidor EJB
• Servidor de aplicação genérico que fornece um ambiente compatível com a especificação da arquitetura EJB.
• Fornece um ou mais containers para os componentes nele implantados.
• Responsável pelo gerenciamento e coordenação da alocação de recursos: Threads, processos, memória, conexões a BD. Serviços: transações, nomes, segurança e persistência.
![Page 6: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/6.jpg)
Componentes da Arquitetura EJB
Container EJB
• Fornece contexto de execução e contexto transacional aos componentes.
• Registra o componente no serviço de nomes, cria e destrói instâncias.
• Fornece interface remota para o componente.• Gerencia transações, estado e persistência.
![Page 7: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/7.jpg)
Componentes da Arquitetura EJB
Anotações(@...)
• Adiciona informação a classe, interface, método ou variável.• Anotações são usadas também para outras finalidades por
exemplo: Descrever o tipo de EJB Session Beans(@Stateful, @Stateless) Entity Bean(@Entity) Message-Driven Bean(@MessageDriven)
![Page 8: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/8.jpg)
Componentes da Arquitetura EJBComo é um Bean?
• É uma classe com anotação;
import javax.ejb.Stateless;
@Stateless
public class StatelessSessionBean implements StatelessSession {public String sayHello(String name) {
return "Hello, " + name + "!\n"; }
.
.
.
![Page 9: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/9.jpg)
Componentes da Arquitetura EJB
Tipos de EBJ:
O componente EJB possui três tipos fundamentais que são:
1. Session Bean1. Stateful2. Stateless
2. Entity Bean3. Message-Driven Bean
1. Point-to-point (queue)2. Publish-subscriber (topic)
![Page 10: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/10.jpg)
Componentes da Arquitetura EJB
1. Session Bean
• Representa uma sessão de um único cliente;• Pode atualizar dados em bancos de dados, mas não representa os
dados;• Vida relativamente curta;• Removido quando ocorre queda do container cliente tem de
restabelecer um novo objeto sessão para continuar o trabalho;
![Page 11: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/11.jpg)
Componentes da Arquitetura EJB
1. Session Bean
Tipos de Session Bean:
1. @Stateful
Matém o estado da informação retido pela duração da sessão. Dedicado a um único cliente, não podendo ser acessado por
outros clientes. Ex: compra com cartão de crédito.
![Page 12: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/12.jpg)
Componentes da Arquitetura EJB
Exemplo do uso :
import javax.ejb.Stateful;
@Stateful
public class StatefulSessionBean implements StatefulSession {public String sayHello(String name) {
return "Hello, " + name + "!\n"; }
.
.
.
![Page 13: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/13.jpg)
Componentes da Arquitetura EJB
1. Session Bean
Tipos de Session Bean:
2. @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.
![Page 14: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/14.jpg)
Componentes da Arquitetura EJB
Exemplo do uso :
import javax.ejb.Stateless;
@Stateless
public class StatelessSessionBean implements StatelessSession {public String sayHello(String name) {
return "Hello, " + name + "!\n"; }
.
.
.
![Page 15: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/15.jpg)
Componentes da Arquitetura EJB
2. Entity Bean
• Participa em transações;• Possibilita acesso compartilhado por múltiplos usuários;• Representa dados armazenados de forma persistente;• Possui “vida longa”, ou seja, dura tanto quanto os dados em um banco
de dados;• Uma falha do servidor é transparente ao cliente;
![Page 16: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/16.jpg)
Componentes da Arquitetura EJB
3. Message-Driven Bean
• EJB que é acionado de forma assíncrona;• Trabalha totalmente vinculado ao conceito de utilização de um serviço
de mensagens;• Utiliza a API do Java Message Service (JMS) em conjunto com Session
Beans;• Serviços de mensagens introduzem novos conceitos de arquiteturas e
aumenta a confiabilidade da solução;
![Page 17: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/17.jpg)
Componentes da Arquitetura EJB
3. Message-Driven Bean
Existem dois tipos de destinos JMS:
1. Point-to-point (queue): uma mensagem enviada para a fila será consumida apenas por um cliente;
2. Publish-subscriber (topic): uma mensagem pode ser recepcionada por múltiplos clientes;
![Page 18: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/18.jpg)
Componentes da Arquitetura EJB
Interfaces
• Clientes acessam o Session Bean através de uma interface Java simples (POJI);
• Métodos são publicados através desta interface;• A interface deve ser implementada pela classe do Bean;
![Page 19: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/19.jpg)
Componentes da Arquitetura EJB
Tipos de Interfaces:
Interface Remota
• Pode funcionar em uma máquina diferente e em uma máquina virtual Java (JVM) diferente da qual o EJB está executando;
• Pode ser um componente Web, um cliente J2EE, ou um outro EJB;• Para um cliente remoto, a posição do EJB é transparente;
![Page 20: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/20.jpg)
Componentes da Arquitetura EJB
Exemplo do uso :
import javax.ejb.Remote;
@Remotepublic interface StatelessSession {
public String sayHello(String name);
public String mostraDataAtual();
public String multiplica(int x, int y);
}
![Page 21: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/21.jpg)
Componentes da Arquitetura EJB
Tipos de Interfaces:
Interface Local
• Deve funcionar na mesma JVM que o bean que ele acessa;• Pode ser um componente web ou outro EJB;• Ao cliente local, a posição do EJB que ele acessa não é transparente;
![Page 22: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/22.jpg)
Componentes da Arquitetura EJB
Exemplo do uso :
import javax.ejb.Local;
@Localpublic interface StatelessSession {
public String sayHello(String name);
public String mostraDataAtual();
public String multiplica(int x, int y);
}
![Page 23: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/23.jpg)
Componentes da Arquitetura EJB
Tipos de Interfaces:
Classe bean
• Contém a lógica do negócio;• Deve implementar no mínimo uma interface;• Pode implementar mais de uma interface;• Deve ser anotada com o seu tipo, ex: @Stateless;• Interação nunca é feita diretamente com uma instância do Bean, mas
com Stubs que são gerados automaticamente pelo container;
![Page 24: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/24.jpg)
Servidor de Aplicação
GlassFish
• O GlassFish Enterprise Server, desenvolvido para plataforma Java EE;
• É um servidor de aplicações de código aberto de nível corporativo que oferece desempenho, confiabilidade, produtividade e facilidade de uso.
http://br.sun.com/practice/software/glassfish/index.jsp
![Page 25: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/25.jpg)
Conclusão
• EJB 2 era muito complexo de usufruir dos serviços, implementá-los era inviável e usá-los era difícil.
• EJB 3.0 é uma solução viável para aplicações “corporativas” desenvolvimento EJB vem melhorando muito.
• EJB 3.0 permite a reutilização de código.
• EJB 3.1 irá simplificar mais ainda o desenvolvimento EJB.
![Page 26: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/26.jpg)
Referenciashttp://api.ning.com/files/n--bYDgNKr*WxtDkvbvVFbQ5OnGBPjfXxp6qhktGuHckyM7XlI5O-
pgoTegf3crvaqfaE3OCxHgQR9xUyoBLvUm-j4Ma8WGc/ejb.odp
http://www.slideshare.net
http://pt.wikipedia.org
www.j2eebrasil.com.br
java.sun.com
DOMINANDO ENTERPRISE JAVABEANS
de SCOTT W. AMBLER, ED ROMAN, TYLER JEWELL
JBoss Web Site: http://labs.jboss.com/portal/jbossejb3
http://pt.wikibooks.org
http://java.sun.com/products/ejb/
[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>
![Page 27: ApresentaçãO Ejb (Enterprise Java Beans)](https://reader035.vdocuments.site/reader035/viewer/2022062220/55729cb6d8b42aae598b5221/html5/thumbnails/27.jpg)
27
FIM