TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,788
On Slideshare
3,786
From Embeds
2
Number of Embeds
2

Actions

Shares
Downloads
99
Comments
0
Likes
5

Embeds 2

http://www.linkedin.com 1
https://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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.

Transcript

  • 1. Implementando aplicativos Web com JSF, CDI e JPA Trilha – Java EE University Rodrigo Cândido da Silva Globalcode – Open4education
  • 2. Agenda Java Server Faces (JSF) Java Persistence API (JPA) Context Dependency Injection (CDI) Demo Globalcode – Open4education
  • 3. JavaServer FacesJSF Globalcode – Open4education
  • 4. JSF ( Java Server Faces) Java Especificação Integração Ajax Nativo Globalcode – Open4education
  • 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. MVC - Dividir e conquistar Beleza vs Funcionamento Código Organizado Manutenção Fácil Sabe aonde achar o erro Globalcode – Open4education
  • 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. 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. JSF: principais componentesPágina JSFfaces-config.xml Managed Bean Globalcode – Open4education
  • 10. Integração Globalcode – Open4education
  • 11. Frameworks em JSF Basta baixar e usar Globalcode – Open4education
  • 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. Criando uma vez e usando quantas quiser Composite Component Globalcode – Open4education
  • 14. Java Persistence APIJPA Globalcode – Open4education
  • 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. Java Persistence API Globalcode – Open4education
  • 17. Java Persistence API Globalcode – Open4education
  • 18. Java Persistence APIEntityManager (javax.persistence) (B) find / query (C) persist (D) clear / serialização (E) merge (F) remove Globalcode – Open4education
  • 19. Java Persistence APIPersistence Unit Globalcode – Open4education
  • 20. Java Persistence API Globalcode – Open4education
  • 21. Context Dependency InjectionCDI Globalcode – Open4education
  • 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. 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. CDI no Java EE 6 Globalcode – Open4education
  • 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. CDI Managed Beans Globalcode – Open4education
  • 27. Configuração CDI Globalcode – Open4education
  • 28. Hello World Globalcode – Open4education
  • 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. Principais Recursos Injection Points Qualifiers Alternatives EL Names Producer Methods Java EE Resources Scopes and Contexts Interceptors Stereotypes Events Globalcode – Open4education
  • 31. E que venha o código Demonstração Globalcode – Open4education
  • 32. Perguntas e Respostas ? Globalcode – Open4education
  • 33. Obrigado Globalcode – Open4education