王立峰 鄭燕林


【摘要】針對學習者在網絡學習環境中全面而準確獲取學習資源這一難點問題,文章設計和實現了JavaFX RIA框架下桌面學習資源獲取MASHUP富客戶端解決方案。該方案能夠實現互聯網上不同學習資源的整合檢索及匯聚等功能,方便學習者快速定位、瀏覽、下載自身所需的學習資源。
【關鍵詞】學習資源;JavaFX RJA;桌面富客戶端;MASHUP
【中圖分類號】G40-057 【文獻標識碼】A 【論文編號】1009-8097(2013)07-0090-05
引言
學習資源是學習者學習的對象,在學習中起重要的支撐作用,是學習者增進知識、發展能力必要的外部條件。在網絡學習環境中,如何獲取和管理學習者所需要的學習資源一直是教育者與學習者共同關注的熱點及難點問題。本文在總結常用學習資源獲取技術與Mashup學習資源獲取技術優缺點的基礎上,進一步深入的探討了如何利用JavaFX RIA框架技術,設計開發具備學習資源整合檢索、檢索結果整理與匯聚、檢索結果快捷瀏覽等功能的桌面學習資源獲取MASHUP富客戶端。
一 常用的學習資源獲取技術
1 搜索引擎
在網絡學習環境下,大多數學習者習慣利用搜索引擎進行學習資源的檢索與獲取。利用搜索引擎幾乎是學習者在互聯網上進行學習資源檢索首選方式或唯一方式。其原因主要是該種方式操作簡單、方便快捷。但這種檢索方式還存在以下缺點:一是檢索結果數量巨大,篩選困難。如在百度(http://www.baidu.com)網站上輸入檢索詞“心理學”,檢索結果達到l億以上。在這1億多條記錄中找到學習者需要的學習資源幾乎是無法完成的任務。因此利用搜索引擎進行學習資源的檢索,還需要學習者不斷的學習和積累搜索引擎檢索的知識和技巧。二是搜索引擎無法實現目標網站的內容查詢。搜索引擎只能檢索Web索引網頁和Web數據庫里面的其他文件類型,包括PDF、DOC、PPT等類型文件。對于網站后臺的資源數據庫則無法實現有效檢索。
2 網站檢索
互聯網上的學習資源網站十分豐富,并各具特色。主要包括電子書、教學課件、教學音頻視頻、學術性期刊、學位論文、試題庫、專家庫、網絡課程等。通過專業的學習資源網站,學習者可以獲得許多學術性較強的各種資源,但是由于各學習網站實力、商業利益和版權等諸多因素的限制,學習網站在學習資源建設上只能是偏重某一個方面。這種情況,給學習者在學習資源查找和獲取等方面帶來了許多負擔。學習者為了獲取自己需要的學習資源,不但要收集、管理數十個、甚至上百個不同網站的書簽,還要花費大量的時間在眾多不同的網站上依次查詢。
3 社會軟件
論壇、學習社區、QQ群等社會軟件也是學習者獲取學習資源的重要途徑。具有共同學習目標的學習者可以形成學習共同體,他們不但可以通過社會軟件交流學習經驗、咨詢解答各種學習上遇到的問題,還可以分享各自的學習資源、學習成果(作品)等。通過社會軟件這種方式獲取學習資源優點是針對性、適用性比較強,缺點是學習資源相對零散、缺乏組織,而且系統性、完整性不高。
二 基于RIA的MASHUP學習資源獲取技術
混搭(Mashup)是一種新型的基于Web的數據集成應用程序。傳統上,Mashup源于流行音樂,是一種音樂類型,也被稱為bastard pop,指的是藝術家組合或者混合兩首不同的歌曲(通常屬于不同的流派)的音樂和歌詞來創作新的歌曲。其概念后來被逐漸引申到計算機應用中,維基百科的說法:Mashup混搭(互聯網)是一種網絡聚合應用,有一個或者多個信息源整合起來的網站或者網絡應用。由此可見,Mashup是合并多個源的信息和服務的網頁或網站。一個熟知的Mashup典型范例是housingmaps.com,該網站合并了Google的地圖服務和Craigslist.com的公寓租售信息,包括與住宅購買數據相結合,創建了一種交互式的房屋搜索工具。
1 Mashup的分類及典型應用
按照數據整合的形式,Mashup可以分為整合型融匯(Mashups by integration)與聚合型融匯(Mashups byaggregation)兩種(Mohanmed等。整合型融匯即數據層及功能層融匯,是指從不同來源中獲取數據,并通過APIs整合形成更復雜的應用,其中涉及到數據獲取、數據融合等技術。由于數據源具有不同的類型,例如數據庫、Web服務(SOAP/REST)、RSS/Atom Feeds,因此從分布式資源中獲取數據時要采用不同的技術,包括Web Feed技術、API調用技術、屏幕抓取技術。數據獲取之后,還要對這些格式各異的數據進行相關處理,包括數據轉換、映射、過濾、連接、排序等,最后構建出新的綜合性數據對象。以上各種操作對用戶提出了較高的編程要求,為了降低用戶的門檻,一些機構推出了用于數據融匯的工具,例如Yahoo!Pipes、GoogleMashuo Editor等等。
按照Mashup運行的位置,可以分為服務器端和客戶端兩種。服務器端Mashup是將網站內容與服務有機的結合成一體,接受用戶所有的委托服務,并將運算結果最終返回到用戶終端。客戶端Mashup是直接對服務器的服務及內容提出要求,而無需通過委托服務。
Mashup典型的應用主要是地圖Mashup、視頻和圖象Mashup、搜索和購物Mashup、新聞Mashup等。在網絡學習領域研究中,Mashup的應用與研究主要集中在個人環境構建中。外爾德(Wild,2008)等人進一步提出了Mashup個人學習環境的概念。Mashup個人學習環境(Mashup Personal Learning Environment,MUPPLE)“是指利用Mashup技術聚合網絡中分布的資源及服務,形成開放的、易用的、個性化的個人學習環境(PLE)”。學習者可以通過Mashup站點整合不同的資源或服務來生成新的服務,構建一種具有一站式體驗的個人學習環境。
2 基于RIA的MASHUP學習資源獲取技術
富因特網應用程序(Rich Intemet Applications,RIA)是開發MASHUP桌面客戶端的最佳解決方案。基于RIA的Mashup充分利用本地資源實現與遠程服務的交互并給用戶帶來更為豐富體驗,與傳統基于瀏覽器方式訪問互聯網服務網站的方式相比更具有交互性和靈活性。富客戶端技術一般采用C/S結構,基于HTTP協議實現與遠程服務器的數據通信,來實現數據交換、遠程操作、數據聚合、數據整合等功能。
與常用的學習資源獲取技術相比,基于RIA的MASHUP學習資源獲取技術具有以下特點:
(1)支持數據整合
MASHUP的最基本特征就是實現不同網站內容的聚合。富客戶端在實現匯聚不同學習資源的基礎上,還能夠利用本地計算機的信息處理能力,進一步加工整理來自不同網站的學習資源數據,從而達到數據層MASHUP不同學習資源的能力。通過對學習資源進行必要的分析與整理,能夠更加方便學習者過濾冗余信息,從而快速定位所需學習資源。
(2)支持個性化
Mashup關注用戶的自我服務。基于RIA的MASHUP是完全個性化的,能夠幫助學習快速而精準的獲取自身切實需要的學習資源。主要體現在兩個方面,一是學習者根據自身的學習目的、學習興趣、學習風格自主選擇和配置目標網站;二是學習者通過設置數據整合參數,快速定位學習資源。
(3)開發難度低
雖然各學習資源網站數據結構及元數據各異,但是許多網站都不同程度的提供了API接口(AJAX、REST、RSS/Atom等)。如豆瓣網提供了完全開放的基于OAuth2,0協議的授權訪問。開發者可以比較容易的利用API實現對遠程服務學習資源的登陸、檢索、下載、更新等操作。
三 基于JAVAFX-RIA的桌面學習資源獲取MASHUP富客戶端的功能設計
桌面學習資源獲取富客戶端DEMO版(見圖1桌面學習資源獲取MASHUP富客戶端DEMO版)以北京萬方數據庫(http://www.wanfangdata.com.cn)、中國大學視頻公開課(http://www.icourses.edu.cn)、中國人博客搜索引擎(http://so.blogchinese.com)三個互聯網站為例進行學習資源檢索與獲取。同時系統允許用戶自己設定主頁,如主頁可設置東北師范大學圖書館為系統初始界面。上述三個互聯網站分別代表商業學術文獻數據庫、公益學習資源視頻數據庫、社會軟件和搜索引擎。這三類學習資源網站各具特色、且網站后臺數據庫數據結構各異,具有一定的代表性。
1 桌面獨立運行
桌面學習資源獲取MASHUP富客戶端DEMO版(以下簡稱系統)可以在桌面上獨立運行,運行環境為JAVA JRE1.7、JAVAFX JRE 2.0。系統采用JAVA語言開發,繼承了JAVA強大了系統跨平臺性,具有較強的面向智能手機、PAD等終端的可移植性。
2 整合檢索
系統實現了一次輸入,多個網站后臺同時進行整合檢索,并將檢索結果自動匯聚(見圖2檢索結果列表)的功能。主要涉及數據獲取、數據融合等技術,由于數據源具有不同的類型,因此從分布式資源中獲取數據時要采用不同的技術,如Web Feed技術、API調用技術、屏幕抓取等技術。數據獲取之后,還需要對這些格式各異的數據進行進一步的分析、加工處理,包括數據轉換、映射、過濾、連接、排序等,最后構建出新的綜合性數據對象。整合后的數據庫以表格形式反饋給用戶,分別顯示學習資源名稱、學習資源網址、學習資源類型等信息。
3 檢累結果統計
系統分別自動讀取不同目標網站的檢索結果匯總數量,并顯示給用戶(見圖3檢索結果統計)。檢索結果統計功能的作用主要有兩個:一是用戶可以根據系統提供的檢索結果數量,了解目標網站學習資源的收錄情況;二是用戶根據統計后的檢索結果,來制定下一步的檢索策略。
4 檢索結果快捷進入
系統在返回目標服務器檢索結果的同時記錄了檢索結果的URL。通過系統的內置瀏覽器,用戶可以方便的點擊任何一條檢索結果中的數據,自動連接綁定該記錄的URL,實現自動查看學習資源細覽頁面(見圖4)。用戶也可以利用系統檢索目標網站返回綁定的概覽頁面的URL,通過點擊目標網站名稱,進入目標網站檢索結果的概覽頁面(見圖5)。
5 檢索結果下載
對于目標網站所提供下載服務的學習資源,資源下載地址自動在系統內置的瀏覽器中顯示出來,用戶不但可以在線瀏覽學習資源,也可以在系統中將學習資源進行直接下載并保存到本地。
6 檢索結果導出
系統與本地學習資源管理系統連接,導出基于SCORM標準的數據。學習者可以通過桌面學習資源獲取MASHUP富客戶端與本地學習資源管理系統組合使用,方便的實現學習資源的檢索、獲取及管理等功能。通過本地學習資源管理系統,用戶還可以實現離線管理和利用各種類型的學習資源。
7 檢索目標網站選擇
系統允許用戶對目標網站進行管理。用戶根據自身的需求以及檢索需求,在使用系統時可以提前設置目標數據庫選項,從而精煉的選擇檢索內容,也就是說用戶可以根據自己的需要來確定系統在一個或幾個學習資源網站中進行整合檢索。
四 基于JAVAFX-RlA的桌面學習資源獲取MASHUP富客戶端的實現
桌面學習資源獲取MASHUP富客戶端DEMO版的軟件開發環境是:操作系統為WINDOWS7,開發語言是Java 1.7jdk和javafx2.3JDK,開發工具是NETBEANS 7.2.1和JavaFXScene Builder 1.0;硬件開發環境是:英特爾第二代酷睿I3-2310M@2.10GHz雙核處理器、2G內存。
1 關鍵技術
當前RIA流行的開發工具主要有Adobe公司的AdobeFlash/Flex、微軟公司的SilverLight、Oracle公司的Java FX等幾款開發工具。這幾種工具各具特色,Flex先入為主,目前占有比較大的份額,Silverlight的優勢是有Windows平臺的支持,而JavaFX作為后起之秀,其優勢在于Java語言的廣泛使用及自身的開源策略。本文無意比較這幾款產品的孰優孰劣,依據開源、跨平臺、開發人員技術特點等方面,桌面學習資源獲取MASHUP富客戶端DEMO采用了Java FX作為主要的開發工具。
桌面學習資源獲取MASHUP富客戶端DEMO版涉及的關鍵技術主要包括JAVA、Httpclient、HttpParser、JAVAFX框架技術等幾方面:
(1)Httpclient
HttpClient是Apache Jakarta Common下的子項目,用來提供高效的、最新的、功能豐富的支持HTTP協議的客戶端編程工具包,主要的功能實現了所有HTTP的方法(GET,POST,PUT,HEAD等)、支持自動轉向、支持HTTPS協議、支持代理服務器等。在本系統的開發中,主要應用Htq)Client技術實現瀏覽器后臺模擬,并利用遠程學習資源服務器提供的API接口,通過HttpClient對遠程學習資源數據庫進行建立連接、登陸、檢索、關閉連接等操作,具體實現交互的方法主要有GET、POST、PUT、HEAD等。
(2)HtmlParser
Htmlparser是一個純的java寫的html解析的庫,它不依賴于其它的java庫文件,主要用于改造或提取html。HtmlParser主要靠Node、AbstractNode和Tag來表達Html。目前各學習資源網站提供的API接口開放程度有所不同,對于MASHUP能力較弱的的遠程服務器,本系統利用HtmlParser技術分析檢索后的網頁結果,提取學習者需要的必要信息,如學習資源名稱、學習資源作者、學習資源鏈接等。
(3)JAVAFX框架技術
JavaFX編程語言是著名的富互聯網應用程序(RIA)開發程序之一。基于JavaFX SDK開發的程序可以在JAVA JRE與JavaFX JRE運行時下獨立運行。JavaFX具有可以直接調用Java API的能力以及開發簡單、界面友好等特點,是開發富客戶端程序的有力工具。特別是Oracle公司新推出的JavaFXScene Builder 1.0工具實現了界面設計的可視化操作,使系統界面工作變得更加快捷。本系統主要應用了Java FX中的JavaFX Scene Builder 1.0工具、Table View和WebView等部件。界面設計過程主要有兩個部分,首先是利用JavaFX Scene Builder 1.0工具進行界面可視化設計,形成FXML文件,其次在JavaFX框架內編寫界面的UI,將程序控制代碼與界面中的各個部件進行關聯,從而完成界面整個過程的設計與制作。
五 總結
本文在總結常用學習資源獲取技術的基礎上,闡述了基于MASHUP方式獲取學習資源的層次以及應用途徑等方案。并利用JavaFX RIA框架設計開發了學習資源獲取MASHUP富客戶端。該客戶端繼承各種常用學習資源獲取技術的優點、屏蔽檢索結果繁雜、多次登錄檢索、檢索結果單一等缺點,為學習者提供高效的整合檢索與資源利用方案。其主要工作原理是:通過OPEN API接口或網頁抓取等技術,在系統后臺遠程登錄各種學習資源服務器,將檢索結果下載到本地計算機,并充分利用本地計算機的信息處理能力,進一步匯聚、加工、整理來自不同網站的檢索結果,從而達到幫助學習者快速定位與獲取學習資源的目的。同時,桌面學習資源獲取MASHUP客戶端在學習者獲取學習資源、圖書館個人門戶、個人學習環境構建等軟件開發方面具有一定的啟發意義。
本研究是網絡學習境脈視角下個人學習環境構建的重要組成部分,在后續的工作中,將著重實現學習資源獲取工具與學習資源管理工具、學習資源利用工具、學習資源分享工具的完美整合及無縫連接。