1 / 84

Google App Engine 簡介

Google App Engine 簡介. Introducing GAE. 教材. 湯秉翰 著 (2013) , 雲端網頁程式設計- Google App Engine 應用實作 ( 第二版 ) , 博碩文化, ISBN 978-986-201-824-8 ( 書號 PG31356) 鍾葉青、鍾武君 著 (2013) , 雲端計算, 東華書局, ISBN 9789861579030 ( 書號 CL009)

lydia
Télécharger la présentation

Google App Engine 簡介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Google App Engine 簡介 Introducing GAE

  2. 教材 湯秉翰 著(2013), 雲端網頁程式設計-Google App Engine應用實作(第二版), 博碩文化, ISBN 978-986-201-824-8 (書號 PG31356) 鍾葉青、鍾武君 著(2013), 雲端計算, 東華書局, ISBN 9789861579030 (書號 CL009) 許清榮、林奇暻、買大誠 著(2012), 掌握Hadoop翱翔雲端-Windoop應用實作指南, 博碩文化, ISBN 978-986-201-673-2 (書號 PG21241) 鍾葉青、李冠憬、許慶賢、賴冠州 著(2011), 雲端程式設計: 入門與應用實務, 東華書局, ISBN 9789861578125 (書號 CL008)

  3. What is GAE? • GAE-雲端應用程式服務引擎 • 在 Google 所設計的架構下開發應用程式 • 2004年釋出Beta版,支援Python語言 • 2009年起支援Java語言 • GAE/J 或 GAE for Java

  4. GAE 的特色 • 在Google的Infrastructure中執行App • Google File System、Datastore • Scalability、Reliability、… • 免費 • 需求量增大而不敷使用的時候,可選擇付費加購運算資源 • 使用者專心於網頁系統的開發 • 豐富的資源:透過Google API存取各種服務

  5. GAE 的架構 • Frontend(前台/前端) • App Server(應用伺服器) • Backend(後台/後端)

  6. Frontend GAE 的雲端服務單位 接收瀏覽器發出的請求(Request) 負載平衡(Load Balancing)處理 接收 Request 之後,將 Request 導向 App Server 進行處理 Frontend Instances 實例(或單位)越多或越高等級的前端單位可承受更高的外部請求

  7. App Server • 接收前端單位傳來的請求 • 依使用者開發的應用程式執行工作 • 開發人員可以在應用程式中呼叫 Datastore 雲端資料庫 • 能使用 GAE 提供的 API 服務 • 圖檔處理、URLfetch、工作佇列、帳號等

  8. 後端服務 API 提供 URL 擷取、郵件傳送、影像處理、排程工作與 Google Accounts 等服務

  9. 儲存 Static Files 靜態檔案 Datastore 資料庫 Memcache 記憶體快取

  10. Static Files 靜態檔案 包括 CSS Files、Image Files、Javascript Files 等 不需經過應用程式伺服器處理的檔案 由前端單位直接取得,可加快讀取與處理速度 在 appengine-web.xml 應用程式設定檔中訂定

  11. Datastore 資料庫 • 透過 JDO(Java Data Objects)與 JPA(Java Persistence API)存取 • 不是關聯式資料庫 • BigTable架構 • NoSQL • 沒有 Join、Count • 支援物件一對一(one-to-one)、一對多(one-to-many)與多對多(many-to-many)的關係 • 確保交易(Transaction)

  12. Memcache 記憶體快取 利用記憶體的快取特性設計應用程式 對於經常需要存取的資料,可把從Datastore 讀取到的資料放置在記憶體中 當應用程式接收使用者查詢時,先檢查memcache 中是否有符合的資料

  13. JAVA 語言開發 • 支援 Java 7 • Java 5 與 Java 6 已經過時,改用 Java 7 • 在 GAE 可使用 Java 標準版本(Java SE) • 支援 Servlet 標準 • 使用 JSP • 使用 JavaMail API 或 Google 所提供的 Mail 服務 • 以 JDO 與 JPA 標準存取 Datastore 資料庫

  14. JAVA 語言開發 Java 版本

  15. 管理 • 的管理者可使用網頁介面登入管理網頁 • https://console.developers.google.com • 包括前端單位、日誌、排程、Datastore、應用程式設定、權限、收費原則以及制定付費配額與預算等功能 • 極高的擴充能力 • Google 在 GAE 提供了一定額度的免費資源 • 付費功能提供「Budget」預算上限的設定 • Google 不定期公布其付費策略,因此實際付費資訊還是要以 GAE 官網公布為主

  16. 開發環境介紹與建置 • 以 Java 開發 Google 雲端服務所需的軟體 • Java Software Development Kit (SDK) • Eclipse 整合開發環境軟體(IDE) • Google 外掛開發工具 • Google Chrome 瀏覽器

  17. 32 與 64 位元系統 • 安裝開發環境的軟體時,可選擇 32 或 64 位元的版本,原則是 JDK 與 Eclipse 的版本應該互相搭配 • 32 位元版 JDK + 32 位元版 Eclipse • 64 位元版 JDK + 64 位元版 Eclipse • 若電腦作業系統為 64 位元,仍然可以安裝 32 位元的版本

  18. 下載 JDK • 網址: • http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html#JDK7

  19. 安裝 JDK

  20. 安裝 JDK • 安裝完成後會在C:\Program Files\Java\目錄中產生兩個目錄,一個是JDK,另一個是JRE:

  21. Eclipse • Eclipse 是目前最熱門的 Java 整合開發工具 • 2001年,IBM 將由 Object Technologies International 公司收購而來的 IDE 以 CPL 自由軟體授權方式捐出來 • 成立 eclipse.org 負責開發與推廣的工作

  22. 取得 Eclipse • 網址: • http://www.eclipse.org/downloads/ • 下載 Eclipse IDE for Java EE Developers

  23. 取得Eclipse(續) • 點擊最近的映射站台(台灣的網站)下載連結:

  24. 執行 Eclipse

  25. Eclipse 環境介紹

  26. Eclipse 快速鍵

  27. Eclipse 的預設編碼 • 將預設編碼改為 UTF-8! • 在中文 Windows 中使用 Eclipse 時,其預設的編碼為 MS950(同BIG5)

  28. Workspace 預設編碼改為 UTF-8

  29. CSS Files 預設編碼改為 UTF-8

  30. HTML Files 預設編碼改為 UTF-8

  31. JSP Files 預設編碼改為 UTF-8

  32. 安裝 Google 外掛 • 外掛更新網址「update site」 • 網址使用HTTP(或HTTPS) • Google Plugin for Eclipse • Eclipse 4.3 (Kepler) • https://dl.google.com/eclipse/plugin/4.3 • Eclipse 3.8/4.2 (Juno) • https://dl.google.com/eclipse/plugin/4.2 • Eclipse 3.7 (Indigo) • https://dl.google.com/eclipse/plugin/3.7

  33. 線上安裝 Google Plugin for Eclipse 點 擊 功 能 表「Help/Install New Software」

  34. 安裝 Google 外掛

  35. 安裝 Google Chrome 瀏覽器 • 開發 GWT 與 GAE 時使用 Chrome 為瀏覽器,提供較佳的除錯能力 • 下載網址 https://www.google.com/chrome

  36. 申請 GAE 帳號 • 至 https://appengine.google.com/ 申請 • 申請程序 • 參考國網中心 Google App Engine 推廣的說明 • 用 Gmail 的帳號申請最方便 • 手機驗證 • 手機號碼的格式以加號「+」開始,接著輸入國際碼,如「886」代表台灣,再輸入手機號碼,手機號碼不需要第一個零,如「+886 912345678」即為正確的格式 • 手機收到驗證簡訊後,將驗證碼(Account Code)填在網頁中,再按下「Send」按鈕

  37. 申請 GAE 帳號 • 按下「Create Application」按鈕,進入手機驗證頁面

  38. 申請 GAE 帳號

  39. GAE 應用程式環境圖

  40. 建立 GAE 應用程式

  41. 以 GWT 編譯專案GWT Compile Project • GWT • Google Web Toolkit • Google 為網頁元件設計提供的一套類別庫 • 讓 Java 開發人員不需要再去深究HTML與JavaScript技術即能快速開發出網頁系統。 • GWT 的類別編譯後轉換為 JavaScript 程式碼。

  42. 加入 Speed Tracer 功能 Profile Using Speed Tracer Speed Tracer 可產出網頁被存取時使用的時間與資源效能圖表。 協助分析效能瓶頸 找尋問題,解決問題

  43. 建立一個全新的 GAE 專案 • 專案名稱: guestbook • 套件名稱: com.guestbook • 對話框的下方有一個範例程式的預設勾選的項目(Sample Code) • 為這個 GAE 專案產生一組 GWT 範例程式 • 保持其勾選狀態

  44. 專案目錄架構 • 專案建立完成後,展開左方專案視窗內的guestbook專案,觀察其目錄架構

  45. 專案內重要的目錄 • src目錄: • Java 原始碼與模組設定檔 • test 目錄: • 測試程式類別 • war 目錄: • 網頁相關檔案,包括 HTML、CSS、JSP、JavaScript 與圖檔 • 存放未來佈署至 GAE 時所需檔案

  46. 執行專案 • 在 guestbook 專案上按滑鼠右鍵,點擊「DebugAs」下的「Web Application」 • 以網頁應用程式的方式執行 • GWT 編譯 • 啟動開發專用伺服器 • 在 View 視窗區出現「Development Mode」 • 顯示一個測試用URL網址 • 以 Google Chrome 開啟這個 URL

  47. GWT編譯

  48. 執行專案

  49. 執行專案

More Related