JSF 2.0 + Google AppEngine

13
Globalcode – Open4education JSF, Supercrud e GAE Rafael Nunes/ Vinicius Senger

Transcript of JSF 2.0 + Google AppEngine

Page 1: JSF 2.0 + Google AppEngine

Globalcode – Open4education

JSF, Supercrud e GAERafael Nunes/ Vinicius Senger

Page 2: JSF 2.0 + Google AppEngine

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.

Page 3: JSF 2.0 + Google AppEngine

Globalcode – Open4education

Agenda

Java e AppEngineO que posso usar.

O que não posso usar.

JSF e AppEngine

Exemplo

Page 4: JSF 2.0 + Google AppEngine

Globalcode – Open4education

Antes de começar

BuddyPoke: • Um desenvolvedor• Um notebook• Nenhum servidor• 42 milhões de usuário• > 1bilhão de pokes

Page 5: JSF 2.0 + Google AppEngine

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.

Page 6: JSF 2.0 + Google AppEngine

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

Page 7: JSF 2.0 + Google AppEngine

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)

Page 8: JSF 2.0 + Google AppEngine

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

Page 9: JSF 2.0 + Google AppEngine

Globalcode – Open4education

Java e AppEngine

• O que posso usar.

Servlet

JSP

JPA

JSF

JDO

JavaMail

XML Processing(JAX)

Page 10: JSF 2.0 + Google AppEngine

Globalcode – Open4education

Java e AppEngine

• O que não posso usar.

EJB/RMI

Threads

JAX-WS

JDBC

JMS

JNDI

JMX

JCA

Page 11: JSF 2.0 + Google AppEngine

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)

Page 12: JSF 2.0 + Google AppEngine

Globalcode – Open4education

Java e AppEngine

• Mão na massa

Page 13: JSF 2.0 + Google AppEngine

Globalcode – Open4education

Cabô.

[email protected]