SlideShare une entreprise Scribd logo
1  sur  27
J2EE
(Java Enterprise Edition)
EJB 3.0
(Enterprise JavaBeans)

Maurício Rosa

                            1
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.
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.
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.
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.
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.
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)
Componentes da Arquitetura EJB
Como é 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";
  }
  .
  .
Componentes da Arquitetura EJB
Tipos de EBJ:

O componente EJB possui três tipos fundamentais que são:

• Session Bean
  –   Stateful
  –   Stateless
• Entity Bean
• Message-Driven Bean
  –   Point-to-point (queue)
  –   Publish-subscriber (topic)
Componentes da Arquitetura EJB

• 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;
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.
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";
  }
     .
     .
     .
Componentes da Arquitetura EJB
1. Session Bean

Tipos de Session Bean:

  1. @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.
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";
  }
     .
     .
     .
Componentes da Arquitetura EJB

• 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;
Componentes da Arquitetura EJB

• 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;
Componentes da Arquitetura EJB
1. Message-Driven Bean

Existem dois tipos de destinos JMS:

  –   Point-to-point (queue): uma mensagem enviada para a fila
      será consumida apenas por um cliente;

  –   Publish-subscriber (topic): uma mensagem pode ser
      recepcionada por múltiplos clientes;
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;
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;
Componentes da Arquitetura EJB
Exemplo do uso :

import javax.ejb.Remote;

@Remote
public interface StatelessSession {

    public String sayHello(String name);

    public String mostraDataAtual();

    public String multiplica(int x, int y);

}
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;
Componentes da Arquitetura EJB
Exemplo do uso :

import javax.ejb.Local;

@Local
public interface StatelessSession {

    public String sayHello(String name);

    public String mostraDataAtual();

    public String multiplica(int x, int y);

}
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;
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
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.
Referencias
http://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>
FIM


      27

Contenu connexe

Tendances

JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoEduardo Bregaida
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIYitzhak Stone
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeAdriano Tavares
 
Sistemas Distribuídos - Comunicação Distribuída - EJB
Sistemas Distribuídos - Comunicação Distribuída - EJBSistemas Distribuídos - Comunicação Distribuída - EJB
Sistemas Distribuídos - Comunicação Distribuída - EJBAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"sbcars
 
As Novidades do JMS 2.0
As Novidades do JMS 2.0As Novidades do JMS 2.0
As Novidades do JMS 2.0Bruno Borges
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application ServerFabricio Carvalho
 
Introdução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reaisIntrodução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reaisMichel Graciano
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeRafael Ponte
 
Introdução ao JavaServer Faces
Introdução ao JavaServer FacesIntrodução ao JavaServer Faces
Introdução ao JavaServer FacesWillian Watanabe
 

Tendances (20)

Apresentação JSF
Apresentação JSFApresentação JSF
Apresentação JSF
 
Introdução a jsf
Introdução a jsfIntrodução a jsf
Introdução a jsf
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Java OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMIJava OO Middleware - JEE / EJB / RMI
Java OO Middleware - JEE / EJB / RMI
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
Sistemas Distribuídos - Comunicação Distribuída - EJB
Sistemas Distribuídos - Comunicação Distribuída - EJBSistemas Distribuídos - Comunicação Distribuída - EJB
Sistemas Distribuídos - Comunicação Distribuída - EJB
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
Palest"Tecnologias para Desenvolvimento Baseado em Componentes"
 
As Novidades do JMS 2.0
As Novidades do JMS 2.0As Novidades do JMS 2.0
As Novidades do JMS 2.0
 
Java Web 1 Introducao
Java Web 1 IntroducaoJava Web 1 Introducao
Java Web 1 Introducao
 
Java ee 5
Java ee 5Java ee 5
Java ee 5
 
Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application Server
 
Cdi conceitos
Cdi conceitosCdi conceitos
Cdi conceitos
 
Introdução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reaisIntrodução a CDI e como utilizá-la em aplicações reais
Introdução a CDI e como utilizá-la em aplicações reais
 
