Google App Engine簡介:Python,Java與BigTable
Google App Engine從只支持Python開始,發展到今年四月開始支持Java。一路走來,也已經有了一年有余,而其發展勢頭也愈發的樂觀。下面對Google App Engine做個簡單的介紹。
Google App Engine簡介:概述
Google(同時也是一些搜索引擎的創建者)于 2008 年 4 月首度發布了 Google App Engine。令許多 Java 開發人員失望的是,初始版完全只服務于 Python 程序員 — 那些認為應該大塊使用空白的人!Google 響應了用戶的普遍要求,于 2009 年 4 月發布了 Google App Engine for Java。
Google App Engine for Java 為企業 Java 開發提供了一個端到端解決方案:一個易于使用的基于瀏覽器的 Ajax GUI、Eclipse 工具支持以及后端的 Google App Engine。易于使用和工具支持是 Google App Engine for Java 優于其他云計算解決方案的兩大優勢。
Google App Engine簡介:數據存儲與接口
App Engine for Java 中的應用程序開發意味著使用 Google 的資源存儲和檢索 Java 對象。數據存儲的基礎是BigTable,但是使用的是 JDO 和 JPA 接口,這些接口允許您編寫沒有直接綁定到 BigTable 的代碼。事實上,Google 為許多 API 提供了基于標準的支持,這樣就可以編寫沒有全部綁定到 App Engine for Java 的代碼。
App Engine for Java 依賴以下標準 Java API:
java.net.URL
,檢索服務(通過使用 HTTP 和 HTTPS 協議與其他主機通信)- JavaMail,發送郵件消息
- 一個通向 Memcache 的 JCache (JSR 107) 接口,提供快速、臨時的分布式存儲,用于緩存查詢和計算
在 App Engine for Java 發布時,來自 Google 和 IBM 的代表在 DB2/WebSphere 上部署了相同的樣例應用程序。IBM 致力于為 Tivoli LDAP 和 DB2 提供低級別的 Google API 支持,這樣針對 App Engine for Java 構建的應用程序也可以運行在 IBM WebSphere/DB2 堆棧上。
Google App Engine簡介:應用程序服務支持
此外,App Engine for Java 為以下應用程序服務提供了支持:
- 用戶身份驗證和授權
- CRON
- 數據導入/導出
- 訪問防火墻數據
對于將數據從其他來源移動到您的 App Engine for Java 應用程序,數據導入/導出十分重要。這也不需要綁定到 App Engine for Java。Google 的 CRON 支持基于對某個調度的內部 URL 命中率,從而使它成為不需要綁定 App Engine for Java 的出色服務。用戶身份驗證和授權機制是 特定于 App Engine for Java 的,但是您可以編寫一個 ServletFilter
、aspect 或 Spring Security 插件,以便最小化這種緊密耦合。
【編輯推薦】