【摘要】個人知識管理(PKM)和移動學習都是當前教育領域研究熱點:個人知識管理利于個人知識的擴充和創新,而移動學習便捷了人們的學習,將Wml和Jsp技術結合,采用MVC-Model2模式設計和開發了手機等移動終端可隨時接入的WAP個人知識管理系統,為學習者提供便捷和高效的知識管理方式。
【關鍵詞】WAP;移動學習;個人知識管理;Jsp; MVC;Wml
【中圖分類號】G40-057【文獻標識碼】A 【論文編號】1009-8097(2008)11-0097-05
個人知識管理(Personal Knowledge Management),簡稱PKM,最早由美國的Paul A.Dorsey教授在1998 年提出: “Personal knowledge Management should be viewed as a set a problem-solving skills that have both a logical or conceptual as well as physical or hands-on component.”,譯為中文即“個人知識管理應該被看作既有邏輯概念層面又有實際操作層面的一套解決問題的技巧與方法”[1]。盡管個人知識管理目前有多種版本定義, 其本質卻都在于整合個人的知識資源,提高個人工作學習效率和競爭力。通過實施個人知識管理,個人可以快速有效地存取所獲知識,提高效率。
隨著個人知識管理越來越得到認可和重視,相應的知識管理系統近年來也已經出現,典型的如:針式PKM、magicflu中文信息知識管理平臺、Microsoft OneNote,同時很多基于Web2.0的社會性軟件(Blog、Wiki等)也被用做個人知識管理的有效平臺,雖然這些都一定程度上促進了個人的知識管理,但用戶還是擺脫不了電腦終端或網線的束縛。實際生活中,有時候突然的靈感或體會等重要知識都不能及時記錄,即使記錄下來,但終因缺乏良好的管理而出現無法找到的尷尬局面,不僅不利于知識掌握,而且做了大量重復的知識存儲過程,為解決這些問題,本文將Wml和Jsp技術結合,設計和開發了一個基于手機等移動終端的個人知識管理系統, 方便學習者隨時隨地存儲和管理自己的知識,同時也為移動學習研究者開發移動學習站點提供參考。
一 WAP技術簡介
WAP(Wireless Application Protocol)即無線應用協議,是由一個稱為“WAP論壇”的公開組織提出的,其定義來自無線工業界。WAP是移動通信終端與互聯網融合的產物,它基于現有的XML和IP等Internet技術,主要為手機等無線移動終端能夠訪問各種服務和信息(特別是Internet上的服務與信息)提供規范[2]。
1998年5月,WAP規范1.0 版推出,并于1999年9月發布了1.1 版,當前版本為WAP2.0,它通過WML技術使得手機瀏覽器可以識別瀏覽WAP網頁。
目前WAP技術廣泛應用于生活服務信息、商業、娛樂、理財等領域,而且近年來隨著移動學習(M-leaning)的興起,開始被應用于移動教育資源和信息站點的開發。
二 移動個人知識管理系統的分析
1 系統的設計目的
(1) 增加個人的知識儲量;
(2) 使個人的知識成為良構性的知識,有利于知識存取和知識系統體系的建立;
(3) 促進同學、同行知識的共享,有利于通過共享交流轉化為個人知識資本,促進知識創新。
2 系統的設計原則
(1) 良好的遠程接入特性:基于WAP的開發,使得用戶可以隨時隨地通過手機等移動終端接入系統。
(2) 體現個性化和簡易性:每個用戶通過自己注冊的帳號,應該可以建立不同于別人的知識體系,而且由于手機等移動數字終端屏幕有限且可操作不多,因此系統應簡單易用,易于操作。
(3) 體現知識管理中的可良構性:知識應具有不同的類別,便于檢索瀏覽。
(4) 體現積累性與可管理性:知識點內容可能隨著學習的進一步有所修改,因此需要具有良好的管理功能。可以對知識進行修改、添加和刪除,體現知識積累的重要性;同時將管理功能與瀏覽功能集于同一界面,便于管理。
(5) 體現一定的知識共享特點:個人知識管理區別與企業管理,主要目的是提高個人的知識能力,但作為個人知識管理系統,具備一定的共享交流功能,更能擴大個人知識儲量。但要注意系統設計在使個人和他人進行交流、共享知識的同時還應考慮對個人不愿共享知識的保密。
(6) 強大的知識檢索功能:強大的檢索功能是個人知識管理必須具備而且要求較高的模塊,良好的檢索應提供多角度的檢索方式并能對檢索結果按不同要求進行篩選。
三 移動個人知識管理系統的總體設計
1 根據以上提出的原則,可將功能模塊劃分為圖1所示:

