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 balancingGoogle Account APIs
for authenticating users and sending emaila local development environment
that simulates Google App Engine on your computertask 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 servicesIncoming 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 ManagementMaster account for Google Apps domain
Service Level Agreement (99.9%)Pricing: $8 per user per month (up to $1000)Expanded Enterprise Features
Hosted SQLSSL 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) interfacesJavaMail API Google APIs
datastorememcache URL fetch mail images Google Accounts
Development Workflow
App Engine software development kitAPIs and LibrariesSimulatorUpload tool
Google Plugin for Eclipse
create, test, and upload The Administration Console
create, configure, version, logs, browse.
Vosao CMS for GAE
Maven JUnit Velocity TemplatesJQuery / Superfish CKEditor reCaptchaDisqus Bliki Native application
Direct calls to Google Data Services API
Open source (LGPL) on code.google.com
Vosao CMS
Challenges
ThrottlingBackup Hi volume = Hi performance
Windfalls
Direct SupportMultisite Facebook
Roche and Douglas