傅健 杨雪
(吉林大学 高等教育研究所,吉林长春 130012)
【摘要】 个人知识管理(PKM)和移动学习都是当前教育领域研究热点:个人知识管理利于个人知识的扩充和创新,而移动学习便捷了人们的学习,将Wml和Jsp技术结合,采用MVC-Model2模式设计和开发了手机等移动终端可随时接入的WAP个人知识管理系统,为学习者提供便捷和高效的知识管理方式。
【关键词】WAP;移动学习;个人知识管理;Jsp;MVC;Wml
【中图分类号】G420 【文献标识码】B 【论文编号】
Design and Development of Mobile Personal Knowledge Management System Based on WAP
FU Jian YANG Xue
(Institute of Higher Education, Jilin University, Jilin,Changchun, 130012, China)
Abstract:Personal knowledge management and M-learning both are hot research topics in the area of education:Personal knowledge management promotes amplification and innovation of knowledge; M-learning is proposed for the convenience of learner’s study.The article designs and develops a Personal Knowledge Management System based on WAP that mobilephones and other mobile terminals can connect with anytime through combining Wml with Jsp and taking the mode of mvc-model2.The system privides an efficient and convinent learning style for learner.
Keywords:WAP;M-learning;personal knowledge management; Jsp; MVC; Wml
引言
个人知识管理(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 移动个人知识管理系统功能模块划分图
详细功能介绍:
(1) 注册登录模块:用户可以通过手机等移动数字终端访问系统进行注册并登录,建立属于自己的知识体系;
(2) 浏览模块:用户进入系统后可以选择自己建立的知识类别来进入各类别的知识点列表,从而选择可浏览的知识点,查看知识点的内容;同时若该知识点被设置为共享且有其他用户评论,则用户可以查看别人针对该知识点的评论并可以回复,进行一定的交流;
(3) 知识类别/知识点管理模块:用户可以根据自己的学习情况对知识点和知识分类进行管理和扩充,建立良构的知识体系,在知识点设置上,可以设置是否为共享,保护隐私知识内容的同时便于共享;
(4) 检索模块:用户可以通过按标题、标签、内容三种方式对知识库进行检索,同时可以按“时间”和“是否包含别人共享知识”等筛选检索结果;
(5) 共享交流模块:该模块汇聚了所有用户共享出的知识,用户可以浏览并对其进行评论,还可以给发布共享知识的用户留言。
2 数据库的设计及要点
根据以上功能要求,利用PowerDesigner工具可将个人知识管理系统数据库设计如图2所示:
图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实现系统登录模块为例介绍系统的实现。
图3 系统开发的环境及MVC-Modle2模式
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=root&password=fujian”);
……
return dbConnection; }……}
2 MVC-Model2实现登录模块(界面如图4)实例
图4 移动PKM的登录模块
(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/>
<do type=”accept” label=”登录”>
<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=false;
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:
表1 WAP的五种MIME[3]
MIME类型 | 文件类型 | 扩展名 |
text/vnd.WAP.wml | Plain WML documents | .wml |
image/vnd.WAP.wbmp | Wireless Bitmap Images | .wbmp |
application/vnd.WAP.wmlc | Compiled WML documents | .wmlc |
text/vnd.WAP.wmlscript | WMLScripts | .wmls |
application/vnd.WAP.wmlscriptc | Compiled WML Scripts | .wmlsc |
可以使用微软的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为该系统主要模块主要页面的测试效果图。
图5 移动PKM的浏览模块主要界面
图6 移动PKM的检索模块主要界面
结语
当前不论是企业还是学校和个人对个人知识管理越来越重视,扩大个人知识储备,提高个人竞争力,从而推动企业甚至国家的发展成为人们加入个人知识管理研究的主要动力,采用当前主流技术开发的基于WAP的移动个人知识管理系统(PKM)提高了个人对知识的存储、获取、转化和创新的能力,一定程度上满足了普通学习者知识管理的需求,同时面向手机等移动数字终端的开发使个人知识管理更为便捷,用户的灵感和体会等重要知识不再流失,实现了“以人为本”的高效便捷学习。
参考文献:
[1]王力.个人知识管理研究[D].长春:东北师范大学,2007.
[2]魏群英.WAP协议和WAP网关研究[D].长春:吉林大学,2006.
[3]千展研发中心.eWAP无线世界:WML玩家通[M].北京:清华大学出版社,2002:36-38.