Workshop05
Workshop05Workshop05
Workshop05
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
Introdução ao JavaServer Faces
Introdução ao JavaServer FacesIntrodução ao JavaServer Faces
Introdução ao JavaServer Faces
 

Similaire à ApresentaçãO Ejb (Enterprise Java Beans)

Maratona JBoss 2010 - JBoss-ESB
Maratona JBoss 2010 - JBoss-ESBMaratona JBoss 2010 - JBoss-ESB
Maratona JBoss 2010 - JBoss-ESBDextra
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaMariana de Azevedo Santos
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Helder da Rocha
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRElvis Rocha
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e DependênciasWende Mendes
 
GlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEGlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEBruno Borges
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeRafael Benevides
 

Similaire à ApresentaçãO Ejb (Enterprise Java Beans) (20)

Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Maratona JBoss 2010 - JBoss-ESB
Maratona JBoss 2010 - JBoss-ESBMaratona JBoss 2010 - JBoss-ESB
Maratona JBoss 2010 - JBoss-ESB
 
Apache e Java
Apache e JavaApache e Java
Apache e Java
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
Flisolgo2010
Flisolgo2010Flisolgo2010
Flisolgo2010
 
Spring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em JavaSpring: Overview do framework mais popular para desenvolvimento em Java
Spring: Overview do framework mais popular para desenvolvimento em Java
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
 
J2EE Na Vida Real
J2EE Na Vida RealJ2EE Na Vida Real
J2EE Na Vida Real
 
JAVABEANS.pdf
JAVABEANS.pdfJAVABEANS.pdf
JAVABEANS.pdf
 
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BRJBoss Fuse Service Works - O Fuse além da integração - PT-BR
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e Dependências
 
GlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EEGlassFish, Maven, Cloud e o futuro do Java EE
GlassFish, Maven, Cloud e o futuro do Java EE
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
GUJavaSC - Java EE 7 In Action
GUJavaSC - Java EE 7 In ActionGUJavaSC - Java EE 7 In Action
GUJavaSC - Java EE 7 In Action
 
JSF & REST
JSF & RESTJSF & REST
JSF & REST
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
CDI Extensions e DeltaSpike
CDI Extensions e DeltaSpikeCDI Extensions e DeltaSpike
CDI Extensions e DeltaSpike
 

ApresentaçãO Ejb (Enterprise Java Beans)

  • 1. J2EE (Java Enterprise Edition) EJB 3.0 (Enterprise JavaBeans) Maurício Rosa 1
  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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)
  • 8. Componentes da Arquitetura EJB Como é 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"; } . .
  • 9. Componentes da Arquitetura EJB Tipos de EBJ: O componente EJB possui três tipos fundamentais que são: • Session Bean – Stateful – Stateless • Entity Bean • Message-Driven Bean – Point-to-point (queue) – Publish-subscriber (topic)
  • 10. Componentes da Arquitetura EJB • 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;
  • 11. 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.
  • 12. 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"; } . . .
  • 13. Componentes da Arquitetura EJB 1. Session Bean Tipos de Session Bean: 1. @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.
  • 14. 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"; } . . .
  • 15. Componentes da Arquitetura EJB • 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;
  • 16. Componentes da Arquitetura EJB • 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;
  • 17. Componentes da Arquitetura EJB 1. Message-Driven Bean Existem dois tipos de destinos JMS: – Point-to-point (queue): uma mensagem enviada para a fila será consumida apenas por um cliente; – Publish-subscriber (topic): uma mensagem pode ser recepcionada por múltiplos clientes;
  • 18. 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;
  • 19. 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;
  • 20. Componentes da Arquitetura EJB Exemplo do uso : import javax.ejb.Remote; @Remote public interface StatelessSession { public String sayHello(String name); public String mostraDataAtual(); public String multiplica(int x, int y); }
  • 21. 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;
  • 22. Componentes da Arquitetura EJB Exemplo do uso : import javax.ejb.Local; @Local public interface StatelessSession { public String sayHello(String name); public String mostraDataAtual(); public String multiplica(int x, int y); }
  • 23. 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;
  • 24. 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
  • 25. 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.
  • 26. Referencias http://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>
  • 27. FIM 27