Arquitetura JavaJEE no
      AppEngine
   Rafael Nunes e Eder Magalhães
           www.yaw.com.br




                                   Globalcode	
  –	
  Open4education
Agenda
!     Introdução
!     Histórico
!     Frameworks Web Java
!     Server-Side ou Client-Side
!     Serviços AppEngine
!     Exemplos




                                   Globalcode	
  –	
  Open4education
Introdução
!   O que é AppEngine?




                         Globalcode	
  –	
  Open4education
Histórico
!   Um ano após Python
! Versão 1.5.0(Dez/2010) igualou versões
!   2011 – sair do Preview




                                      Globalcode	
  –	
  Open4education
Histórico
!   Mudança no modelo de cobrança
!   Cobrança por instância
!   Multhi-Thread #FTW




                                    Globalcode	
  –	
  Open4education
Frameworks Web
!   JSF 1.2 e JSF 2.0(hacks)
!   Struts2(hacks)




                               Globalcode	
  –	
  Open4education
Frameworks Web
!   Degradam o cold-start
!   Ciclo de vida pesado
!   Alto consumo de memória




                              Globalcode	
  –	
  Open4education
Server x Client
!   Cloud Computing != duendes numa nuvem
    cuidando dos servidores
!   Mudança de arquitetura, paradigmas, etc




                                      Globalcode	
  –	
  Open4education
Client Side
!     GWT
!     EXTJS
!     Jquery
!     SpringMVC+REST+Stateless no lado do servidor




                                        Globalcode	
  –	
  Open4education
Vantagens
!     Otimização de recursos
!     Otimização de gastos
!     Processamento pro lado do cliente
!     Servidor Stateless e Multithread




                                          Globalcode	
  –	
  Open4education
Persistência
!   JPA
!   Modelo relacional x Modelo Não relacional
!   Acesso direto




                                         Globalcode	
  –	
  Open4education
Persistência
!     Objectify
!     Não tenta simular ORM
!     API de acesso bem próximo do Datastore
!     Único que se aproveita da API assíncrona




                                          Globalcode	
  –	
  Open4education
Serviços
!   JSRs
   !   (Cache = Jcache,Mail = Javamail,HTTP = java.net.URL)
!   Não reinventar a roda




                                             Globalcode	
  –	
  Open4education
Exemplo
!   ExtJS e SpringMVC/REST




                             Globalcode	
  –	
  Open4education
Exemplo
!   Spring Roo + GWT




                       Globalcode	
  –	
  Open4education
Dúvidas




          ¿

              Globalcode	
  –	
  Open4education
Obrigado!
              rafael@yaw.com.br
               eder@yaw.com.br
               www.yaw.com.br
            (www.yaw.com.br/open)

             twitter.com/rafanunes
              twitter.com/edermag
             twitter.com/youandwe


                                     Globalcode	
  –	
  Open4education

Arquiteturas Java EE no Google App Engine

  • 1.
    Arquitetura JavaJEE no AppEngine Rafael Nunes e Eder Magalhães www.yaw.com.br Globalcode  –  Open4education
  • 2.
    Agenda !   Introdução !   Histórico !   Frameworks Web Java !   Server-Side ou Client-Side !   Serviços AppEngine !   Exemplos Globalcode  –  Open4education
  • 3.
    Introdução !   Oque é AppEngine? Globalcode  –  Open4education
  • 4.
    Histórico !   Umano após Python ! Versão 1.5.0(Dez/2010) igualou versões !   2011 – sair do Preview Globalcode  –  Open4education
  • 5.
    Histórico !   Mudançano modelo de cobrança !   Cobrança por instância !   Multhi-Thread #FTW Globalcode  –  Open4education
  • 6.
    Frameworks Web !  JSF 1.2 e JSF 2.0(hacks) !   Struts2(hacks) Globalcode  –  Open4education
  • 7.
    Frameworks Web !  Degradam o cold-start !   Ciclo de vida pesado !   Alto consumo de memória Globalcode  –  Open4education
  • 8.
    Server x Client !  Cloud Computing != duendes numa nuvem cuidando dos servidores !   Mudança de arquitetura, paradigmas, etc Globalcode  –  Open4education
  • 9.
    Client Side !   GWT !   EXTJS !   Jquery !   SpringMVC+REST+Stateless no lado do servidor Globalcode  –  Open4education
  • 10.
    Vantagens !   Otimização de recursos !   Otimização de gastos !   Processamento pro lado do cliente !   Servidor Stateless e Multithread Globalcode  –  Open4education
  • 11.
    Persistência !   JPA !  Modelo relacional x Modelo Não relacional !   Acesso direto Globalcode  –  Open4education
  • 12.
    Persistência !   Objectify !   Não tenta simular ORM !   API de acesso bem próximo do Datastore !   Único que se aproveita da API assíncrona Globalcode  –  Open4education
  • 13.
    Serviços !   JSRs !   (Cache = Jcache,Mail = Javamail,HTTP = java.net.URL) !   Não reinventar a roda Globalcode  –  Open4education
  • 14.
    Exemplo !   ExtJSe SpringMVC/REST Globalcode  –  Open4education
  • 15.
    Exemplo !   SpringRoo + GWT Globalcode  –  Open4education
  • 16.
    Dúvidas ¿ Globalcode  –  Open4education
  • 17.
    Obrigado! rafael@yaw.com.br eder@yaw.com.br www.yaw.com.br (www.yaw.com.br/open) twitter.com/rafanunes twitter.com/edermag twitter.com/youandwe Globalcode  –  Open4education