詳細功能介紹:
(1) 注冊登錄模塊:用戶可以通過手機等移動數字終端訪問系統進行注冊并登錄,建立屬于自己的知識體系;
(2) 瀏覽模塊:用戶進入系統后可以選擇自己建立的知識類別來進入各類別的知識點列表,從而選擇可瀏覽的知識點,查看知識點的內容;同時若該知識點被設置為共享且有其他用戶評論,則用戶可以查看別人針對該知識點的評論并可以回復,進行一定的交流;
(3) 知識類別/知識點管理模塊:用戶可以根據自己的學習情況對知識點和知識分類進行管理和擴充,建立良構的知識體系,在知識點設置上,可以設置是否為共享,保護隱私知識內容的同時便于共享;
(4) 檢索模塊:用戶可以通過按標題、標簽、內容三種方式對知識庫進行檢索,同時可以按“時間”和“是否包含別人共享知識”等篩選檢索結果;
(5) 共享交流模塊:該模塊匯聚了所有用戶共享出的知識,用戶可以瀏覽并對其進行評論,還可以給發布共享知識的用戶留言。
2 數據庫的設計及要點
根據以上功能要求,利用PowerDesigner工具可將個人知識管理系統數據庫設計如圖2所示:

對于知識點表(Knowledge)中的是否共享(isshare)字段和用戶信件表(Message)中的閱讀狀態(readstate)字段應該設置為bit型,以達到邏輯判斷的目的;對于內容較長的字段使用text類型,而諸如用戶名等字段則用varchar類型,使得滿足存儲要求的前提減少存儲空間。
四 移動個人知識管理系統的實現
根據以上對系統的分析以及設計,可將該系統的主界面設計如圖4中的右圖所示,包含四個主菜單供選擇:進入知識庫、檢索知識庫、共享交流、收發信件。
對于該系統的開發,這里以Red Hat Enterprise Linux 5為平臺,以Tomcat 5.5為服務器,采用的技術方案是以Jsp和Wml相結合的方式,按照MVC-Model2來設計:
MVC(Model,View,Controller的縮寫,分別為模型、視圖、控制)是Application開發的一種設計模式,它要求在開發中把業務邏輯、界面顯示和數據進行分離以利于組件復用和開發分工,而MVC-Model2具體是指使用Jsp+Servlet+JavaBean技術方案: Model層實現系統的業務邏輯,這里使用DAO模式封裝對數據的操作;View層用于與用戶的界面交互,采用Jsp、Wml結合實現;Controller層是Model層與View層間的紐帶,使用Servlet來完成有效控制,具體如圖3所示。下面具體介紹下后臺數據庫的連接并以MVC-Model2實現系統登錄模塊為例介紹系統的實現。

