Desenvolvendo uma Aplicação comJava EE
AgendaJava Enterprise Edition (Java EE)Java Persistence API (JPA)Enterprise JavaBeans (EJB)JavaServer Faces (JSF)Contexts ...
Plataforma JavaA plataforma é dividida em três partes:Java Standard Edition (Java SE)Base do Java que contém as principais...
Java Enterprise EditionSuporte ao desenvolvimento de aplicações“enterprise”Aplicações distribuídas, seguras, escaláveis, d...
Java Enterprise Edition
Java Enterprise EditionContainers Java EE
Java Enterprise EditionServiços oferecidos pelos containeres Java EE:Gestão de memória, ciclo de vida de objetosConexões, ...
Profiles
Profiles
JPAJava Persistence API
Java Persistence APIPrimeira especificação (padrão) de mapeamento de objetosJava para base de dados relacionalIntegração c...
Java Persistence API
JPA EntityJava Persistence API
Java Persistence APIEntityManager (javax.persistence)(B) find / query(C) persist(D) clear / serialização(E) merge(F) remove
Java Persistence APIPersistence Unit
EJBEnterprise JavaBeans
Enterprise Java BeansPlataforma para criação de aplicações de negócioportáveis, robustas e reutilizáveis usando a linguage...
Enterprise Java BeansEJBSession BeanJava WebSwingCliente WSWeb BrowserJVM + Container EERede LocalComponentes Negócio Comp...
Enterprise Java BeansEJBSession BeanSegurançaControleTransacionalEscalabilidadeQueuesTopicsDataSourcesEnvironmentEntriesEJ...
Tipos de EJB:Session BeanRepresenta um processo de negócioMessage-Driven BeanTrabalha de forma assíncronaSingleton BeanEJB...
Representa um processo de negócio (regra de negócio);@StatelessNão mantém estado de conversão com o cliente;Não tem compro...
Session BeanPodem ou não definir interface de acesso@LocalBean define EJBs sem interfacesTipos de InterfacesLocal (@Local)...
• EJB Lite Sub-conjunto de funcionalidades direcionadas para deploy dos EJBs nocontainer Java EE Web Profile (.war)Enterp...
Enterprise Java BeansEmpacotamento SimplificadoPossibilita o deploy de componentes EJBs através de um .warSomente disponív...
Message-Driven BeanEJB que é acionado de forma assíncrona;Síncrono Assíncrono
Message-Driven BeanExistem dois tipos de destinos JMSPoint-to-point (queue): uma mensagem enviada para a fila seráconsumid...
JSFJavaServer Faces
JavaServer FacesJavaEspecificaçãoIntegraçãoAjax Nativo
MVC - Dividir e conquistarBeleza vs FuncionamentoCódigo OrganizadoManutenção FácilSabe aonde achar o erro
Principais ComponentesJ2EE Web Container J2EE EJBContainerController ModelViewServlet JavaBeansJavaServerPagesCustomTagEJB...
Página JSFTags: JSF HTMLTags: JSF CoreRequestManagedBeanSessionManagedBeanApplicationManagedBeanExpression Language: ELLin...
JSF: principais componentesPáginaJSFfaces-config.xmlManagedBean
Facelets
Integração
Frameworks em JSF• Basta baixar e usar
CDIContexts and Dependency Injection
CDI (JSR-299)• CDI = Context Dependency Injection• Novo modelo para gerenciamento de beans einjeção de dependência• Nova d...
CDI (JSR-299)• Gerenciamento de ciclo de vida de componentesstatefull• Provê um mecanismo de DI typesafe• Disponibiliza me...
CDI no Java EE 6
CDI Managed Beans•Nova definição para“beans•Instâncias sãogerenciadas pelocontainer•Serviços disponíveisInjeção de Depend...
CDI Managed Beans
Configuração CDI
Hello World
O que pode ser injetado• CDI Managed Beans (POJO)• Objetos retornados por @Produces• EJB Session Bean (local ou remoto)• J...
Principais Recursos Injection Points Qualifiers Alternatives EL Names Producer Methods Java EE Resources Scopes and...
Demonstração
Novidades Java EE 7
Java EE 7• Por onde começar?
Perguntas e Respostas?
Próximos SlideShares
Carregando em…5
×

GUJavaSC - Desenvolvendo uma Aplicação com Java EE

4.530 visualizações

Publicada em

GUJavaSC - Desenvolvendo uma Aplicação com Java EE

