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

Google AppEngine and JEE

  • 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 O queé AppEngine? Globalcode – Open4education
  • 4.
    Histórico Um anoapós Python Versão 1.5.0(Dez/2010) igualou versões 2011 – sair do Preview Globalcode – Open4education
  • 5.
    Histórico Mudança nomodelo de cobrança Cobrança por instância Multhi-Thread #FTW Globalcode – Open4education
  • 6.
    Frameworks Web JSF1.2 e JSF 2.0(hacks) Struts2(hacks) Globalcode – Open4education
  • 7.
    Frameworks Web Degradamo 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 derecursos Otimização de gastos Processamento pro lado do cliente Servidor Stateless e Multithread Globalcode – Open4education
  • 11.
    Persistência JPA Modelorelacional x Modelo Não relacional Acesso direto Globalcode – Open4education
  • 12.
    Persistência Objectify Nãotenta 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 ExtJS eSpringMVC/REST Globalcode – Open4education
  • 15.
    Exemplo Spring Roo+ 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