GUJavaSC - Desenvolvendo uma Aplicação com Java EE
Upcoming SlideShare
Loading in...5
×
 

GUJavaSC - Desenvolvendo uma Aplicação com Java EE

on

  • 3,789 views

GUJavaSC - Desenvolvendo uma Aplicação com Java EE

GUJavaSC - Desenvolvendo uma Aplicação com Java EE

Statistics

Views

Total Views
3,789
Slideshare-icon Views on SlideShare
1,300
Embed Views
2,489

Actions

Likes
3
Downloads
40
Comments
0

7 Embeds 2,489

http://www.gujavasc.org 2446
http://8950504523125250211_1cd95fa60377440a1303b44e6aed6c04a361e3f3.blogspot.com 35
http://8950504523125250211_1cd95fa60377440a1303b44e6aed6c04a361e3f3.blogspot.com.br 3
https://www.google.com.br 2
http://cloud.feedly.com 1
http://translate.googleusercontent.com 1
http://wordpress-gujavasc.rhcloud.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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 GUJavaSC - Desenvolvendo uma Aplicação com Java EE Presentation Transcript

  • Desenvolvendo uma Aplicação comJava EE
  • 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
  • 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
  • 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
  • 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, Transações, Serviço de nomesSegurançaTolerância a falhasIntegraçãoWebServicesClusteringAlta disponibilidadeConfiabilidade...
  • Profiles
  • Profiles
  • JPAJava Persistence API
  • 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
  • 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 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;
  • Enterprise Java BeansEJBSession BeanJava WebSwingCliente WSWeb BrowserJVM + Container EERede LocalComponentes Negócio Compartilhados
  • Enterprise Java BeansEJBSession BeanSegurançaControleTransacionalEscalabilidadeQueuesTopicsDataSourcesEnvironmentEntriesEJBInfra Estrutura doContainer
  • 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
  • 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
  • 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).
  • • 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
  • 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
  • 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áconsumida apenas por um cliente;Publish-subscriber (topic): uma mensagem pode ser recepcionada pormúltiplos clientes;
  • 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 JavaBeansJavaServerPagesCustomTagEJBjavax.facesJSF e J2EE
  • 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
  • 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 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)
  • 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
  • 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ênciaCiclo de vidaInterceptorsEvents
  • 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)• Java EE Resources (DataSource, JMS)• JTA UserTransaction• EntityManager (JPA)• Bean Validation Factory• Destination e ConnectionFactory JMS
  • Principais Recursos Injection Points Qualifiers Alternatives EL Names Producer Methods Java EE Resources Scopes and Contexts Interceptors Stereotypes Events
  • Demonstração
  • Novidades Java EE 7
  • Java EE 7• Por onde começar?
  • Perguntas e Respostas?