zz http://feiibm.blog.sohu.com/124693385.html
Java版的Google App Engine
根据我的推断,其实Java版和Python版唯一的确保就是在App Server端,其实模块应该区别不大,因为App Server上Java code对其他服务的调用都是通过上面提到Protocol Buffers这个平台无关的协议进行远程调用的,所以App Server上面的代码是不用关心Datastore,Memcache和Images等服务是不是用Java实现,只要它们起着,就能通过Protocol Buffers调。
本地Sandbox开发
为了方便开发和调试,Google App Engine提供一个本地sandbox。
通过下面这张图,我们大概能够明白Sandbox的环境和 Production的环境有什么不同了。唯一的不同就在于Implementation不一样。假设程序调用Datastore的服务,如果在Production的环境下,它会去调真实的Datastore服务,而在Sandbox的环境下,它则会调local stub,也就是一个基于文件的数据库程序。

图2 Google App Engine架构图2 (来源:2009 Google IO)
未来的Roadmap
1. 不断推出新的API,比如Task Queue和 XMPP。
Task Queue一般用于离线操作,而XMPP有可能和Google Wave有关。
2. 新的语言(估计不可能)
因为Google内部仅支持三种语言, C++, Java和Javascript,而且推出一个新的语言版本的话,是非常劳师动众的,毕竟Google App Engine的设计和Windows Azure的设计是完全不同的。所以短期我认为不大可能支持新的语言。
总结
Google App Engine是Google大战略的一个不可分割的一部分,因为Google希望能通过Google App Engine来降低Web应用开发的难度,只要难度降低了,那么Web应用替代客户端应用的速度将会更快,如果出现这样的情况的话,那么将会对Google今后的发展非常有利。通过也希望国内兄弟们能尽快推出山寨版的。
参考资料
· From Spark Plug to Drive Train: Life of an App Engine Request
http://code.google.com/events/io/sessions/FromSparkPlugToDriveTrain.html
· Google AppEngine - A Second Look
http://highscalability.com/google-appengine-second-look
· Google App Engine Blog
http://googleappengine.blogspot.com/
· Bigtable: A Distributed Storage System for Structured Data
http://labs.google.com/papers/bigtable.html
· The Google File System
http://labs.google.com/papers/gfs.html
· Google发布新版本的Protocol Buffers
http://www.infoq.com/cn/news/2009/05/google-protocol-buffers