教學大綱表 (108學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 雲端服務平台開發
(英文) Development Of Cloud Service Platform
開課單位
Departments
資訊經營研究所
課程代碼
Course No.
N4540B
授課教師
Instructor
王永心
學分數
Credit
3.0 必/選修
core required/optional
選修 開課年級
Level
研究所
先修科目或先備能力(Course Pre-requisites):
課程概述與目標(Course Overview and Goals): 培養同學雲端程式設計之能力,學習結合雲端計算與服務導向架構概念於服務平台開發,配合實驗理解相關網路服務技術之運用。主要介紹如何利用Google App Engine for Java實作出雲端網頁系統,並使用Eclipse與Google外掛功能進行開發,課程內容涵蓋如何在GAE中使用JEE的Servlet與JSP,以及Google Web Toolkit (GWT)。
教科書(Textbook) 湯秉翰,雲端網頁程式設計:Google App Engine應用實作(第二版),博碩文化,2013。
參考教材(Reference) 1. 鍾葉青、許慶賢、賴冠州、李冠憬,雲端程式設計:入門與應用實務,出版社:東華書局,2013。
2. Sosinsky, B., Cloud Computing Bible, Wiley, 2011.
3. Linthicum, D. S., Cloud Computing and SOA Convergence in Your Enterprise: A Step-by-Step Guide, Addison-Wesley Professional, 2009.
圖書館電子書(E-book of the Library) Barry, Douglas K. Web services, service-oriented architectures, and cloud computing, Morgan Kaufmann, 2013.
課程大綱 Syllabus 學生學習目標
Learning Objectives
單元學習活動
Learning Activities
學習成效評量
Evaluation
備註
Notes

No.
單元主題
Unit topic
內容綱要
Content summary
1 Introduction to Cloud Computing •Defining Cloud Computing
•Assessing the Value Proposition
•Understanding Services and Applications by Type
•認識雲端服務的應用面、優點、架構與雲端運算型態與類型  
2 Understanding Cloud Architecture •Using the cloud computing stack to describe different models
•Understanding how platforms and virtual appliances are used
•Learning how cloud communications work
•Discovering the new world of the cloud client
•瞭解雲端架構與平台  
3 SOA & Web Services Technology •SOA and Web Services Fundamentals
•Service descriptions (with WSDL)
•Messaging (with SOAP)
•Coordination, Orchestration, and Choreography
•BPM & SOA
•學習服務導向架構之觀念與基本之網路服務技術與標準  
4 GAE開發環境介紹與建置 •JDK
•Eclipse
•Google外掛
•安裝Google Chrome瀏覽器
•Google App Engine的設定與SDK安裝
•認識主要的Google App Engine雲端服務與以Java 語言開發Google 雲端服務時會使用到的軟體及環境建置  
5 第一個AppEngine專案+雲端應用程式佈署與管理 •Google AppEngine的申請
•Google App Engine的API與功能介紹
•建立一個GAE應用程式
•在GAE中設計Servlet
•在GAE中設計JSP
•應用程式設定
•佈署專案到GAE
•管理應用程式
•瞭解如何利用Google Plugin在Eclipse中開發一個簡單的專案
•熟悉GAE與其開發方式,並在GAE下設計JSP 與Servlet,在Eclipse中進行執行與測試
•瞭解如何將應用上傳至GAE雲端平台上
 
6 網頁前端設計:GWT (Google Web Toolkit) •網頁系統技術
•GWT的組成要素
•利用Eclipse以GWT方式設計留言板
•認識Google Web Toolkit (GWT)如何在短時間開發出具有動態功能的網頁系統  
7 GWT面板與元件 •GWT的基礎元件
•GWT的表單元件
•事件處理
•GWT的容器
•瞭解GWT的面板與元件的使用方式  
8 UiBinder設計畫面 •UiBinder的架構
•設計一個UiBinder
•實作聯絡人詳細資料
•瞭解GWT的UiBinder如何能將一個應用程式的版面與元件從Java的類別中抽離出來讓網頁設計師進行修改與設計  
9 期中考 實作/報告與討論 檢驗上半學期學習成效  
10 呼叫遠端程序:RPC •GWT的RemoteService
•後端的服務程序
•呼叫後端RPC服務
•瞭解如何使用GWT的RemoteService以Java語言實作出具有AJAX特性的前後端溝通橋樑,讓前端能有效率地傳送資料至後端程序,並以簡單的程式碼得到後端資料  
11 資料儲存 •Datastore
•JDO
•類別與屬性
•物件的儲存
•資料查詢
•更新/刪除實體資料
•瞭解GAE的Datastore與傳統的關聯式資料庫之不同,並學習如何使用JDO進行資料儲存  
12 實作會員資料儲存 •以JSP與Servlet實作會員註冊
•會員清單查詢
•物件之間的關係
•整合相關知識並以常用的會員資料作為範例,使用JSP、Servlet、JDO、Datastore等知識,在專案中實作一個會員註冊功能,提供使用者輸入會員資料的頁面  
13 以GWT設計留言板 •留言板規劃
•建立留言板專案
•新增留言功能實作
•讀取、修改與刪除留言
•利用先前所介紹的各項技術,並以常見的留言板為例,設計一個在GAE上執行的雲端網頁專案,將留言記錄儲存在GAE的雲端資料庫Datastore上  
14 帳號驗證 •Google帳號驗證
•儲存使用者的Google帳號
•Facebook帳號驗證
•使用RestFB
•瞭解如何在GAE中實作Google與Facebook的登入功能,並取得登入的帳號資料,以及將帳號儲存至Datastore的會員資料  
15 電子郵件與排程工作 •電子郵件
•郵件的要素
•傳送郵件
•日誌記錄
•接收郵件
•排程工作
•瞭解如何完成電子郵件的傳遞與接收,以及委託代轉的伺服器、送件者與收件者使用的軟體,與其使用的通訊協定等  
16 MapReduce 與 Hadoop •MapReduce的運作原理
•MapReduce的特性
•Hadoop 之設定與配置
•認識MapReduce的運作原理與特性
•認識Hadoop 的架構、設定與配置
 
17 使用Hadoop實作MapReduce •開發環境設定
•新增專案
•MapReduce程式架構
•MapReduce實作範例
•Hadoop MapReduce專題
•瞭解如何實作 Hadoop MapReduce 程式  
18 期末考 SOA, GAE, Cloud Computing之整合專案報告與討論 檢驗本課程學習成效  


教學要點概述:
教材編選(Teaching Materials):
□ 1-1.簡報 Slids
□ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
□ 1-4.教科書 Textbook Slids
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook

成績考核 Performance Evaluation: 期末考:30%   期中考:30%   作業:40%  

教學資源(Teaching Resources):
□ 教材電子檔(Soft Copy of the Handout or the Textbook)
□ 課程網站(Website)
課程網站(Website):http://elearn.ttu.edu.tw/
扣考規定:http://eboard.ttu.edu.tw/ttuwebpost/showcontent-news.php?id=504