Thursday, October 07, 2010

Java2Days Sofia Day 1 (part 6)

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:
- cloud
- free resources
- Google infrastructure for scalability
- easy integration with Google accounts and other services

(demonstrates how to create a GAE application)

GWT = Google Web Toolkit (made for JavaScript and AJAX)

GWT compiles Java to JavaScript => slower compile . That is done because it's executed in a browser.

Quote:
"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

-3rd party
--- 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.

Leni Kirilov

No comments:

Post a Comment