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