Upload
rafael-nunes
View
2.682
Download
1
Embed Size (px)
Citation preview
Globalcode – Open4education
JSF, Supercrud e GAERafael Nunes/ Vinicius Senger
Globalcode – Open4education
Agenda
Google AppEngineO que é. Pra que serve. Pra quem.
O que suporta.
O que não suporta.
Quais as limitações
Quais as vantagens.
Globalcode – Open4education
Agenda
Java e AppEngineO que posso usar.
O que não posso usar.
JSF e AppEngine
Exemplo
Globalcode – Open4education
Antes de começar
BuddyPoke: • Um desenvolvedor• Um notebook• Nenhum servidor• 42 milhões de usuário• > 1bilhão de pokes
Globalcode – Open4education
Google App Engine
O que é.
Uma forma de hospedar e principalmente escalar a suas aplicações web, sem precisar de dezenas e centenas de servidores, usando a infraestrutura do Google.
Globalcode – Open4education
Google AppEngine
• Suporta:
Escalonamento automático
Agendamento de execuções
Execuções offline
Milhões de processamentos pequenos(este é o modelo do GAE...)
Envio de e-mail
BigTable
XMPP
Globalcode – Open4education
Google AppEngine
• Não suporta
Grandes processamentos.
Grande consumo de CPU(30seg)
Escrita no Filesystem
HTTP(s) fora da porta padrão
Uso além das quotas(sem pagar)
Globalcode – Open4education
Google AppEngine
• Limitações
Processamentos maiores que 30seg
Fixed Quotas(reiniciados a cada 24hrs)– 1.3mi request(7,4mil/minuto)– 1GB Banda de saida(56Mb/minuto)– 1GB Banda de entrada– 6.5horas CPU(15 CPU minutes/minuto)– 1GB Dados armazenados– 2mil emails enviados
Globalcode – Open4education
Java e AppEngine
• O que posso usar.
Servlet
JSP
JPA
JSF
JDO
JavaMail
XML Processing(JAX)
Globalcode – Open4education
Java e AppEngine
• O que não posso usar.
EJB/RMI
Threads
JAX-WS
JDBC
JMS
JNDI
JMX
JCA
Globalcode – Open4education
JSF e AppEngine
• JSF 1.2
Necessita enableMultiThreadedStartup = false• JSF 2
Pequeno 'hack' no Mojarra, na classe WebConfiguration, retirando as chamadas JNDI.
• JPA com implementação DataCensus(não suporta: alguns tipos de relacionamento, join queries, aggregation queries – group by, sum, avg – e queries polimórficas)
Globalcode – Open4education
Java e AppEngine
• Mão na massa