devfest09 app engine java

37

Upload: chris-schalk

Post on 21-Jan-2015

1.342 views

Category:

Technology


2 download

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

Page 1: Devfest09  App Engine  Java
Page 2: Devfest09  App Engine  Java

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

Page 3: Devfest09  App Engine  Java

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

Page 4: Devfest09  App Engine  Java

4

What does it take (for a Java developer) to host a Web application?

Page 5: Devfest09  App Engine  Java

5

Doing it yourself in Java is still complex!

Page 6: Devfest09  App Engine  Java

6

Hosting with Java still means hidden costs

•  Idle capacity

•  Software patches & upgrades

•  License fees

•  IT staff server wrangling

•  Traffic & utilization forecasting

•  Upgrades

Page 7: Devfest09  App Engine  Java

7

Google App Engine – now with Java!

•  Easy to build

•  Easy to maintain

•  Easy to scale

And it’s still…

Page 8: Devfest09  App Engine  Java

8

All the same services for Java App Engine as with Python

Page 9: Devfest09  App Engine  Java

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

Page 10: Devfest09  App Engine  Java

10

Same Distributed web hosting platform

Page 11: Devfest09  App Engine  Java

11

Same Distributed web hosting platform

•  Parallel processing

•  Scales automatically

•  Available globally

•  Configuration free

•  Built-in DoS protections

Page 12: Devfest09  App Engine  Java

12

Same Distributed web hosting platform

SCALABILITY for Java as well

Page 13: Devfest09  App Engine  Java

13

Same Specialized services

Page 14: Devfest09  App Engine  Java

14

Same App Engine Dashboard

Page 15: Devfest09  App Engine  Java

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

Page 16: Devfest09  App Engine  Java

16

App Engine and Java Standards

Page 17: Devfest09  App Engine  Java

17

Based on Java Standards

Page 18: Devfest09  App Engine  Java

18

Based on Java Standards

Page 19: Devfest09  App Engine  Java

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.

Page 20: Devfest09  App Engine  Java

20

Development Tools for Java App Engine

Page 21: Devfest09  App Engine  Java

21

Google’s Complete Java Development Stack

+

Page 22: Devfest09  App Engine  Java

22

Google Plugin for Eclipse

Page 23: Devfest09  App Engine  Java

23

Google Plugin for Eclipse

Page 24: Devfest09  App Engine  Java

24

NeatBeans Plugin for Java App Engine

http://kenai.com/projects/nbappengine/

Page 25: Devfest09  App Engine  Java

25

Demo

•  Getting started –  How to get an account

–  Dealing with registration issues here in Argentina

Page 26: Devfest09  App Engine  Java

26

Demo

• How to build and deploy a Java AE App in 30 seconds

Page 27: Devfest09  App Engine  Java

27

Demo

•  Lolcat Wave Robot –  From the GWT client

to a Google Wave Bot!

Page 28: Devfest09  App Engine  Java

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/

Page 29: Devfest09  App Engine  Java

Java Development with Google App Engine in Argentina

Local Experts using Google App Engine for Java

Juan Pablo Picasso, Pablo Francavilla

Page 30: Devfest09  App Engine  Java

Using App Engine and other Google Cloud products

•  Cashflow Spreadsheets Integration

•  latamvalley.com

Page 31: Devfest09  App Engine  Java

Cashflow Spreadsheets Integration

–  “Google Apps + Your Apps”: integración de Google Spreadsheets con SaaS financiero mediante GAE/J

–  Reportes

–  Escenarios

–  URL Fetch API –  XML

Page 32: Devfest09  App Engine  Java

•  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

Page 33: Devfest09  App Engine  Java

latamvalley.com

Page 34: Devfest09  App Engine  Java

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

Page 35: Devfest09  App Engine  Java

•  Apache Wicket

•  Images API

•  Datastore Persistence (JDO)

•  Custom authentication

•  JUnit

+ = Scrum Working Software desde la iteración

1 (one week)

latamvalley.com

Page 36: Devfest09  App Engine  Java

Nuestro “Feedback”

•  Import/Export SQL •  SSL para Google Apps Domains •  Generación de Imágenes •  + tools para entorno development •  Tools Python == Tools Java

Page 37: Devfest09  App Engine  Java

37

Questions

Q&A

Google

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]