Google雲端運算AppEngine Java版剛剛推出來的時候,我就申請了該服務。該服務的申請需要提供手機號碼驗證,GOOGLE很牛B,能夠發送全球的手機簡訊。申請的帳號放了很久,前段時間學習OpenID,需要作一個範例,於是就在Google AppEngine上作,作的過程發現其不能使用線程,導致HttpClient組件無法工作,於是我修改了OpenID4Java的實現,全部使用URLConnection來實現。最終程式部署成功了,網址 http://cogito-study.appspot.com,歡迎大家測試使用。
我來說一下我對Google AppEngine Java版本的使用感受吧。
1、Google AppEngine Java版本,具備準系統,但是由於缺乏一些重要的功能,例如線程,沒有線程,很多庫無法使用,例如我上面提到的HttpClient不能使用。Google提供一個類的白名單http://code.google.com/intl/zh-CN/appengine/docs/java/jrewhitelist.html,大多數需要使用的類都有,javax.xml.crypto不再其中,使得我要部署一個SAML2的實現時玩不轉。
2、Google AppEngine提供了一個DataStore,使用JDO訪問資料,其查詢語言支援GQL。準系統是具備的,但是也是存在很大的局限性,最多返回1000行資料,COUNT(*)也是最多返回1000行。這個限制使得很多應用要跑在其上,會很麻煩。
3、部署很簡單,在Eclipse中使用Google提供的外掛程式,輸入帳號密碼就可以部署了,太簡單了。但我使用的過程中,經常出現某些時段無法部署的情況,通常遇到這種情況,多嘗試幾次或者過段時間再嘗試就好了。
4、管理介面簡潔方便,功能基本完備。包括效能監控、資料管理、日誌、計費等都有。
總結
Google的AppEngine Java版本已經具備了準系統,可以部署簡單應用了,但是由於其功能不夠完備,目前大多數應用要部署在其上,都會要做相當大的修改或者無法實現。