1 應用程序運行時環(huán)境
GAE的應用程序運行時環(huán)境是一個可伸縮的Web程序運行平臺,目前能夠支持Python和Java兩種開發(fā)語言。
用戶可以選擇自己熟悉的環(huán)境支持的編程語言進行Web應用的開發(fā)。以Java為例,GAE上的Web應用程序基本遵循了Java規(guī)范,開發(fā)人員可以使用Google Web Toolkit這樣的Web開發(fā)框架加速開發(fā)迸度初提高應用程序質量。
GAE運行環(huán)境采用的是Java 6,環(huán)境包括了Java SE Runtime Environment 6平臺和庫,應用可以在GAE沙盒的限制范圍內使用任何JVM的字節(jié)代碼或者庫。為了保證GAE的性能和伸縮性,CAE對JVM進行了限制,比如在字節(jié)碼中嘗試打開一個套接字或者寫入文件時,GAE將會拋出一個運行時異常。另外,CAE支持不同版本的應用程序同時運行,每次上傳的應用都會作為一個新的版本獨立地運行。
運行在GAE上的應用可以使用Google公司提供的豐富的應用服務,包括分布式數據存儲服務、網址抓取、郵件、圖像和Google賬戶等,使用Java和Python語言開發(fā)的GAE Web應用程序都能夠使用這些服務。
2 應用開發(fā)套件
GAE為Web應用的本地開發(fā)提供了一個應用開發(fā)套件(Software DeveIopment Kit,SDK)。該SDK能夠使開發(fā)人員在本地執(zhí)行開發(fā)測試任務及管理和上傳應用程序,其包含的Eclipse GAE插件能夠極大簡化在Eclipse環(huán)境中的Web應用開發(fā)和管理任務。
在開發(fā)環(huán)境中,應用可以運行在SDK提供的應用程序運行環(huán)境的安全沙盒中,這個環(huán)境可以模擬大部分API,檢查到是否存在禁用模塊的導人,以及系統(tǒng)資源的非法訪問。在安全沙盒環(huán)境中,應用程序僅對操作系統(tǒng)擁有有限的訪問權限,例如應用只能通過網址抓取服務和電子郵件服務訪問互聯網上的其他計算機,其他計算機也只能通過HTTP請求來訪問應用程序。
當開發(fā)者進行應用的開發(fā)和測試工作時,可以利用開發(fā)套件提供的部署工具將應用程序文件和相應的配置文件上傳到遠程的GAE生產環(huán)境中。GAESDK提供的Eclipse插件使得GAE應用的開發(fā)、調試和部署變得非常容易,比如在創(chuàng)建Web應用程序時會自動配置類路徑,在開發(fā)完成后開發(fā)人員通過簡單的鼠標單擊就可以完成應用部署。
3 云應用
Google公司的云應用建立在其分布式的基礎設施之上,能夠根據用戶請求的數量自動地擴展、平衡負載,并且能夠通過多種有互聯網接人的終端進行訪問,吸引了大量的用戶群。本小節(jié)著重介紹Google Docs和Gmail這兩個云應用。
Google Docs是基于Web的文字處理和電子表格程序,支持用戶直接在線創(chuàng)建和編輯文檔。Google Docs支持在線協(xié)作,團隊成員可以根據授權同時茬線對文檔進行編輯和更新,并且能夠實時看到其他成員對同一文檔所做的并行修改。另外,Google Docs會自動保存用戶所有的修訂,使得用戶對文檔的修改記錄一目了然并且可以根據需要恢復到之前的任何版本。同時,Google Docs,集成了Google的強大的搜索能力,可以快速地對文檔進行檢索。
Gmail是Google的電子郵件服務,不但提供了常見的個人用戶的電子郵件服務,還提供了企業(yè)用戶的電子郵件服務,使企業(yè)擺脫了開發(fā)、管理和維護郵件系統(tǒng)的工作,專注在能夠為企業(yè)創(chuàng)造商業(yè)價值的業(yè)務上。Gmail不僅是有效的電子郵件工具,還集成即時消息和視頻功能。用戶可以通過測覽器隨時了解自己的聯系人的狀態(tài),同他們展開實時交流。即時消息會話內容被保存在Gmail內,用戶可以像檢索郵件一樣對消息會話記錄進行檢索。除此之外,Gmail擁有強大的防病毒、過濾垃圾郵件等功能,支持移動訪問,這些特點讓Gmail成為極其完善的面向組織的郵件解決方案。