SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidGDGFoz
 
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuáriosExtreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuáriosMario Guedes
 
Apresentacao institucional 4Linux
Apresentacao institucional 4LinuxApresentacao institucional 4Linux
Apresentacao institucional 4Linux4LinuxCursos
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Mario Guedes
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.4LinuxCursos
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISMario Guedes
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosEvaldo Junior
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...Renato Groff
 
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013Evaldo Junior
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidorRomulo Fagundes
 
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...tdc-globalcode
 
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bowertdc-globalcode
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPArthur Fücher
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJSGiovanni Bassi
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsRafael Soares
 
Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Mario Guedes
 

Was ist angesagt? (20)

Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e Android
 
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuáriosExtreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
Extreme 360º 2017 | Arquitetura Extrema: Rumo aos 10.000 usuários
 
Apresentacao institucional 4Linux
Apresentacao institucional 4LinuxApresentacao institucional 4Linux
Apresentacao institucional 4Linux
 
Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!Turbinando o seu sistema com Redis!
Turbinando o seu sistema com Redis!
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.Inteligência Operacional utilizando a solução Elastic.
Inteligência Operacional utilizando a solução Elastic.
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
 
A Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In SantosA Evolução do PHP - 4º Dev In Santos
A Evolução do PHP - 4º Dev In Santos
 
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
7 dicas úteis para simplificar o desenvolvimento em ASP.NET Core - .NET SP - ...
 
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
A Evolução do PHP - A Linguagem Número 1 da Web - PHP Conference Brasil 2013
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Node js - O poder do JavaScript do lado do servidor
Node js  - O poder do JavaScript do lado do servidorNode js  - O poder do JavaScript do lado do servidor
Node js - O poder do JavaScript do lado do servidor
 
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...TDC2017 | São Paulo - Trilha Rad: Delphi C++  How we figured out we had a SRE...
TDC2017 | São Paulo - Trilha Rad: Delphi C++ How we figured out we had a SRE...
 
PHP: Evolução
PHP: EvoluçãoPHP: Evolução
PHP: Evolução
 
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e BowerASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
ASP.NET 5 MVC Gerenciando dependencias com Nuget, NPM, Gulp e Bower
 
Introdução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SPIntrodução ao Node.js - FATEC SP
Introdução ao Node.js - FATEC SP
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
Introdução ao NodeJS
Introdução ao NodeJSIntrodução ao NodeJS
Introdução ao NodeJS
 
Uma visão rápida sobre Nodejs
Uma visão rápida sobre NodejsUma visão rápida sobre Nodejs
Uma visão rápida sobre Nodejs
 
Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?Microsserviço, Escalabilidade e Resiliência - #comofas?
Microsserviço, Escalabilidade e Resiliência - #comofas?
 

Ähnlich wie JavaEE Architecture on AppEngine

Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Dr. Spock
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoEder Magalhães
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringEder Magalhães
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterEdlaine Zamora
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...tdc-globalcode
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaSEder Magalhães
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingEder Magalhães
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouJose Wilker
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começouJose Wilker
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Otávio Santana
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começouJose Wilker
 
JSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesJSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesFilipe Portes
 
TDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDITDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDIRodrigo Cândido da Silva
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosFlávio Lisboa
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 

Ähnlich wie JavaEE Architecture on AppEngine (20)

Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!Criando uma Aplicação Web com Spring Roo em 5 minutos!
Criando uma Aplicação Web com Spring Roo em 5 minutos!
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Richfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais ricoRichfaces 4 - Desenvolvimento JSF mais rico
Richfaces 4 - Desenvolvimento JSF mais rico
 
Desenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e SpringDesenvolvimento RIA com GWT e Spring
Desenvolvimento RIA com GWT e Spring
 
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipsterGerando aplicações Spring Boot e AngularJS com gerador de código JHipster
Gerando aplicações Spring Boot e AngularJS com gerador de código JHipster
 
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
TDC2018SP | Trilha Modern Web - Blazor - C# rodando no navegador padrao, sem ...
 
