17
25.04.13 Dr. Halil-Cem Gürsoy, adesso AG Tw @hgutwit G+ http://goo.gl/hljRS JAX 2013 – PaaS Parade GAE/J

Google App Engine JAX PaaS Parade 2013

Embed Size (px)

DESCRIPTION

Presentation about Google App Engine from a Java Developer's perspective as shown at JAX 2013

Citation preview

Page 1: Google App Engine JAX PaaS Parade 2013

25.04.13

Dr. Halil-Cem Gürsoy, adesso AG

Tw @hgutwitG+ http://goo.gl/hljRS

JAX 2013 – PaaS Parade GAE/J

Page 2: Google App Engine JAX PaaS Parade 2013

Agenda

● Google App Engine● Persistence in Google App Engine● Limits in GAE/J● Quota and Performance● Build-Tools● Getting started

Page 3: Google App Engine JAX PaaS Parade 2013

The Google App Engine

● A classic PaaS● No control over the OS● A runtime for Web Application● At the start, only Python was supported● Since 2009 Java, now Google Go● Fast growing*

● 3B+ Request / Day● 300k+ Apps, 100k+ Developers

*) Source: David Chandler, Developer Advocate @ Google, DevNexus Talk

Page 4: Google App Engine JAX PaaS Parade 2013

Talking about GAE/J● GAE/J = JRE7

● Supports Java 6, but will be dropped! ● A Sandbox with some restrictions

● Supports out of the box many but not all API's

● Servlet API 2.4, JSF 2.1, JSP + JSTL, JDO, JPA

● Limited support for JPA (no Joins)● Support for Google Services und API‘s

The Google App Engine

Page 5: Google App Engine JAX PaaS Parade 2013
Page 6: Google App Engine JAX PaaS Parade 2013

● “JRE Whitelist” = supported JRE classes● https://developers.google.com/appengine/docs/java/jrewhitelist

● Only ~ 1650 classes● Your application should not

● …start „own“ threads

– must use a GAE ThreadFactory, limit to 50● …write (and read non resource ) files● …open network sockets

Whitelist

Page 7: Google App Engine JAX PaaS Parade 2013

● Overview frameworks and languages:● http://code.google.com/p/googleappengine/wiki/WillItPlayInJava

● No support for…● JAX-RPC, JDBC, JMS (!), JMX, JNDI...

● JAX-WS● Only Consumer, no Provider● Provider via javax.xml.soap & JAXB

● + Scala, Groovy (look @ Gealky), JRuby● + Spring (Core)

Will it play?

Page 8: Google App Engine JAX PaaS Parade 2013

Some benefits

● Integration of Google Services and APIs● SPDY, G+, Analytics, Blogger, Books,

Google Cloud SQL, Maps etc.● Support of Android apps

● Google Cloud Messaging

● ...and for JavaScript● Google App Engine Channels

Page 9: Google App Engine JAX PaaS Parade 2013

Quotas and Limits

● GAE with limits w/o fee

● Billing System to overcome limits

● Quota exceeded: HTTP 403 Errors or Exceptions (bad if you not aware of quota)

● Per minute quota = aprox. 500 Req./min.

Page 10: Google App Engine JAX PaaS Parade 2013

Measured Performance

Page 11: Google App Engine JAX PaaS Parade 2013

Build Tools

● Ant supported by Google● Enhancement of entity classes● Deployment

● Maven ● Maven plug-in ● Archetypes● Deployment

● Gradle (Community)● https://github.com/bmuschko/gradle-gae-plugin

Page 12: Google App Engine JAX PaaS Parade 2013

How getting started

● Google App Engine Account activated?● You need your mobile number for activation

● Eclipse with the Google Plug-in ● Manual installation via Eclipse Market Place

● http://marketplace.eclipse.org/content/google-plugin-eclipse

● SDK & resources at GAE-Homepage● http://code.google.com/appengine/

Page 13: Google App Engine JAX PaaS Parade 2013

Create Application in GAE

● Register your application ● https://appengine.google.com/ -> “Create Application”

● Choose Application Identifier & Name● Choose the Authentication Option● Default is “Open to all Google Account users”

● Users can sign using their Google Account● Choose Storage Option

● High Replication (default) vs. Master/Slave● High Replication is “eventually consistent” (latency in

writes)

Page 14: Google App Engine JAX PaaS Parade 2013

Create new project

Page 15: Google App Engine JAX PaaS Parade 2013

Hello World

Page 16: Google App Engine JAX PaaS Parade 2013

Test

● You can test your application in the local sandbox

● http://localhost:8888/[your_project_name]

Page 17: Google App Engine JAX PaaS Parade 2013

Thank you for your attention.

[email protected]