Top Banner
1 J2EE (Java Enterprise Edition) EJB 3.0 (Enterprise JavaBeans) Maurício Rosa
27

ApresentaçãO Ejb (Enterprise Java Beans)

Jun 06, 2015

Download

Technology

mauriciopel

Trabalho desenvolvido pelo Aluno Mauricio Rosa da Universidade Catolica de Pelotas - Programação Comercial II - J2EE/EJB
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ApresentaçãO Ejb (Enterprise Java Beans)

1

J2EE (Java Enterprise Edition) EJB 3.0 (Enterprise JavaBeans)

Maurício Rosa

Page 2: ApresentaçãO Ejb (Enterprise Java Beans)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

27

FIM