Java e uma visão sobre PaaS
Java e uma visão sobre PaaSJava e uma visão sobre PaaS
Java e uma visão sobre PaaS
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
Internet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começouInternet das coisas - A Revolução já começou
Internet das coisas - A Revolução já começou
 
A Revolução já começou
A Revolução já começouA Revolução já começou
A Revolução já começou
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF
 
Internet das coisas - A revolução já começou
Internet das coisas - A revolução já começouInternet das coisas - A revolução já começou
Internet das coisas - A revolução já começou
 
JSF 2 - Java "Super" Faces
JSF 2 - Java "Super" FacesJSF 2 - Java "Super" Faces
JSF 2 - Java "Super" Faces
 
TDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDITDC2010 - Turbinando sua Aplicação com CDI
TDC2010 - Turbinando sua Aplicação com CDI
 
Spring Roo
Spring RooSpring Roo
Spring Roo
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
TDC 2012 - JDF
TDC 2012 - JDFTDC 2012 - JDF
TDC 2012 - JDF
 

Mehr von Eder Magalhães

Concorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeConcorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeEder Magalhães
 
Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Eder Magalhães
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeEder Magalhães
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaEder Magalhães
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesEder Magalhães
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EEEder Magalhães
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8Eder Magalhães
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooEder Magalhães
 
Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Eder Magalhães
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011Eder Magalhães
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVCEder Magalhães
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem PráticaEder Magalhães
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesEder Magalhães
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafxEder Magalhães
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010Eder Magalhães
 

Mehr von Eder Magalhães (20)

Cvc programacao reativa
Cvc programacao reativaCvc programacao reativa
Cvc programacao reativa
 
Concorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidadeConcorrencia, baixa Latência e alta disponibilidade
Concorrencia, baixa Latência e alta disponibilidade
 
Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8Java Is Back, Novidade do Java 8
Java Is Back, Novidade do Java 8
 
Desenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o ForgeDesenvolva uma app Java web em poucos passos, com o Forge
Desenvolva uma app Java web em poucos passos, com o Forge
 
MongoDB outras alternativas de persistência
MongoDB outras alternativas de persistênciaMongoDB outras alternativas de persistência
MongoDB outras alternativas de persistência
 
JDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidadesJDK8: Lambda, Jigsaw e novidades
JDK8: Lambda, Jigsaw e novidades
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8As modificações na Linguagem: Java 7 e Java 8
As modificações na Linguagem: Java 7 e Java 8
 
Desenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring RooDesenvolvimento Produtivo com Spring Roo
Desenvolvimento Produtivo com Spring Roo
 
Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8Futuro da linguagem e plataforma: Java 7 e 8
Futuro da linguagem e plataforma: Java 7 e 8
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
 
JSF 2 Components JustJava2011
JSF 2 Components JustJava2011JSF 2 Components JustJava2011
JSF 2 Components JustJava2011
 
Introducao Google GO
Introducao Google GOIntroducao Google GO
Introducao Google GO
 
Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
 
JavaFX: Abordagem Prática
JavaFX: Abordagem PráticaJavaFX: Abordagem Prática
JavaFX: Abordagem Prática
 
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfacesJSF2 c/ PrimeFaces, RichFaces e ICEfaces
JSF2 c/ PrimeFaces, RichFaces e ICEfaces
 
Profissao java gwt e javafx
Profissao java gwt e javafxProfissao java gwt e javafx
Profissao java gwt e javafx
 
JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010JSF2 ScrumToys SestInfo 2010
JSF2 ScrumToys SestInfo 2010
 
Android SestInfo 2010
Android SestInfo 2010Android SestInfo 2010
Android SestInfo 2010
 
JavaFX SestInfo 2010
JavaFX SestInfo 2010JavaFX SestInfo 2010
JavaFX SestInfo 2010
 

JavaEE Architecture on AppEngine

  • 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 ano após Python ! Versão 1.5.0(Dez/2010) igualou versões !   2011 – sair do Preview Globalcode  –  Open4education
  • 5. Histórico !   Mudança no 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 !   ExtJS e SpringMVC/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