Publicada em: Tecnologia
0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.530
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2.553
Ações
Compartilhamentos
0
Downloads
78
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no 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.
  • * Comentar sobre o conceito dos componentes EJBs, como sua definição, sua necessidade de implementação, etc
  • * Comentar sobre
  • Comentar sobre os três tipos de componentes EJBs (Session, MDB e Entity) Retificar que o componente Entity foi separado da especificação original dos EJBs, originando assim a especificação JPA
  • GUJavaSC - Desenvolvendo uma Aplicação com Java EE

    1. 1. Desenvolvendo uma Aplicação comJava EE
    2. 2. AgendaJava Enterprise Edition (Java EE)Java Persistence API (JPA)Enterprise JavaBeans (EJB)JavaServer Faces (JSF)Contexts and Dependency Injection (CDI)DemonstraçãoNovidades Java EE 7Perguntas e Respostas
    3. 3. Plataforma JavaA plataforma é dividida em três partes:Java Standard Edition (Java SE)Base do Java que contém as principais APIsJava Enterprise Editon (Java EE)Versão de Java para desenvolvimento de aplicações Web eenterprise que rodam em servidores padronizadosJava Micro Edition (Java ME)Redução da plataforma Standard para dispositivos móveis comoPDA e celulares
    4. 4. Java Enterprise EditionSuporte ao desenvolvimento de aplicações“enterprise”Aplicações distribuídas, seguras, escaláveis, de altadisponibilidade e com baixo custo de manutençãoPlataforma para desenvolvimento de software depequeno, médio e grande porte em múltiplascamadas de componentesComponentes “rodam” em um servidor Java EE
    5. 5. Java Enterprise Edition
    6. 6. Java Enterprise EditionContainers Java EE
    7. 7. Java Enterprise EditionServiços oferecidos pelos containeres Java EE:Gestão de memória, ciclo de vida de objetosConexões, Transações, Serviço de nomesSegurançaTolerância a falhasIntegraçãoWebServicesClusteringAlta disponibilidadeConfiabilidade...
    8. 8. Profiles
    9. 9. Profiles
    10. 10. JPAJava Persistence API
    11. 11. Java Persistence APIPrimeira especificação (padrão) de mapeamento de objetosJava para base de dados relacionalIntegração com outros frameworksHibernate é uma implementação de JPATopLink Essencials é uma implementação de JPA (RI)POJO (Plain Old Java Objects)  EntidadesMapeamento via metadados (annotation Java 5)Pode ser utilizado fora de containeres EJBs (ligthweigthcontainer)Uso de injeção de dependência ao invés de lookups JNDI
    12. 12. Java Persistence API
    13. 13. JPA EntityJava Persistence API
    14. 14. Java Persistence APIEntityManager (javax.persistence)(B) find / query(C) persist(D) clear / serialização(E) merge(F) remove
    15. 15. Java Persistence APIPersistence Unit
    16. 16. EJBEnterprise JavaBeans
    17. 17. Enterprise Java BeansPlataforma para criação de aplicações de negócioportáveis, robustas e reutilizáveis usando a linguagem deprogramação Java;Componente para construir aplicações sem precisarreinventar uma série de recursos e serviços (transações,segurança, persistência);Modelo de alto nível para objetos distribuídos (computaçãodistribuída);Pode ser utilizado em soluções Web e não Web;
    18. 18. Enterprise Java BeansEJBSession BeanJava WebSwingCliente WSWeb BrowserJVM + Container EERede LocalComponentes Negócio Compartilhados
    19. 19. Enterprise Java BeansEJBSession BeanSegurançaControleTransacionalEscalabilidadeQueuesTopicsDataSourcesEnvironmentEntriesEJBInfra Estrutura doContainer
    20. 20. Tipos de EJB:Session BeanRepresenta um processo de negócioMessage-Driven BeanTrabalha de forma assíncronaSingleton BeanEJB introduzido na versão 3.1Entity BeanRepresenta um objeto persistenteDefinido pela especificação JPAEnterprise Java Beans
    21. 21. Representa um processo de negócio (regra de negócio);@StatelessNão mantém estado de conversão com o cliente;Não tem compromisso de manter uma sessão;Não devemos utilizar atributos de negócio, somente atributos técnicosem cache;É um EJB econômico;@StatefulMantém estado de conversão com o cliente;Cada cliente terá uma instancia do EJB exclusiva, desde a criação até aremoção;Podemos ter atributos de negócio com métodos getters e setters;Session Bean
    22. 22. Session BeanPodem ou não definir interface de acesso@LocalBean define EJBs sem interfacesTipos de InterfacesLocal (@Local)Somente acesso local (mesma JVM);Cliente pode ser um componente Web ou outro EJB;Localização não é transparente (não suporta clusterização).Remota (@Remote)Suporta acesso remoto (fora da JVM);Cliente pode ser um componente Web, outro EJB ou aplicação desktop;Transparência de localização (suporta clusterização).
    23. 23. • EJB Lite Sub-conjunto de funcionalidades direcionadas para deploy dos EJBs nocontainer Java EE Web Profile (.war)Enterprise Java BeansEJB Lite EJB Full• Local Session Beans• CMT / BMT• Segurança Declarativa• Interceptors• Message-Driven Beans (MDB)• Web Service Endpoints• 2.x / 3.x Remove View• Inter-operabilidade com RMI-IIOP• Timer service• Chamada assíncrona à metodos• 2.x Local View• CMP / BMP Entity Beans
    24. 24. Enterprise Java BeansEmpacotamento SimplificadoPossibilita o deploy de componentes EJBs através de um .warSomente disponível para os EJB Liteejb-jar.xml não é mais necessárioJava EE 5Java EE 6
    25. 25. Message-Driven BeanEJB que é acionado de forma assíncrona;Síncrono Assíncrono
    26. 26. Message-Driven BeanExistem dois tipos de destinos JMSPoint-to-point (queue): uma mensagem enviada para a fila seráconsumida apenas por um cliente;Publish-subscriber (topic): uma mensagem pode ser recepcionada pormúltiplos clientes;
    27. 27. JSFJavaServer Faces
    28. 28. JavaServer FacesJavaEspecificaçãoIntegraçãoAjax Nativo
    29. 29. MVC - Dividir e conquistarBeleza vs FuncionamentoCódigo OrganizadoManutenção FácilSabe aonde achar o erro
    30. 30. Principais ComponentesJ2EE Web Container J2EE EJBContainerController ModelViewServlet JavaBeansJavaServerPagesCustomTagEJBjavax.facesJSF e J2EE
    31. 31. Página JSFTags: JSF HTMLTags: JSF CoreRequestManagedBeanSessionManagedBeanApplicationManagedBeanExpression Language: ELLinks, formulários, imagens,combo-box, tabelas, etc…Através destas tags adicionamosvalidação, conversão de dados,listenersDados para popular as tabelas,combo-box, textos.Páginas JSF
    32. 32. JSF: principais componentesPáginaJSFfaces-config.xmlManagedBean
    33. 33. Facelets
    34. 34. Integração
    35. 35. Frameworks em JSF• Basta baixar e usar
    36. 36. CDIContexts and Dependency Injection
    37. 37. CDI (JSR-299)• CDI = Context Dependency Injection• Novo modelo para gerenciamento de beans einjeção de dependência• Nova definição para escopos de aplicação• Também conhecido como “Web Beans”• Integra as camadas web e negócio da aplicação Facilita a implementação das aplicações que utilizamtecnologias como JSF e EJB (Java EE)
    38. 38. CDI (JSR-299)• Gerenciamento de ciclo de vida de componentesstatefull• Provê um mecanismo de DI typesafe• Disponibiliza mecanismo de eventos facilitando odesenvolvimento com baixo acoplamento• Tem um mecanismo de Interceptors e Decorators• Possibilita a criação de extensões portáveis paraqualquer implementação• Integração com EL
    39. 39. CDI no Java EE 6
    40. 40. CDI Managed Beans•Nova definição para“beans•Instâncias sãogerenciadas pelocontainer•Serviços disponíveisInjeção de DependênciaCiclo de vidaInterceptorsEvents
    41. 41. CDI Managed Beans
    42. 42. Configuração CDI
    43. 43. Hello World
    44. 44. O que pode ser injetado• CDI Managed Beans (POJO)• Objetos retornados por @Produces• EJB Session Bean (local ou remoto)• Java EE Resources (DataSource, JMS)• JTA UserTransaction• EntityManager (JPA)• Bean Validation Factory• Destination e ConnectionFactory JMS
    45. 45. Principais Recursos Injection Points Qualifiers Alternatives EL Names Producer Methods Java EE Resources Scopes and Contexts Interceptors Stereotypes Events
    46. 46. Demonstração
    47. 47. Novidades Java EE 7
    48. 48. Java EE 7• Por onde começar?
    49. 49. Perguntas e Respostas?

    ×