Implementando aplicativos Web com JSF, CDI e                    JPA   Trilha – Java EE University              Rodrigo Cân...
Agenda   Java Server Faces (JSF)   Java Persistence API (JPA)   Context Dependency Injection (CDI)   Demo                 ...
JavaServer FacesJSF                   Globalcode – Open4education
JSF ( Java Server Faces)   Java   Especificação   Integração   Ajax Nativo                           Globalcode – Open4edu...
JSF: o que é?Java Server FacesFramework MVC proposto em 2001JSR 127 (1.0 e 1.1, 2001), JSR 252 (1.2, 2004), JSR 314 (2.0,2...
MVC - Dividir e conquistar  Beleza vs Funcionamento  Código Organizado  Manutenção Fácil  Sabe aonde achar o erro         ...
JSF: principais componentesJ2EE Web Container                                 J2EE EJB                                    ...
Criação de páginas JSF   Página JSF         Links, formulários, imagens,          Request                      combo-box, ...
JSF: principais componentesPágina JSFfaces-config.xml                     Managed Bean                                    ...
Integração             Globalcode – Open4education
Frameworks em JSF  Basta baixar e usar                        Globalcode – Open4education
Economizando código com o Facelets  Economiza Código  Evita “mokey codes”  Previne dores de Cabeça  Manutenção rápida     ...
Criando uma vez e usando quantas quiser   Composite Component                                          Globalcode – Open4e...
Java Persistence APIJPA                       Globalcode – Open4education
Java Persistence APIPrimeira especificação (padrão) de mapeamento de objetos   Java para base de dados relacional   Integr...
Java Persistence API                       Globalcode – Open4education
Java Persistence API                       Globalcode – Open4education
Java Persistence APIEntityManager   (javax.persistence)                                      (B) find / query             ...
Java Persistence APIPersistence Unit                       Globalcode – Open4education
Java Persistence API                       Globalcode – Open4education
Context Dependency InjectionCDI                               Globalcode – Open4education
CDI (JSR-299)CDI = Context Dependency InjectionNovo modelo para gerenciamento de beans e  injeção de dependênciaNova defin...
CDI (JSR-299)Gerenciamento de ciclo de vida de componentes  statefullProvê um mecanismo de DI typesafeDisponibiliza mecani...
CDI no Java EE 6                   Globalcode – Open4education
CDI Managed BeansNova definição para“beansInstâncias sãogerenciadas pelocontainerServiços disponíveis  Injeção de Dependên...
CDI Managed Beans                    Globalcode – Open4education
Configuração CDI                   Globalcode – Open4education
Hello World              Globalcode – Open4education
O que pode ser injetadoCDI Managed Beans (POJO)Objetos retornados por @ProducesEJB Session Bean (local ou remoto)Java EE R...
Principais Recursos  Injection Points  Qualifiers  Alternatives  EL Names  Producer Methods  Java EE Resources  Scopes and...
E que venha o código  Demonstração                       Globalcode – Open4education
Perguntas e Respostas               ?                        Globalcode – Open4education
Obrigado           Globalcode – Open4education
Upcoming SlideShare
Loading in …5
×

TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA

3,878 views

Published on

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,878
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
116
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • Comentar sobre a história do surgimento do JPA (como por exemplo a contribuição do Hibernate e do Gavin King para esta especificação) Falar sobre os benefícios na utilização de JPA em uma aplicação que necessita de persistência como (aumento da produtividade, diminuição da complexidade, ganho de performance, etc)
  • Comentar sobre o modelo da arquitetura do JPA, que possui uma similaridade com o modelo JDBC, composto por uma API de interfaces e pelos JPA providers (Hibernate, EclipseLink, Castor, etc)
  • Comentar sobre a facilidade de implementação do JPA utilizando anotações, simplificando muito o mapeamento das entidades e também utilizando-se do conceito de “defaults” amplamente utilizado pelo Java EE 5. Demonstrar o exemplo de um JavaBean mapeado comentando sobre algumas anotações principais (@Entity, @Table, @Id, @Column)
  • Comentar sobre o conceito do objeto EntityManager dentro do JPA, responsável pela publicação dos métodos de persistência (find, persist, merge, remove) e também pelo gerenciamento dos Entity JavaBeans;
  • * Demonstrar o exemplo de configuração do JPA, definindo as configurações do PersistenceContext e também do provider específico.
  • * Demonstrar um exemplo de utilização do JPA, utilizando os métodos do EntityManager para realizar o processo de persistência dos Entity JavaBeans.
  • TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA

    1. 1. Implementando aplicativos Web com JSF, CDI e JPA Trilha – Java EE University Rodrigo Cândido da Silva Globalcode – Open4education
    2. 2. Agenda Java Server Faces (JSF) Java Persistence API (JPA) Context Dependency Injection (CDI) Demo Globalcode – Open4education
    3. 3. JavaServer FacesJSF Globalcode – Open4education
    4. 4. JSF ( Java Server Faces) Java Especificação Integração Ajax Nativo Globalcode – Open4education
    5. 5. JSF: o que é?Java Server FacesFramework MVC proposto em 2001JSR 127 (1.0 e 1.1, 2001), JSR 252 (1.2, 2004), JSR 314 (2.0,2007)Padronizou o desenvolvimento de interface de usuário webDefinido por grupo de especialistas composto de empresas e pessoas físicasSuportado pelos containers homologados para JEE 5 ou superiorBaseado na tecnologia ServletsEd Burns, Roger Kitain - Sun http://java.sun.com/javaee/javaserverfaces/ Globalcode – Open4education
    6. 6. MVC - Dividir e conquistar Beleza vs Funcionamento Código Organizado Manutenção Fácil Sabe aonde achar o erro Globalcode – Open4education
    7. 7. JSF: principais componentesJ2EE Web Container J2EE EJB ContainerJSF e J2EE javax.faces Controller View Model Servlet Java Custom JavaBeans EJB Server Tag Pages Globalcode – Open4education
    8. 8. Criação de páginas JSF Página JSF Links, formulários, imagens, Request combo-box, tabelas, etc… Managed Bean Tags: JSF HTML Expression Language: EL Tags: JSF Core Session Através destas tags adicionamos validação, conversão de dados, Managed listeners Bean Dados para popular as tabelas, combo-box, textos. Application Managed Bean Globalcode – Open4education
    9. 9. JSF: principais componentesPágina JSFfaces-config.xml Managed Bean Globalcode – Open4education
    10. 10. Integração Globalcode – Open4education
    11. 11. Frameworks em JSF Basta baixar e usar Globalcode – Open4education
    12. 12. Economizando código com o Facelets Economiza Código Evita “mokey codes” Previne dores de Cabeça Manutenção rápida Globalcode – Open4education
    13. 13. Criando uma vez e usando quantas quiser Composite Component Globalcode – Open4education
    14. 14. Java Persistence APIJPA Globalcode – Open4education
    15. 15. Java Persistence APIPrimeira especificação (padrão) de mapeamento de objetos Java para base de dados relacional Integração com outros frameworks Hibernate é uma implementação de JPA TopLink Essencials é uma implementação de JPA (RI)POJO (Plain Old Java Objects)  Entidades Mapeamento via metadados (annotation Java 5)Pode ser utilizado fora de containeres EJBs (ligthweigth container)Uso de injeção de dependência ao invés de lookups JNDI Globalcode – Open4education
    16. 16. Java Persistence API Globalcode – Open4education
    17. 17. Java Persistence API Globalcode – Open4education
    18. 18. Java Persistence APIEntityManager (javax.persistence) (B) find / query (C) persist (D) clear / serialização (E) merge (F) remove Globalcode – Open4education
    19. 19. Java Persistence APIPersistence Unit Globalcode – Open4education
    20. 20. Java Persistence API Globalcode – Open4education
    21. 21. Context Dependency InjectionCDI Globalcode – Open4education
    22. 22. CDI (JSR-299)CDI = Context Dependency InjectionNovo modelo para gerenciamento de beans e injeção de dependênciaNova definição para escopos de aplicaçãoTambém conhecido como “Web Beans”Integra as camadas web e negócio da aplicação Facilita a implementação das aplicações que utilizam tecnologias como JSF e EJB (Java EE) Globalcode – Open4education
    23. 23. CDI (JSR-299)Gerenciamento de ciclo de vida de componentes statefullProvê um mecanismo de DI typesafeDisponibiliza mecanismo de eventos facilitando o desenvolvimento com baixo acoplamentoTem um mecanismo de Interceptors e DecoratorsPossibilita a criação de extensões portáveis para qualquer implementaçãoIntegração com EL Globalcode – Open4education
    24. 24. CDI no Java EE 6 Globalcode – Open4education
    25. 25. CDI Managed BeansNova definição para“beansInstâncias sãogerenciadas pelocontainerServiços disponíveis Injeção de Dependência Ciclo de vida Interceptors Events Globalcode – Open4education
    26. 26. CDI Managed Beans Globalcode – Open4education
    27. 27. Configuração CDI Globalcode – Open4education
    28. 28. Hello World Globalcode – Open4education
    29. 29. O que pode ser injetadoCDI Managed Beans (POJO)Objetos retornados por @ProducesEJB Session Bean (local ou remoto)Java EE Resources (DataSource, JMS)JTA UserTransactionEntityManager (JPA)Bean Validation FactoryDestination e ConnectionFactory JMS Globalcode – Open4education
    30. 30. Principais Recursos Injection Points Qualifiers Alternatives EL Names Producer Methods Java EE Resources Scopes and Contexts Interceptors Stereotypes Events Globalcode – Open4education
    31. 31. E que venha o código Demonstração Globalcode – Open4education
    32. 32. Perguntas e Respostas ? Globalcode – Open4education
    33. 33. Obrigado Globalcode – Open4education

    ×