1 后臺數據庫的連接
后臺數據庫是存取用戶信息及其各自知識類別、知識點等信息的關鍵,這里使用可跨平臺的MySQL做為數據庫,Jsp與數據庫的連接可以通過JDBC或ODBC方式,而ODBC依賴微軟平臺,移植性不強,所以這里采用JDBC方式,在對數據庫的操作上通過建立一個ConnectionManager類來提供對數據庫的連接,然后通過DAO模式來調用,ConnectionManager類的關鍵代碼如下:
public class ConnectionManager {
public static Connection getConnection() {//定義取得到數據庫PKM連接的方法
……
Class.forName(\"com.mysql.jdbc.Driver\");
Connection dbConnection = DriverManager.getConnection(\"jdbc:mysql://localhost:3306/pkm?user=rootpassword=fujian\");
……
return dbConnection; }……}
2 MVC-Model2實現登錄模塊(界面如圖4)實例

(1) 在視圖層(View層):利用Jsp和Wml相結合生成手機可以瀏覽的頁面,結合方式主要有兩種:一種是利用Jsp中的out.println()方法動態生成WML,另一種方式是將Jsp代碼和Wml代碼分離,Jsp負責處理會話,Wml負責顯示Jsp處理的結果,這里以第二種方式為例,Login.jsp關鍵代碼如下:
……
<% response.setContentType(\"text/vnd.wap.wml\");%>
<!—上面為頭部分和JSP操作部分,以下為WML顯示部分-->
<wml>
<card title=\"移動PKM\">
<p>用戶:<input name=\"name\" type=\"text\"/><br />
密碼:<input name=\"password\" type=\"text/>
<go href=\"LoginServlet\" method=\"post\"> <!—調用LoginServlet-->
<postfield name=\"name\" value=\"$name\" />
<postfield name=\"password\" value=\"$password\" />
</go></do>……
</p></card></wml>
(2) 在控制層(Contorl層):接受視圖層Login.jsp傳來的用戶名和密碼,使用Servlet進行控制,LoginServlet關鍵代碼如下:
……
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter(\"name\");
String password = request.getParameter(\"password\");
if (new PKMdao().checkUser(name, password)) //調用PKMdao()類的checkUser()方法驗證用戶
{……
this.getServletContext().getRequestDispatcher(\"/main.jsp\").forward(request, response);}
……
(3) 在模型層(Model層):使用DAO模式封裝對數據的操作,提供操作數據庫的checkUser()方法供控制層LoginServlet調用,PKMdao類關鍵代碼如下:
……
public boolean checkUser(String name,String password){ //操作數據庫、驗證用戶的checkUser()方法
boolean flag=1;
Connection con=ConnectionManager.getConnection();
……
PreparedStatement ps=con.prepareStatement(\"select * from pkmuser where name=? and password=?\");
ps.setString(1, name);ps.setString(2, password);
if(ps.executeQuery().next())flag=true;
……
return flag;}
……
通過以上MVC-Model2模式,可以實現強大的WAP應用,系統的其他功能模塊都可以通過這種方案來實現,其中幾個主要模塊的界面實現效果預覽如圖5和圖6。
五 移動個人知識管理系統的發布與測試
對于WAP系統的發布和測試,和普通WEB站點存在一些區別,下面從發布和測試兩方面介紹WAP系統的發布和測試方法:
1 系統的發布
若要將WAP應用發布至外網,必須將代碼應用到服務器平臺上,WAP服務器與普通Web服務器架設方法相同,若只想進行簡單的WAP內容服務,僅需修改當前服務器的MIME類型,MIME(多用途因特網的郵件擴展)是用來定義互聯網上傳輸數據的規格,當使用瀏覽器瀏覽一個頁面時,服務器將告訴用戶瀏覽器將接收到文件的類型,設置MIME則設置了服務器傳給瀏覽器的文件類型,與WAP有關的主要有五種MIME類型,具體如表1:

可以使用微軟的IIS或Apache的Tomcat作為服務器來發布系統,為了便于移植和高效,這里操作系統選擇Red Hat Enterprise Linux 5,服務器選擇Tomcat5.5,將WAP的MIME類型加入到Apache服務器可以按照下面步驟:
(1) 添加五種MIME類型到服務器的主配置文件中: Linux系統安裝Apache服務器后,系統的/etc目錄下會新增一個httpd目錄來存放所有Apache的配置文件,可使用命令“vi /etc/httpd/conf/httpd.conf”編輯Apache的主配置文件httpd.conf:定位到AddType區域,按a進入插入模式,以“AddType text/vnd.WAP.wml .wml”格式將五種MIME類型添加進主配置文件,保存退出;
(2) 重新啟動Apache:使用命令“/etc/init.d/httpd restart”重新啟動Apache服務。
通過以上操作即可將WAP的MIME類型加至服務器配置文件中以提供完整的WAP服務。
2 系統的測試
WAP頁面不同于普通WEB頁面,如果要在電腦終端上測試和瀏覽Jsp實現的WAP應用除需要安裝Java虛擬機(JRE)外還需安裝支持WAP的瀏覽器(即手機模擬器),目前常用的WAP瀏覽器有WinWAP、Opera、M3gate、Nokia WAP Toolkit等,其中M3gate測試的最為嚴格和標準,因此本文采用此軟件進行測試,圖5和圖6為該系統主要模塊主要頁面的測試效果圖。

結語
當前不論是企業還是學校和個人對個人知識管理越來越重視,擴大個人知識儲備,提高個人競爭力,從而推動企業甚至國家的發展成為人們加入個人知識管理研究的主要動力,采用當前主流技術開發的基于WAP的移動個人知識管理系統(PKM)提高了個人對知識的存儲、獲取、轉化和創新的能力,一定程度上滿足了普通學習者知識管理的需求,同時面向手機等移動數字終端的開發使個人知識管理更為便捷,用戶的靈感和體會等重要知識不再流失,實現了“以人為本”的高效便捷學習。
參考文獻
[1] 王力.個人知識管理研究[D].長春:東北師范大學,2007.
[2] 魏群英.WAP協議和WAP網關研究[D].長春:吉林大學,2006.
[3] 千展研發中心.eWAP無線世界:WML玩家通[M].北京:清華大學出版社,2002:36-38.