Google App Engine Java概览

Google App Engine Java (Early Look)于2009年4月7日正式上线,至写本文的时GAE向开发者开放了10000个名额,先到先得。

GAE4Java是一个可以使用Java语言来开发GAE上Web应用的解决方案,这个解决方案包含带有沙盒(即一定功能限制)的Java运行时和使用Google各种服务的API。

GAE的沙盒不允许用户进行任意的网络连接,即不能使用Socket;不允许用户进行服务器文件系统的更改操作,比如创建文件,写入文件;不允许用户使用JNI和其他Native Code。

但是,这些限制并不会阻碍开发者开发大多数应用,GAE针对数据存储、网络连接等都提供了相应的服务。

在数据存储方面,GAE提供了GDataBase,所说后台是Google File System,目前开发者可以使用Java Data Objects (JDO) 2.3 和 Java Persistence API (JPA) 1.0来进行数据持久化方面的开发。

在网络连接方面,GAE提供了URL Fetch服务,这样可以让服务器端通过Web访问资源,并支持HTTP和HTTPS两种协议。

除此之外,使用GAE的一个优势在于,你的应用可以方便地集成Google已有的各种应用服务,如

    • Images-提供图像数据的操作API
    • Mail-提供邮件相关的服务API
    • Account-提供Google帐户直接登录功能,这一点意味深长
    • Memcache-用于有高性能要求的Web应用的内存缓存服务API

另外,使得一提是在App Engine Java SDK中直接加入了GWT SDK,当你使用这个SDK时你可以不接触Javascript,完全用Java来完成一个Web应用,不过GWT还是有很多缺点的,这个以后再谈。