Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ApresentaçãO Ejb (Enterprise Java Beans)

6,140 views

Published on

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

Published in: Technology
  • Be the first to comment

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

×