Developing Java Web
Applications using Google
      Apps Engine
Introduced in April 2009, Google Apps Engine for Java has
come a long way, and seems ready for primetime.

Google Apps Engine is a Platform as a Service cloud platform.
Anyone can create and launch a GAE application at no charge,
though resource utilization fees kick in when a site near the one
million hits a month mark.

Vosao (www.vosao.org) is an open source content
management system developed from the ground up on Google
Apps Engine for Java over the last 18 months. Vosao CMS
uses many familiar Java libraries, like Velocity templates,
popular web libraries, like JQuery, and popular mashup
partners, like Picasa and Disqus.
Platform as a Service




Cloud Computing Savings - Real or Imaginery?
Multi-Tenancy (Not!)
Pretty Much Free
Java
!= AWS
BigTable
Throttled
IDEs, Toolkits, and Frameworks
The usual mashups
http://www.thetechtrendz.com/2010/07/top-10-best-google-app-engine-apps.html
The application environment

dynamic web serving
    with full support for common web technologies
persistent storage
    with queries, sorting and transactions
automatic scaling and load balancing
Google Account APIs
    for authenticating users and sending email
a local development environment
    that simulates Google App Engine on your computer
task queues
    for performing work outside of the scope of a web
    request
scheduled tasks for triggering events
The sandbox

   Outgoing access via URL fetch or email services
   Incoming access via HTTP (or HTTPS)
   Store state via App Engine datastore, memcache.
   Respond to web request, queued task, scheduled task
   Return response data within 30 seconds

Quotas and Limits
  Free 500MB of storage and 5 million page views a month.
  10 applications per developer account.
Google Apps for Business
Central Development Management
    Master account for Google Apps domain
Service Level Agreement (99.9%)
Pricing: $8 per user per month (up to $1000)
Expanded Enterprise Features
    Hosted SQL
    SSL on your domain
The Java Runtime Environment

Java SE Runtime Environment (JRE) 6 platform
Java Servlets
JavaServer Pages (JSPs)
Java Data Objects (JDO)
Java Persistence API (JPA) interfaces
JavaMail API
Google APIs
   datastore
   memcache
   URL fetch
   mail
   images
   Google Accounts
Development Workflow

App Engine software development kit
   APIs and Libraries
   Simulator
   Upload tool

Google Plugin for Eclipse
  create, test, and upload

The Administration Console
   create, configure, version, logs, browse.
Vosao CMS for GAE

           Maven
           JUnit
           Velocity Templates
           JQuery / Superfish
           CKEditor
           reCaptcha
           Disqus
           Bliki
           Native application
               Direct calls to Google
               Data Services API
           Open source (LGPL) on
           code.google.com
Vosao CMS

Challenges                     Windfalls

  Throttling                      Direct Support
  Backup                          Multisite
  Hi volume = Hi performance      Facebook
Roche and Douglas
Developing java Web Applications Using Google Apps RJUG 2011

Developing java Web Applications Using Google Apps RJUG 2011

  • 1.
    Developing Java Web Applicationsusing Google Apps Engine
  • 2.
    Introduced in April2009, Google Apps Engine for Java has come a long way, and seems ready for primetime. Google Apps Engine is a Platform as a Service cloud platform. Anyone can create and launch a GAE application at no charge, though resource utilization fees kick in when a site near the one million hits a month mark. Vosao (www.vosao.org) is an open source content management system developed from the ground up on Google Apps Engine for Java over the last 18 months. Vosao CMS uses many familiar Java libraries, like Velocity templates, popular web libraries, like JQuery, and popular mashup partners, like Picasa and Disqus.
  • 3.
    Platform as aService Cloud Computing Savings - Real or Imaginery?
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    The application environment dynamicweb serving with full support for common web technologies persistent storage with queries, sorting and transactions automatic scaling and load balancing Google Account APIs for authenticating users and sending email a local development environment that simulates Google App Engine on your computer task queues for performing work outside of the scope of a web request scheduled tasks for triggering events
  • 14.
    The sandbox Outgoing access via URL fetch or email services Incoming access via HTTP (or HTTPS) Store state via App Engine datastore, memcache. Respond to web request, queued task, scheduled task Return response data within 30 seconds Quotas and Limits Free 500MB of storage and 5 million page views a month. 10 applications per developer account.
  • 15.
    Google Apps forBusiness Central Development Management Master account for Google Apps domain Service Level Agreement (99.9%) Pricing: $8 per user per month (up to $1000) Expanded Enterprise Features Hosted SQL SSL on your domain
  • 16.
    The Java RuntimeEnvironment Java SE Runtime Environment (JRE) 6 platform Java Servlets JavaServer Pages (JSPs) Java Data Objects (JDO) Java Persistence API (JPA) interfaces JavaMail API Google APIs datastore memcache URL fetch mail images Google Accounts
  • 17.
    Development Workflow App Enginesoftware development kit APIs and Libraries Simulator Upload tool Google Plugin for Eclipse create, test, and upload The Administration Console create, configure, version, logs, browse.
  • 18.
    Vosao CMS forGAE Maven JUnit Velocity Templates JQuery / Superfish CKEditor reCaptcha Disqus Bliki Native application Direct calls to Google Data Services API Open source (LGPL) on code.google.com
  • 28.
    Vosao CMS Challenges Windfalls Throttling Direct Support Backup Multisite Hi volume = Hi performance Facebook
  • 29.