2012年3月12日 星期一

GAE for Java 簡介


  1. 什麼是GAE
    • GAE全名Google App Engine,是Google提供的一個PaaS形式的雲端服務,它可以執行使用者上傳的程式(都是屬於WebService的程式)。在GAE裡面所使用的程式語言有三種,Python,Java與Go(google 自行開發的程式語言),而後面所講的都是屬於Java的部份。
  2. 它的優點
    1. 它提供了許多已經建立好的工具,例如流量監控、Logs、IP阻擋、Cron Jobs等等。
    2. 一開始是免費的。
    3. 使用前必須先建立Google帳戶並用手機號碼認證,認證完可以免費建立10個Application。
    4. 除了預設的domain以外,可以使用其他你所擁有的domain(需搭配Google Apps)。
    5. 可以調用google的認證API來認證google帳戶。
    6. 不必煩惱網路(中國地區除外)、電源等基礎設施。
  3. 它的缺點
    1. 免費的Quota不多,且超過免費的配額之後收費並不便宜(計費資訊)。
    2. 在資料的儲存上與傳統的RDBMS並不相同,如果data schema較為複雜,資料備份以及平台轉移較為不易。
    3. 如果使用一些GAE上面特有的Service一樣不利於平台轉移。
    4. 沒有較為方便的客服機制。
    5. 不能使用file system, socket, thread。
    6. 欲使用JavaMail時,不須指定from and password,因為這個部份是綁定的,也就是你只能使用建立該Application時的gmail來寄信,並且不能收信。
  4. 其他特色
    1. App Engine Datastore 可以選擇Master/Slave Datastore與High Replication兩種,建議以High Replication 為優先選擇。 
    2. 除了App Engine Datastore 以外,還有兩種儲存方式,Google Cloud SQL與Google Cloud Storage。這兩種都是較新,且在實驗階段的功能,第一種讓GAE可以執行一般的SQL語法,第二種提供存取檔案的功能。
    3. 並非所有的JavaSE的功能皆有提供,詳細情形請看 JRE Classes White List
    4. 有些Java 的第三方工具可以使用,有些不行,詳細請看 WillItPlayInJava 。
    5. SSL的功能只支援預設的domain(*.appspot.com)。

沒有留言:

張貼留言