2009/04/11

Google App Engine supports Java

雲端運算平台 Google App Engine 幾天前推出最新的預覽版本,支援 Java。我原本因為不熟 Python 而遲遲沒有加入,但是終於支援了一個熟悉的語言,還不進來玩看看?第一波的測試名額開放 10000 名使用者加入測試,我有幸能在消息公開兩天後還能申請到,現在不知道還有沒有?(申請網址)

申請單送出之後,大概是需要人工審核,我等了一個上午才收到一封確認信,確認開通了 Java 支援。下載官方提供的 App Engine for Java SDK 套件之後,解壓放好後,開始看說明文件。不愧是 Google,推出時一併釋出寫好的文件,讓我在稍後的時間一直窩在這找尋資料。SDK 隨附的另外有 GuestBook 範例,看起來很簡單,後端儲存是採用 JDO (Java Data Objects) 的方式將物件存起來,不同於傳統關聯式資料庫。而 App Engine 除了支援 Servlet 外也支援 JSP (Java Servlet Pages),後者我在「網際網路程式設計」這堂課學過了,故寫起來算是輕鬆。

隨著這次支援 Java,很多透過 JVM 實作的語言支援紛紛可以放入這個平台上使用 (官方討論群組提供的列表):JRuby、Groovy、Jython (不過已經有 Python 了何必多此一舉)、Quercus (PHP) 之類的,可說是開了一扇大門啊。不過 App Engine 本身是運作在一個砂盒 Sandbox 環境,許多功能都有受限。像是伺服器只能讀取不能寫入檔案、檔案要儲存只能透過提供的 DataStore 方法儲存到資料庫中。JDBC 這次也沒有支援,所以想要使用其他資料庫應該也是不太可能?

官方推薦使用 eclipse IDE 加上 Google Plug-in 來輕鬆測試、部署,不過我選擇傳統的指令列,還好 Google 也推薦我使用 Apache Ant 方便下指令來部署測試。只要寫一個 Ant 看的懂的 build.xml 放在資料夾,以後只要在那個資料夾下 ant (動作) 它就會自己按照寫好的動作來執行,非常方便。官方文件也教你如何利用 Ant 來建立一個應用程式結構和寫 build.xml 來運用 SDK 提供的工具來測試及部署。

我也利用了這次機會寫了一些簡單的玩意兒放在平台上,看起來也是運作正常。一開始遇到的問題是上傳後的資料無法暫存的問題 (很多上傳元件都是先寫入暫存檔再來操作,無奈沙盒環境不允許寫入),查了 Knowledge Base 後發現可以使用 Apache Commons FileUpload 物件提供的 The Streaming API 方式直接讀取,不需寫入暫存檔,這樣就沒有問題了。
---
http://xmlvalidator.new-studio.org/ 這是我學習 XML 標記語言課程的期末專題,可以用來檢查 XML 檔案是否符合定義,並可以即時嘗試 XPath 的結果。

沒有留言:

張貼留言