2008年8月8日 星期五

Google App Engine 練習<1>

Google App Engine 練習

GAE 基本概念

鑑於WEB應用程式從概念、分析、開發到建置過程有太多的問題需要克服,Google 提供了更簡單的方式,讓概念成真的過程變得更加迅速&容易,投資者更可減少概念驗證過程中的各項投資,包括:軟體、硬體、時間與成本…等。

為什麼筆者會這樣說呢?沒有Google App Engine (簡稱GAE)之前,我們要發展 WEB 應用,需要申請頻寬、架設伺服器、安裝各種系統軟體、每月支付主機代管費用給 ISP 業者…,然而,以上這些費用都會在我們無法確定概念是否真能成功之前就需要投入的,更不用說每月要付出的其他成本了。

Google 提供的GAE 其實是一種開放的環境,讓許許多多的網路應用可以在這樣的平台上運作,而且幾乎免費,只有當使用頻率高到某種程度的時候才要收費,也就是說,從概念到成功之前,幾乎不會發生各種不必要的花費,看到這裡,你是否躍躍欲試了呢! 讓我們一起學習吧!

講在前面

  • GAE 目前支援的程式語言是 Python 2.5,如果你想用其他程式語言,可能要再等等

  • GAE 目前沒有支援 SSL,如果你的 WEB 須要用到 SSL,建議採用 proxy

  • GAE 採用 schema less 的分散式資料儲存模式,跟關聯式資料庫的觀念截然不同,要有心理準備


除了以上三點之外,GAE 真的很好用 ^_^

準備動作

  1. 下載並安裝Python 2.5開發工具
    網址:http://python.org/download/

  2. Google 申請 GAE 服務
    網址:http://code.google.com/appengine/

  3. 下載並安裝 GAE SDK 程式
    網址:http://code.google.com/appengine/downloads.html

  4. IDE或者文字編輯工具開發WEB 應用程式
    參閱:http://code.google.com/appengine/docs/gettingstarted/

Eclipse 安裝 Python 開發工具

PyDev Plugin

  1. 使用功能表中選擇 [Help]/[Software Updates]/[Find and Install]

  1. 選擇 Search for new features to install 後點選[Next]按鍵

  2. 點選 [New Remote Site] 建立PyDev 的下載點
    name : PyDev
    url : http://pydev.sourceforge.net/updates/

  1. 設定完成後,勾選PyDEV 並點選 [Finish] 按鍵

  2. 安裝完成後,重新啟動 Eclipse 即可

Pydev 開發 Python 程式

  1. 建立 Pydev 專案

    • 功能表中選擇 [File]/[New]/[Pydev Project]

    • 輸入專案名稱並點選 Python 2.5,然後點選 [Finish] 按鍵
      專案名稱:HelloWorld

  1. 設定 GAE SDK HelloWorld專案中

    • HelloWorld 專案中點選滑鼠右鍵,並選擇 [properties] 選項

    • 於屬性設定畫面中,選擇 [Pydev – PYTHONPATH]頁籤,並於External Source Folder當中指定GAE 安裝路徑

    • 點選 [OK] 按鍵完成設定

  1. 撰寫第一支 Python程式

    • 功能表中選擇 [File]/[New]/[Other]

    • 選擇 [Pydev]/[Pydev Model] 後點選 [NEXT] 按鍵

    • 選擇檔案存放路徑並輸入檔案名稱後,點選 [FINISH] 按鍵
      檔案名稱:helloworld

    • IDE 中撰寫程式,寫好程式後請存檔,開發者將會在Package Explore 專案畫面中看到剛剛存檔的Python程式。
      以下是 HelloworldPython 範例:

      print 'Content-Type: text/plain'

      print ''

      print 'Hello, world!'

    • Package Explore點選 helloworld 程式並點選滑鼠右鍵,選擇 [Run As]/[Python Run] 執行這支程式

    • 開發者可以在 Console 畫面中看到本程式的執行結果

    • 確認後,就可以把程式上傳並安裝到 GAE 平台了,


上傳Python 程式到 GAE

  1. 連線到 GAE 並完成 Sign In 動作
    網址:http://appengine.google.com/

  2. Sign In 後,請點選 [Create an Application] 申請本WEB應用程式的上傳空間

  1. 申請過程中請務必輸入 Application ID 並點選 [Check Availability] 按鍵確認沒有其他人申請過,請記住Application ID以便後續上傳&識別
    我申請的Application ID是:isample

  1. 申請完成後,請到Helloworld 專案中建立一份設定檔,檔名一般為:app.yaml 但開發者仍可自行決定檔名。
    檔案內容如下:

    application: isample

    version: 1

    runtime: python

    api_version: 1


    handlers:

    - url: /.*

    script: helloworld.py

    指定上傳的Application ID,剛剛申請的

    說明設定檔的版本

    說明採用的runtime, 目前僅有 python

    說明採用的 GAE SDK 版本



    說明 WEB 網站的進入點, 本例為根目錄

    指定 Python 程式檔名

  2. 上傳到 GAE 環境

    • 啟動命令提示畫面,並切換到HelloWorld 專案目錄,從該目錄底下,應該可以看到剛剛完成的程式(helloworld.py)跟設定檔(app.yaml)

    • 輸入並執行以下命令

      appcfg.py update .

      appcfg.py GAE 的上傳指令
      update
      是其中一個參數

      . 則是用來指出設定檔(app.yaml)的所在路徑

    • 請依照提示輸入你的 Google 帳號與密碼即可完成上傳

註:關於appcfg.py的用法,請參閱以下
網址:http://code.google.com/appengine/docs/appcfgpy.html

  1. 連線到 GAE 網站即可看到上傳完成的程式及其版本
    網址:http://appengine.google.com/

  1. 只要點選該版本連結即可執行我們開發好的 WEB 應用,恭喜你成功了 ^_^

衍生閱讀:
1. Python WiKi
2. Python 教學文件

沒有留言: