17:00 - 6. Google App Engine for Java Ice Penov
GAE = Google App Engine
Google Eclipse Plug-in - comfortable for developing in Java.
GAE lets you run and maintain your web applications
GAE supports Java and Python
An application will become available on *.appspot.com
Benefits and advantages of GAE:
- free resources
- Google infrastructure for scalability
- easy integration with Google accounts and other services
(demonstrates how to create a GAE application)
"OK. I'm speaking with the Google cloud... I should socialize more" - after creating a Google application that sends messages via Google Talk and you can return your parameters to your application as you respond via Google Talk as well. :)
GAE is in sandbox.
- cannot write to file system
- cannot open socket to another host
- cannot open a thread
- cannot make explicit System calls like System.exit()
There is a white-list of JRE features supported by the GAE cloud. (easily googleable)
- he thinks that this is a major drawback, because you can't make your application run on your server and then associate it with the cloud.
There are some metrics services on the GAE - CPU time, request-count etc...
Out-of-the-box Services API:
- storing data is done with Google BigTable which is a NoSQL
JDO preferred to JPA; GQL is available - no real info given for this
------- cannot use JOIN query and aggregation queries
- MemCache Java API - distributed in-memory data cache
JCache API can be used
- Mail Service - Java Mail API can be used
- XMPP - Google Talk uses this IM protocol
- Image service - resize, rotate, flip, crop
- Google Account - you can integrate openID into your GAE application
GAE and other technologies interoperabilities:
- JEE - not supported JDBC, RMI,
- other JVM languages - supported
--- supported - Spring, Tiles, Struts, GWT
--- not supported - Hibernate, iText, Rich(ICE)Faces
And that's it for today!
Java2Days first day is over. I hope you find these notes interesting. I wrote them as I was attending the sessions so my posts could lack enough sentences but you will forgive me :)
Unfortunately, I cannot cover Java2Days Day 2 and share my thoughts.