apresentação ejb (enterprise java beans)

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

Upload: mauriciopel

Post on 06-Jun-2015

5.225 views

Category:

Technology


3 download

DESCRIPTION

Trabalho desenvolvido pelo Aluno Mauricio Rosa da Universidade Catolica de Pelotas - Programação Comercial II - J2EE/EJB

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