ApresentaçãO Ejb (Enterprise Java Beans)

6,012 views

Published on

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

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,012
On SlideShare
0
From Embeds
0
Number of Embeds
115
Actions
Shares
0
Downloads
230
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

ApresentaçãO Ejb (Enterprise Java Beans)

  1. 1. J2EE (Java Enterprise Edition) EJB 3.0 (Enterprise JavaBeans) Maurício Rosa 1
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 27. FIM 27

×