| by 張貼者: Joshua

0

Google App Engine 應用服務引擎

「Google 應用服務引擎」在 Google 的基礎結構上執行網路應用程式。可因應流量和資料儲存量擴充。不需要維護伺服器:只要上傳應用程式即可。


 使用「Google 應用服務」,從自己的網域名稱 (例如 http://www.example.com/) 提供應用程式。或使用 appspot.com 網域上的名稱,提供應用程式。可選擇分享,或僅限組織成員使用。

「Google 應用服務引擎」支援多種程式設計語言編寫的應用程式。透過「應用服務引擎」的 Java 執行階段環境,您可以使用標準 Java 技術 (包括 JVM、Java servlet 和 Java 程式設計語言) 或是其他使用 JVM 直譯器或編譯器的語言 (例如 JavaScript 和 Ruby),建置您的應用程式。Java 執行階段環境的設計可確保應用程式快速、安全地執行,且不會受到系統上其他應用程式的干擾。
使用「應用服務引擎」時,您只需要支付實際使用的費用。沒有設定成本,也沒有循環費用。應用程式使用的資源 (例如儲存空間和頻寬) 均以 GB 為單位計算,並採用優勢費率計費。您將控制應用程式能夠使用的資源上限,因此可以將費用維持在您的預算內。
開始使用「應用服務引擎」不需支付任何費用。所有應用程式可以使用高達 500MB 的儲存空間,以及足夠支援每月 5 百萬次網頁瀏覽數的 CPU 和頻寬,完全免費。啟用應用程式的計費功能時,我們將提高您的免費額度,而您只需要為超過免費等級的資源使用量支付費用。


應用程式環境

Google App Engine包括下列功能:
  • 動態網頁服務,完全支援常見的網頁技術
  • 可永久儲存查詢、排序以及交易
  • 自動擴充和負載平衡
  • 使用 API 來驗證使用者以及使用「Google 帳戶」傳送電子郵件
  • 全功能的本機開發環境,在您的電腦上模擬「Google 應用服務引擎」
  • 排程工作,在指定的時間與固定的時間間隔啟動活動。
應用程式可以在Java 以及 Python執行階段環境中執行。每個環境均提供網路應用程式開發的標準通訊協定和一般技術。

沙箱

應用程式執行於安全的環境,該環境對底層作業系統提供有限的存取。這些限制允許「應用服務引擎」在將應用程式的網頁要求分散至多個伺服器,以及啟動 和停止伺服器以符合流量需求。沙箱會將您的應用程式隔離在其安全、可靠的環境中,此環境與硬體、作業系統和網頁伺服器的實際位置無關。安全的沙箱環境的限制範例包括下列各項:

  • 應用程式必須透過提供的 URL 擷取和電子郵件服務,才能存取網際網路上的其他電腦。其他電腦只能透過標準連接埠的 HTTP (或 HTTPS) 要求,與應用程式連線。
  • 應用程式無法寫入檔案系統。應用程式可以讀取檔案,但僅限於使用應用程式碼上傳的檔案。就要求之間的所有持續性資料,應用程式必須使用「應用服務引擎」資料存放區、memcache 或其他服務。
  • 應用程式碼只會在回應網路要求或 cron 任務時執行,而且必須在 30 秒內傳回回應資料 (無論情況為何)。要求處理常式不能在傳送回應之後,再產生子處理程序或執行程式碼。

Java 執行階段環境

使用通用的 Java 網路開發工具和 API 標準開發應用程式。應用程式會使用 Java Servlet 標準與環境互動,而且可以使用一般網路應用程式技術,例如 JavaServer Pages (JSP)。
Java 執行階段環境使用 Java 6。「應用服務引擎 Java SDK」支援使用 Java 5 或 Java 6 開發應用程式。
這個環境包括 Java SE Runtime Environment (JRE) 6 平台以及程式庫。沙箱環境的限制已透過 JVM 完成實作。只要不超過沙箱限制,應用程式可以使用任何 JVM 位元組碼或程式庫功能。例如,位元組碼嘗試開啟通訊端或寫入檔案時,將擲回執行階段例外狀況。
    應用程式使用 Java 標準 API 存取大多數的「應用服務引擎」服務。至於「應用服務引擎」資料存放區,Java SDK 包含 Java Data Objects (DJO) 以及 Java Persistence API (JPA) 介面的實作。您的應用程式可以使用 JavaMail API,透過「應用服務引擎」的「郵件」服務傳送電子郵件。java.net HTTP API 會存取「應用服務引擎」的「URL 擷取」服務。「應用服務引擎」也包括低階 API,讓其服務實作其他介面卡,或從應用程式直接使用。(Datastore API (資料存放區 API)Memcache APIURL Fetch API (URL 擷取 API)Mail API (郵件 API)Images API (影像 API)以及 Google Accounts API 的詳細資訊,請參閱相關文件。)
一般使用 Java 程式設計語言和 API 實作 JVM 的網路應用程式。透過 JVM 相容的編譯器或直譯器,也可使用其他語言,例如 JavaScript、Ruby 或 Scala。


資料存放區

「應用服務引擎」提供強大的分散式資料儲存服務,具有查詢引擎和交易功能。就像分散式網頁伺服器會隨著流量而成長,分散式資料存放區也會隨著您的資料量而變大。
「應用服務引擎」資料存放區與傳統關聯式資料庫不同。資料物件 (或稱「實體」) 具有種類和一組屬性。查詢可以透過屬性值篩選和排序,抓取指定種類的實體。屬性值可以是任何支援的屬性值類型
資料存放區實體是「沒有結構描述」的。應用程式碼會提供資料實體的結構,並強制執行。Java JDO/JPA 介面和 Python 資料存放區介面支援在應用程式中套用與強制執行結構。您的應用程式也可以直接使用資料存放區,以套用所需的結構。
資料存放區是非常一致的,且使用開放式並行控制。在交易中發生的實體更新,若其他處理程序同時正在嘗試更新相同的實體,則該交易會重試固定的次數。應用程式可以在單一交易中執行多個資料存放區操作,採取全部成功或全部失敗的方式,以確保資料的完整性。
資料存放區使用「實體群組」橫跨其分散式網路來實作交易。交易會在單一群組中操縱實體。相同群組的實體會儲存在一起,讓交易有效率地執行。建立實體時,應用程式可以指派要群組的實體。



Google 帳戶

「應用服務引擎」支援應用程式與「Google 帳戶」的整合,以執行使用者驗證。您的應用程式允許使用者以 Google帳戶登入,並存取與該帳戶相關的電子郵件地址和顯示名稱。使用「Google 帳戶」讓使用者可更快使用您的應用程式,因為使用者可能不需要再建立新帳戶。此外也可以為您省下一些麻煩,不需要只是為了應用程式就再實作一套帳戶系統。
若您的應用程式是在「Google 應用服務」下執行,就可以使用組織成員和「Google 應用服務」帳戶的相同功能。
Users API (使用者 API) 也可以告訴應用程式,目前的使用者是否為此應用程式的已註冊系統管理員。如此便可以輕鬆實作僅供管理使用的網站區域。
(參閱使用者 API 參考資料。)

應用服務引擎

管理應用程式時,能執行的操作。使用下列 API,便可取得相關服務:

URL擷取     使用「應用服務引擎」的 URL 擷取服務,應用程式便可以使用網際網路上的資源,例如 web 服務或其他資料。URL 擷取服務使用高速的 Google 基礎架構擷取網路資源,許多 Google 產品都是使用相同的基礎架構擷取網頁。

郵件     應用程式可以使用「應用服務引擎」的郵件服務來傳送郵件訊息。此郵件服務使用 Google 基礎架構傳送郵件訊息。

Memcache     Memcache 服務提供高效能的記憶體中金鑰-值快取,您的應用程式中的許多實例都可以使用。有些資料 (例如暫存資料或從資料存放區複製到快取的資料) 不需要資料存放區的持續保存和交易功能的資料,因此十分適合使用 Memcache 執行高速存取。

影像操縱     影像服務讓您的應用程式可以操縱影像。透過這個 API,您可以調整大小、裁剪、旋轉和翻轉 JPEG 和 PNG 格式的影像。

排程工作     「Cron 服務」可讓您排程工作,並於固定的時間間隔執行。(參閱  Java cron 文件。)

 

開發工作流程

Java 專用的應用服務引擎軟體開發套件 (SDK),包含一個網頁伺服器應用程式,可以模擬本機電腦上的所有「應用服務引擎」服務。 SDK包括「應用服務引擎」所提供的所有 API 和程式庫。網路伺服器也會模擬安全沙箱環境,包括檢查「應用服務引擎」執行階段環境不允許的系統資源存取嘗試。
SDK 也包含將應用程式上傳至「應用服務引擎」的工具。一旦您建立應用程式碼、靜態檔案和設定檔後,可執行此工具來上傳資料。工具會提示您輸入 Google 帳戶電子郵件地址和密碼。
如果您針對已經在「應用服務引擎」上執行的應用程式推出新版本,便可上傳新版本。使用者仍然可以繼續使用舊的版本,一直到他們改用為新版本為止。您可以在舊版仍在運作的狀況下,同時在「應用服務引擎」上測試新版本。
Java SDK 可以在任何安裝 Java 5 或 Java 6 的平台上執行。SDK 提供 Zip 檔案下載。如果您使用的是 Eclipse 開發環境,您可以使用「Eclipse 專用的 Google 外掛程式」建立、測試與上載「應用服務引擎」應用程式。SDK 也包括一個命令列工具,可用於執行開發伺服器以及上傳應用程式。

管理控制台可管理「應用服務引擎」上執行的應用程式,為網頁式的介面。您可以用它來建立新應用程式、設定網域名稱、變更現用的應用程式版本、查看使用情況和錯誤記錄,以及瀏覽應用程式的資料存放區。

0 意見:

張貼留言