devfest09 app engine java
DESCRIPTION
This is a presentation on Google App Engine for Java given at Devfest 2009 in Buenos Aires Argentina on Nov 17, 2009 by Google Developer Advocate, Chris Schalk and Google Software Engineer, Ignacio Blanco.TRANSCRIPT
Chris Schalk, Developer Advocate Ignacio Blanco, Software Engineer
Introduction to Google App Engine for Java
Con: Juan Pablo Picasso, Pablo Francavilla de Getsense
DevFest 2009 November 17th Buenos Aires
3
Agenda
• What does it take to host a Java Web application?
• Introducing Google App Engine for Java
• App Engine Review for Java – A Complete Java development stack
• Demos, Demos, Demos!
• Java App Engine use in Argentina
• Questions
4
What does it take (for a Java developer) to host a Web application?
5
Doing it yourself in Java is still complex!
6
Hosting with Java still means hidden costs
• Idle capacity
• Software patches & upgrades
• License fees
• IT staff server wrangling
• Traffic & utilization forecasting
• Upgrades
7
Google App Engine – now with Java!
• Easy to build
• Easy to maintain
• Easy to scale
And it’s still…
8
All the same services for Java App Engine as with Python
9
Apr 2008 Python launch May 2008 Memcache, Images API Jul 2008 Logs export Aug 2008 Batch write/delete Oct 2008 HTTPS support Dec 2008 Status dashboard, quota details Feb 2009 Billing, larger files Apr 2009 Java launch, DB import, cron support,
SDC May 2009 Key-only queries Jun 2009 Task queues Aug 2009 Kindless queries Sep 2009 XMPP Oct 2009 Incoming Email
18+ months in review
10
Same Distributed web hosting platform
11
Same Distributed web hosting platform
• Parallel processing
• Scales automatically
• Available globally
• Configuration free
• Built-in DoS protections
12
Same Distributed web hosting platform
SCALABILITY for Java as well
13
Same Specialized services
14
Same App Engine Dashboard
15
Same initial free use policy as Python
• ~5M pageviews/month
• 6.5 CPU hrs/day
• 1 GB storage
• 650K URL Fetch calls
• 2,000 recipients emailed
• 1 GB/day bandwidth
• N tasks
16
App Engine and Java Standards
17
Based on Java Standards
18
Based on Java Standards
19
Extended Language support through JVM
• Java • Scala • JRuby (Ruby) • Groovy • Quercus (PHP) • Rhino (JavaScript) • Jython (Python)
Duke, the Java mascot Copyright © Sun Microsystems Inc., all rights reserved.
20
Development Tools for Java App Engine
21
Google’s Complete Java Development Stack
+
22
Google Plugin for Eclipse
23
Google Plugin for Eclipse
24
NeatBeans Plugin for Java App Engine
http://kenai.com/projects/nbappengine/
25
Demo
• Getting started – How to get an account
– Dealing with registration issues here in Argentina
26
Demo
• How to build and deploy a Java AE App in 30 seconds
27
Demo
• Lolcat Wave Robot – From the GWT client
to a Google Wave Bot!
28
Demo
• Demonstrating “Plane Crazy” • Uses DataStore for Airplane, Activities, People data
• Uses email service for correspondence
• Uses XMPP for simple chatbot access
Live Demo: http://plane-crazy.appspot.com Source: http://code.google.com/p/plane-crazy-demo/
Java Development with Google App Engine in Argentina
Local Experts using Google App Engine for Java
Juan Pablo Picasso, Pablo Francavilla
Using App Engine and other Google Cloud products
• Cashflow Spreadsheets Integration
• latamvalley.com
Cashflow Spreadsheets Integration
– “Google Apps + Your Apps”: integración de Google Spreadsheets con SaaS financiero mediante GAE/J
– Reportes
– Escenarios
– URL Fetch API – XML
• Costo cero en infraestructura
• Reutilización de know-how Java
• Disponibilidad del Servicio
• Comunidad muy activa y en crecimiento
+ = Optimización de procesos internos
Cashflow Spreadsheets Integration
latamvalley.com
latamvalley.com
• “Uniendo a las Personas y Proyectos de Internet de Latinoamérica”
• Base abierta de:
• Empresas
• Personas
• Productos
• Proveedoras de Servicios
• Inversoras de Capital
• Apache Wicket
• Images API
• Datastore Persistence (JDO)
• Custom authentication
• JUnit
+ = Scrum Working Software desde la iteración
1 (one week)
latamvalley.com
Nuestro “Feedback”
• Import/Export SQL • SSL para Google Apps Domains • Generación de Imágenes • + tools para entorno development • Tools Python == Tools Java
37
Questions
Q&A
Chris Schalk • Twitter: @cschalk • [email protected]
Ignacio Blanco • [email protected]
Getsense
Juan Pablo Picasso, Pablo Francavilla
http://groups.google.com/group/gtug-ar
Foro GAE en Español La seguimos en el break [email protected]