Enterprise JavaBeans Érika Ishy
Roteiro <ul><li>Visão Geral </li></ul><ul><ul><li>JavaBeans </li></ul></ul><ul><ul><li>Enterprise JavaBeans </li></ul></ul...
Visão Geral <ul><li>O que é JavaBeans </li></ul><ul><ul><li>Modelo de componentes que privilegia o suporte a ferramentas g...
Visão Geral <ul><ul><li>Modelo de componentes para grandes aplicações de negócio </li></ul></ul><ul><ul><ul><li>Interfaces...
Visão Geral <ul><li>Simplifica as responsabilidades do desenvolvedor sobre a computação distribuída </li></ul><ul><ul><li>...
Visão Geral Sem componentes: aplicações acessando diretamento o bd [Prado, 2003b]
Visão Geral Com componentes: aplicações acessam as regras de negócio dos componentes. Estes, acessam o  bd [Prado, 2003b]
Visão Geral <ul><li>Separação entre aplicação e componente => código mais simples e flexível </li></ul><ul><li>Melhora a s...
Infra-Estrutura EJB [Prado, 2003a]
Infra-Estrutura EJB [Prado, 2003a]
Servidor J2EE Ambiente para a execução  aplicações EJB. Gerencia e coordena alocação de recursos. Encapsula os beans EJB. ...
Servidor J2EE [Prado, 2003b]
Interfaces de um EJB [Maciel, 2002]
Interfaces de um EJB <ul><li>Interface Home </li></ul><ul><ul><li>Serviços de criação e remoção de instâncias do component...
Interfaces de um EJB <ul><li>Interface Remota </li></ul><ul><ul><li>Visão do cliente para uma instância de um ejb – regras...
Tipos de Visão [Prado, 2003b]
Tipos de Visão <ul><li>Visão Remota </li></ul><ul><ul><li>Sistema distribuído </li></ul></ul><ul><ul><li>Transparência na ...
Tipos de Visão
Tipos de Visão
Tipos de Visão <ul><li>Visão Local </li></ul><ul><ul><li>Servidor    Máquina Cliente  </li></ul></ul><ul><ul><li>Acesso l...
Tipos de EJB [Prado, 2003b]
Tipos de EJB “ Quebra” o session bean e seus dados são perdidos. Entity bean é persistente e representa o dado no bd (recu...
Tipos de  EJB  - Session Bean <ul><li>Session Bean </li></ul><ul><ul><li>Gerenciado pelo  </li></ul></ul><ul><ul><li>conta...
Tipos de  EJB  - Session Bean <ul><li>Stateful </li></ul><ul><ul><li>Mantém estado ao longo de todo a conversação com um c...
Tipos de  EJB  - Session Bean <ul><li>Stateful </li></ul>[Sun, 2002b] Invocados pelo EJB Container Métodos de negócio pode...
Tipos de  EJB  - Session Bean <ul><li>Stateless </li></ul><ul><ul><li>Não possui estado conversacional </li></ul></ul><ul>...
Tipos de  EJB  - Session Bean <ul><li>Stateless </li></ul>[Sun, 2002b] EJB Container responsável pela criação/remoção sem ...
Tipos de EJB - Entity Bean <ul><li>Entity Bean </li></ul><ul><ul><li>Opera como objeto de </li></ul></ul><ul><ul><li>negóc...
Tipos de EJB - Entity Bean [Prado, 2003b]
Tipos de EJB - Entity Bean <ul><li>Persistência Gerenciada pelo Container </li></ul><ul><ul><li>Simplificação do desenvolv...
Tipos de EJB - Entity Bean <ul><li>Persistência Gerenciada pelo Bean </li></ul><ul><ul><li>Desenvolvedor é responsável pel...
Tipos de EJB - Entity Bean [Sun, 2002b] EJB Container cria uma instância e associa um contexto Pool de instâncias – aguard...
Referências <ul><li>[HEINEMAN, 2001] HEINEMAN, G., T., COUNCIL, W., T.  Component-based software engineering: putting the ...
Referências <ul><li>[PRADO, 2003a] PRADO, A. F.  Enterprise javabeans technology . Curso de Pós-Graduação em Ciência da Co...
Referências <ul><li>[SUN, 2002a] SUN MICROSYSTEMS.  Developing enterprise applications using the j2ee TM  platform .  Disp...
Upcoming SlideShare
Loading in...5
×

Enterprise JavaBeans

1,043

Published on

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,043
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
89
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Enterprise JavaBeans

  1. 1. Enterprise JavaBeans Érika Ishy
  2. 2. Roteiro <ul><li>Visão Geral </li></ul><ul><ul><li>JavaBeans </li></ul></ul><ul><ul><li>Enterprise JavaBeans </li></ul></ul><ul><li>Infra-Estrutura EJB </li></ul><ul><li>Servidor J2EE </li></ul><ul><li>Interfaces de um EJB </li></ul><ul><li>Tipos de Visão </li></ul><ul><li>Tipos de EJB </li></ul>
  3. 3. Visão Geral <ul><li>O que é JavaBeans </li></ul><ul><ul><li>Modelo de componentes que privilegia o suporte a ferramentas gráficas para a composição de aplicações – controles visuais (botão) </li></ul></ul>Define a arquitetura básica do componente, de suas interfaces e de como ele interage com outros componentes <ul><li>Enterprise JavaBeans (EJB) </li></ul><ul><ul><li>Extensão de JavaBeans para ambientes distribuídos </li></ul></ul><ul><ul><li>Ambiente Java robusto </li></ul></ul><ul><ul><li>Aplicações com arquitetura multicamadas </li></ul></ul>
  4. 4. Visão Geral <ul><ul><li>Modelo de componentes para grandes aplicações de negócio </li></ul></ul><ul><ul><ul><li>Interfaces padronizadas – Home/Remote </li></ul></ul></ul><ul><ul><ul><li>Sistema de execução de componentes para arquiteturas multicamadas – EJB Container </li></ul></ul></ul><ul><ul><li>Objetivos: </li></ul></ul><ul><ul><ul><li>Reutilização de software </li></ul></ul></ul><ul><ul><ul><li>Portabilidade de componentes </li></ul></ul></ul><ul><ul><ul><li>Execução de transações </li></ul></ul></ul><ul><ul><ul><li>Suporte para controle e segurança </li></ul></ul></ul>
  5. 5. Visão Geral <ul><li>Simplifica as responsabilidades do desenvolvedor sobre a computação distribuída </li></ul><ul><ul><li>Focalizar nas principais funcionalidades que a aplicação de negócio requer </li></ul></ul>
  6. 6. Visão Geral Sem componentes: aplicações acessando diretamento o bd [Prado, 2003b]
  7. 7. Visão Geral Com componentes: aplicações acessam as regras de negócio dos componentes. Estes, acessam o bd [Prado, 2003b]
  8. 8. Visão Geral <ul><li>Separação entre aplicação e componente => código mais simples e flexível </li></ul><ul><li>Melhora a segurança e a confiabilidade </li></ul><ul><li>Facilita a manutenção </li></ul><ul><li>Reutilização de código => diversas aplicações clientes usando o mesmo componente simultaneamente </li></ul>
  9. 9. Infra-Estrutura EJB [Prado, 2003a]
  10. 10. Infra-Estrutura EJB [Prado, 2003a]
  11. 11. Servidor J2EE Ambiente para a execução aplicações EJB. Gerencia e coordena alocação de recursos. Encapsula os beans EJB. Gerenciamento de transações, segurança, comunicação, conexões bd... Componentes focados na lógica do problema. Classe do bean implementa os métodos de negócio [Prado, 2003a]
  12. 12. Servidor J2EE [Prado, 2003b]
  13. 13. Interfaces de um EJB [Maciel, 2002]
  14. 14. Interfaces de um EJB <ul><li>Interface Home </li></ul><ul><ul><li>Serviços de criação e remoção de instâncias do componente </li></ul></ul><ul><ul><ul><li>create() - ejbCreate() </li></ul></ul></ul><ul><ul><ul><li>remove() - ejbRemove() </li></ul></ul></ul><ul><ul><li>Métodos de busca: findByPrimaryKey() </li></ul></ul>métodos do ciclo de vida
  15. 15. Interfaces de um EJB <ul><li>Interface Remota </li></ul><ul><ul><li>Visão do cliente para uma instância de um ejb – regras de negócio </li></ul></ul>métodos da interface remota implementação na classe do ejb métodos de negócio
  16. 16. Tipos de Visão [Prado, 2003b]
  17. 17. Tipos de Visão <ul><li>Visão Remota </li></ul><ul><ul><li>Sistema distribuído </li></ul></ul><ul><ul><li>Transparência na localização </li></ul></ul><ul><ul><li>Limitações de performance - rede </li></ul></ul>
  18. 18. Tipos de Visão
  19. 19. Tipos de Visão
  20. 20. Tipos de Visão <ul><li>Visão Local </li></ul><ul><ul><li>Servidor  Máquina Cliente </li></ul></ul><ul><ul><li>Acesso local e direto aos métodos da interface do componente </li></ul></ul><ul><ul><li>Ganho de performance - overhead </li></ul></ul><ul><ul><li>Perda da transparência na localização </li></ul></ul><ul><ul><li>Clientes na mesma JVM que os EJB’s </li></ul></ul>
  21. 21. Tipos de EJB [Prado, 2003b]
  22. 22. Tipos de EJB “ Quebra” o session bean e seus dados são perdidos. Entity bean é persistente e representa o dado no bd (recuperado).
  23. 23. Tipos de EJB - Session Bean <ul><li>Session Bean </li></ul><ul><ul><li>Gerenciado pelo </li></ul></ul><ul><ul><li>container </li></ul></ul><ul><ul><li>Não pode ser </li></ul></ul><ul><ul><li>recuperado </li></ul></ul><ul><ul><li>Stateless </li></ul></ul><ul><ul><li>Stateful </li></ul></ul>
  24. 24. Tipos de EJB - Session Bean <ul><li>Stateful </li></ul><ul><ul><li>Mantém estado ao longo de todo a conversação com um cliente </li></ul></ul><ul><ul><li>Dedicado a um único cliente, não podendo ser acessado por outros clientes – compra com cartão de crédito </li></ul></ul>tempo de vida do stateful tempo de vida do cliente
  25. 25. Tipos de EJB - Session Bean <ul><li>Stateful </li></ul>[Sun, 2002b] Invocados pelo EJB Container Métodos de negócio podem ser invocados Caso precise liberar recursos
  26. 26. Tipos de EJB - Session Bean <ul><li>Stateless </li></ul><ul><ul><li>Não possui estado conversacional </li></ul></ul><ul><ul><li>Não é dedicado a um único cliente </li></ul></ul><ul><ul><li>Duração de um intervalo de execução de um serviço invocado pelo cliente – caixa: aplicar desconto, calcular frete </li></ul></ul><ul><ul><li>Ciclo de vida muito simples </li></ul></ul>
  27. 27. Tipos de EJB - Session Bean <ul><li>Stateless </li></ul>[Sun, 2002b] EJB Container responsável pela criação/remoção sem que seja indicado pelo cliente Create() e Remove() somente pelo EJB Container
  28. 28. Tipos de EJB - Entity Bean <ul><li>Entity Bean </li></ul><ul><ul><li>Opera como objeto de </li></ul></ul><ul><ul><li>negócio representando o </li></ul></ul><ul><ul><li>dado no bd ou em qualquer outra </li></ul></ul><ul><ul><li>fonte de dados </li></ul></ul><ul><ul><li>Dado representado pelo bean </li></ul></ul><ul><ul><li>pode mudar – sincronização </li></ul></ul><ul><ul><li>bean/bd – responsabilidade do </li></ul></ul><ul><ul><li>container/bean </li></ul></ul>
  29. 29. Tipos de EJB - Entity Bean [Prado, 2003b]
  30. 30. Tipos de EJB - Entity Bean <ul><li>Persistência Gerenciada pelo Container </li></ul><ul><ul><li>Simplificação do desenvolvimento de entity beans </li></ul></ul><ul><ul><li>Gerencia e executa todas as operações de recuperação e armazenamento de dados </li></ul></ul>
  31. 31. Tipos de EJB - Entity Bean <ul><li>Persistência Gerenciada pelo Bean </li></ul><ul><ul><li>Desenvolvedor é responsável pela implementação das operações de persistência </li></ul></ul><ul><ul><li>Operações implementadas diretamente nos métodos da classe do bean EJB - códigos SQL e JDBC </li></ul></ul>
  32. 32. Tipos de EJB - Entity Bean [Sun, 2002b] EJB Container cria uma instância e associa um contexto Pool de instâncias – aguarda o cliente Métodos de negócio podem ser invocados Caso precise liberar recursos Invocado pelo cliente
  33. 33. Referências <ul><li>[HEINEMAN, 2001] HEINEMAN, G., T., COUNCIL, W., T. Component-based software engineering: putting the pieces together . Addison-Wesley, 2001. </li></ul><ul><li>[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> Acesso em: 24 fev. 2003. </li></ul><ul><li>[THOMAS, 1998] THOMAS, A. Enterprise javabeans technology : server component model for the Java TM plataform. Patricia Seybold Group, dez. 1998. Relatório técnico. Disponível em: <http://www.ejbean.com/documents/downloads/white_paper.pdf> Acesso em: 16 nov. 2002. </li></ul>
  34. 34. Referências <ul><li>[PRADO, 2003a] PRADO, A. F. Enterprise javabeans technology . Curso de Pós-Graduação em Ciência da Computação. Disponível em: <http://www.recope.dc.ufscar.br/engenhariadesoftware/principal/index.htm> Acesso em: 5 fev. 2003. </li></ul><ul><li>[PRADO, 2003b] Prado, A. F. Tecnologias para DBC . Disponível em: <http://www.cos.ufrj.br/~wdbc/2002/download/tecnologias.pdf> Acesso em: 04 jun. 2003. </li></ul><ul><li>[SUN, 2002c] SUN MICROSYSTEMS. Designing enterprise applications with the j2ee platform, second edition . Disponível em: <http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/index.html> Acesso em: 5 mar. 2003. </li></ul>
  35. 35. Referências <ul><li>[SUN, 2002a] SUN MICROSYSTEMS. Developing enterprise applications using the j2ee TM platform . Disponível em: <http://developer.java.sun.com/developer/onlineTraining/J2EE/Intro2/j2ee.html> Acessado em: 4 fev. 2003. </li></ul><ul><li>[SUN, 2002b] SUN MICROSYSTEMS. The j2ee tutorial . Disponível em: <http://java.sun.com/j2ee/1.3/download.html#tutorial> Acesso em: 4 fev. 2003. </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×