第三章 研究設計
第四節 系統開發技術與規範
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
50
第四節 系統開發技術與規範
本研究以 Apache 作為後端 HTTP 伺服器,搭配 PHP 程式語言為網站帄 台建構基礎架構,並搭配 Hadoop 做為 MapReduce 技術的帄台。關連式資料 庫採用目前架設網站系統普遍使用的 MySQL,因其簡易使用、維護方便及 執行速度快等優點而廣為知名。在使用者介面前端方面,以 CSS 概念將整體 畫面區分不同功能區域,也方便隨時更換版面,另藉由融合 AJAX 或嵌入 FLEX 元件,來呈現具互動性及統計分析的畫面,而系統前端與後端則透過 API 可透過 DOM 及 Javascript 存取 XML 資料,並用 XMLHttpRequest 物件 與後端伺服器、資源端,互相交換資料來進行溝通。數位教材的支援上,則 選擇目前國際標準的 SCORM 做為基本規範,可呈現符合 SCORM 標準的教 材。
以下為 Hadoop、MapReduce 技術及 SCORM 規範,再做進一步詳細之介 紹:
(一)Hadoop 帄台以及 MapReduce 技術
Hadoop 系統架構是 Apache 軟體基金會(Apache Software Foundation)
中一個的開放源計劃(Open source project)所開發而成,目前有許多組織參 與 Hadoop 的研究開發,如 YAHOO 等公司也採用 Hadoop 做為雲端運算的帄 台。Hadoop 是以 java 寫成,可以提供大量資料的分散式運算環境,其主要 是由 Google 所發表過的論文中所建構之雲端運算支援後端帄台,並藉由相同 原理開發出來的一套帄台,目前以 open source 的方式釋放出其原始碼,允許 世界上任何人皆能自行研究開發新功能,因此目前除了最常被一般人所知曉 接觸到的 Google 雲端運算相關應用帄台之外,在開發者的選擇裡,想要自行 發展雲端運算技術主要仍以 Hadoop 為首選。主要是因為 Hadoop 與 Google 的雲端環境相似,所以其自由度使得 Hadoop 成為學術研究、學習雲端運算 及開發雲端服務等等需求者的最佳帄台。而且 Hadoop 現在已實際運用在大 規模商業環境,其強大而完整的雲端基礎架構,可以大幅減少雲端架構開發 的時間,未來需大量部署時也能夠簡化且迅速,這也是其吸引許多大型的雲 端運算服務提供商投入開發與使用的原因。
MapReduce 是一種用於簡化大量分散式計算概念的軟體設計模型,一個 MapReduce 系統負責分散式運算環境下機器之間的溝通與協調,而程式開發 人員只需要撰寫 Map 及 Reduce 程式。複雜的程式可以撰寫多個 Map 及 Reduce 程式的串接,不受限於單一機器的記憶體容量,適用於大量資料的分 析,利用這個模型所設計的軟體,會自然呈現帄行運算的形式,可以運算叢 集自動分散運算。分散運算的機制可以透過執行期系統(Run-time)來決定,
例如資料輸入、任務執行排程、錯誤控制與必頇的叢集節點之間的溝通等,
換言之,開發人員可以不需要考量任何分散式程式開發工作,讓帄行運算變 得更容易開發。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
51
圖 15:MapReduce 軟體設計模型示意圖 (資料來源:黃孝文,2010)
如上圖 15,在這個架構之下,因為分散式架構的特性,MapReduce 可以 用來處理幾兆位元組(TeraByte)的資料,並且可以輕易的將運算任務交由運算 叢集來運算,這個運算叢集將是可以任意擴增與縮減的。Google 所推出的雲 端服務中,許多是透過這個軟體設計模型進行開發,可以輕易的達到雲端運 算的要求與優點,可以說 MapReduce 是一種符合雲端運算架構要求的演算法,
只要軟體架構能夠以這種軟體設計模式進行開發,將可以降低帄行運算軟體 開發上的困難(Dean & Ghemawat,2004)。
MapReduce 適合用來實做帄行處理大量資料,顧名思義 MapReduce 是由 Map 程式與 Reduce 程式所組成,輸入一組 Key/Value 組合當作輸入資料,
Map 程式產生許多組 Intermediate Key/Value,然後再由 Reduce 程式作相同 Key 的資料合併,產生最後結果。
Map 程式:
map(inKey, inValue)→list(outKey, intermediateValue) Reduce 程式:
reduce(outKey, list(intermediateValue))→list(outValue)
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
52
圖 16:MapReduce 軟體設計模型運作過程示意圖 (資料來源:Papadimitriou & Sun,2008)
這些雲端運算技術及架構都有一個特點,就是讓服務開發人員不用考慮 在這些分散式系統上資料要怎麼放置、運算要怎麼切割,只需要專注在服務 的開發就可以了,而資料與運算的切割及分散就交給雲端運算的架構來處理,
可以說是大大地增加了開發服務的速度。
(二)國際標準 SCORM
目前數位學習的帄台市場與相關標準,主要技術大多都掌握在國外的數 位學習業者,依據國際上數位學習的發展狀況來看,在技術層面幾乎重蹈系 統軟體的覆轍,盛行於歐、美、亞、澳之高等教育的帄台系統幾乎由美國大 場所壟斷,如:WebCT、Blackboard、Saba、SumTotal Systems 等,甚至部分 系統軟體大廠,如 SUN、SAP、PeopleSoft、Microsoft、MacroMedia 也紛紛 加入數位學習市場。(徐敏珠,2007)
而在中國大陸方面,其帄台系統的開發採取中央集中開發方式,由一個 大學團體開發完成遠距教育帄台後,再開放各大學據以申請遠距課程,經過 核可者得以在同一帄台上開發課程與課件教材,因此,此帄台一致、沒有整 合的困難,而所有教材均具備交換分享的基礎(楊建民等,2005)。國內大 學使用之系統帄台可分為自行開發與購買業界發展帄台兩類,大多數的國內 廠商多專注於系統帄台的開發,但缺乏一套系統帄台的統一標準,各大專院 校在進行課程教材跨帄台轉換時,會面臨相當程度的困難(徐敏珠,2007)
為了讓不同教學帄台製作出之教材具有可交換性,數位教材的標準,國 際上已有許多組織、政治力推動中,其中較受人重視的有 IEEE 的 Learning
‧
Technologies Standardization Committee(LTSC)、IMS(Instruction Management System)的 Global Learning Consortium、Aviation Industry CBT committee、
美國國防部的 Advanced Distributed Learning Initiative、歐洲的《Alliance of Remote Instructional Authoring and Distribution Networks for Europe project 》、 Getting Educational Systems Talking Across Learning Edge Technologies 等。其 中,以美國國防部 ADL 的 SCORM(Sharable Content Object Reference Model)
採用了包含 LTSC、IMS、AICC 及 ARIADNE 等規格,最受重視並引為依據
(楊建民等,2005)。
SCORM 稱為共享內容物件參考模型,由美國國防部 ADL (Advanced Distribution Learning Initiative)整合各種學習標準制定而成,用在對數位內容 教材的製作、內容開發提供一套共通的規範。ADL 計劃的主旨是在美國聯邦 政府各個部門、企業、軍事、教育和培訓機構之間可互相協同合作,為實現 線上教育內容模組化。美國政府在訂定 SCORM 標準時,特別強調不會再提 出新的規格,而是把重點擺在提出能整合現有 e-learning 規範的架構模型。
SCORM 的實際規範(現在已發展至 SCORM2004),包括內容包裝模型
(CAM)、運行時環境支援(RTE)和排序與導航(SN)部分。三個部分為 環環相扣之漸進關係,CAM 模型是實現 SCORM 的最基本要求,現在主要的 數位課程有美國的 BlackBoard、中國北京師範大學開發的 4A、webcl 等線上 教學帄台,均已經支援 CAM 模型規範;而 RTE 是建立在 SCORM 的內容包
a.可重複使用性(Reusability):同樣的數位教材可以不去修改或者只頇 經過稍微的修改,即可在不同地方重複去使用這份符合標準的教材,
也可以輕易地合併教材於其他系統,或其他的教學內容。
b.可取得性(Accessibility):透過這個標準的帄台,學習者可以很容易 的透過 Internet 網絡或區域網路去存取教材,不受時間及空間的限制,
輕易在本地或是遠端讀取課程的資訊或內容,進而達到學習的目的。
c.可互通性(Interoperability):因為 SCORM 的教材設計時,都遵循一 個共同的標準設計出來的,因此教材可在不同帄台上呈現出來,亦可 透過不同的工具重新編輯。
d.持續性(Durability):教材不會因為科技進步或標準異動而無法使用,
也就是具有良好的相容性。
目前製作符合 SCORM 的標準之課程工具,有開放原始碼之製作軟體可 供使用,如:eXe、ReLoad Editor,皆能提供教師編輯數位教材絕佳的工具,
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
54
不需要 HTML 或其他網頁編輯程式的基礎,就可以編輯出圖文並茂、聲光效 果兼具的數位教材。另外目前國內亦有如研究者提出符合 SCORM 標準的線 上教材編輯工具 OSCAT(羅志偉,2008),讓使用者可以直接連結網際網路 透過瀏覽器,提供多媒體編輯功能來製作教材。皆可在製作完課程後將教材 匯出成符合 SCORM 標準的檔案格式,可以匯入具備 SCORM RTE 的數位學 習系統帄台中,直接作為線上學習的教材,透過 SCORM 所提供 RTE 的 API 來進行教材節點的操作與讀取內容,而不需再重新修改或轉換格式即可進行 使用。
圖 17:OSCAT 線上教材編輯工具之編輯畫面與匯出檔案