张鸿洋,陈 健,翟 梅
(陕西师范大学 计算机科学学院,陕西 西安 710062)
基于Mashup的个性化移动学习平台
张鸿洋,陈 健,翟 梅
(陕西师范大学 计算机科学学院,陕西 西安 710062)
在学习者进行移动学习的过程中,学习资源是核心,而Mashup能够对网络上现有学习资源进行整合,可以很好地解决学习资源、服务的分散问题。将Mashup的方式应用到移动学习的领域可以更好地帮助学习者实现随时随地的学习。因此,文中在移动学习中引入Mashup技术,构建了一个学习平台。利用该平台聚合广义分布的网络学习资源,实现资源的自动抓取、解析,同时提供可视化编辑器,可以方便地对平台的数据源进行扩充,使该平台具有高度的灵活性和扩展性。此外,平台可以有效地与移动终端结合,学习者可以随时随地对平台中的资源进行订阅和访问。重点描述了平台的整体架构、组成模块、对移动设备的支持以及数据模型的设计;基于原型系统的案例分析验证了平台的可用性。结果表明,该平台可以极大地提高学习者对于资源获取的效率,满足学习者个性化学习的需求,有效提升了学习者的积极性和自主学习能力。
移动学习;聚合;个性化;移动应用
伴随着计算机网络技术、移动通讯技术的发展,“随时随地、无处不在”的学习方式正在为人们所重视。移动学习模式[1]为学习者提供了开放的、不受时空限制的虚拟学习环境,使得自主学习成为可能。在知识经济时代的今天,全民学习、终身学习的学习型社会已经形成,人们的学习活动已经不再局限于学校学习,人们开始关注如何更好地利用自己工作、生活中的零碎时间进行知识和技能的补充和提高。
但是由于网络资源、服务的分散分布以及增长速度的迅猛,学习者很难轻松地根据自己的需求去个性化定制自己所需的学习资源[2]。Mashup技术的出现能够很好地解决资源、服务的分散问题。
Mashup,计算机中的意思为聚合,其应用是指聚合多种多样的外部数据源格式(如公开的API、XML/RSS/Atom、Web服务和HTML等),形成具有统一体验的互联网应用或者网站[3]。它使得人们获取数据和服务的途径变得简单易行。近年来,各大厂商纷纷开放各自的数据API,根据世界上最大的API库ProgrammableWeb.com的统计,API的数量已经达到了13 194个,而且这个数字每日都在增长。
基于Mashup的开发方式,相对于传统的互联网开发应用而言,对于开发者的编程技能和经验要求较低。而且,许多公司都推出了Mashup应用开发平台[4],例如Yahoo Pipes、IBM Mashup Center等。Yahoo Pipes提供拖拽的方式,将不同网站的XML格式的输出内容作为数据源,利用Pipes提供的模块对数据进行一系列的加工,最终构建出用户想要的Mashup应用。IBM Mashup Center是针对企业的Mashup平台,包含信息加工组件InfoSphere MashupHub,和信息组装、使用组件Lotus Mashups。前者实现根据企业信息创建Feeds,后者基于浏览器的使用方式,并提供大量的Widgets用于组建Mashup应用。
然而,现有的Mashup应用开发平台并不能满足普通学习者的使用,它需要学习者有一定的计算机背景,需要用户自己去挖掘可用的API、Feeds等,甚至需要了解Feeds文档的格式。面对互联网数以万计的API、资源等,使用者无法轻松地找到合适的资源。此外,现有的大多数Mashup应用开发平台创建出的Mashup应用,都是以网页的形式作为应用,没有对移动设备做适当的优化处理,并不能很好地适用于手机等移动设备[5],而随着移动终端的普及,越来越多的学习者开始通过移动终端进行学习。
根据以上的分析,文中搭建了一个学习平台,利用Mashup技术聚合网络优质的学习资源、服务等作为数据源,考虑到移动设备订阅与良好的展现资源,需要合理设计数据展示模型。同时考虑到网络资源增长的迅速,需要提供非常良好的扩展性对新增加的API提供支持。
根据以上的需求,文中将Mashup技术应用到移动学习的领域,提出一个基于Mashup的个性化移动学习的基本架构。基于此架构,可大大简化学习者对于海量网络学习资源和服务的获取。同时结合移动设备使用,学习者可以对学习资源进行定制,更好地满足学习者的个性化需求。
1.1 Mashup体系结构
Mashup的应用模型是一个三元模型,包括:资源/服务提供者、Mashup服务器和Mashup客户端,如图1所示。
图1 Mashup体系结构
其中资源/服务提供者可以是开放API的网站或者任何提供用户所需数据的网站,它的作用是向Mashup服务器提供Mashup集成所需要的信息内容;Mashup服务器将获得的资源/服务封装成标准的组件,同时对Mashup客户端开放对于资源/服务的调用;Mashup客户端则选择相关资源/服务将其聚合到自己的网站或者应用系统中,并最终通过图形化的方式呈现出Mashup应用结果。
在Mashup的三元模型之上去建立一个平台需要:首先,Mashup服务器对资源/服务提供者提供的各种资源/服务进行获取、解析成平台可用数据;其次,平台将可用数据封装成标准化的组件,并对Mashup客户端提供开放的调用接口;最后,Mashup客户端通过订阅/自定义的方式对Mashup服务器上的组件进行获取,最终以图形化的方式展示供用户使用。
1.2 Mashup资源获取的方式
Mashup资源获取方式是指对Mashup内容提供者公开的资源/服务通过相应的技术进行获取。当前主要的Mashup资源获取的方式有Web Feed、Open API、REST协议、屏幕抓取等方式。
1.2.1 Web Feed方式
Web Feed基于XML,可以用于用户在不添加任何表现层内容的情况下在Web上发布内容。Web Feed是一种非常高效的信息分发的方式,典型代表包括RSS和Atom,凡是通过Feed方式对数据进行获取的程序都可以叫做聚合器或者Feed阅读器。
在Mashup中,Feed的使用非常广泛,例如Yahoo公司的Yahoo Pipes就是利用一个可视化的编辑器对Feed数据进行混合来创建Mashup页面。这个可视化编辑器,可以让非程序员用户轻松使用该服务,完成数据的聚合。
1.2.2 Open API方式
这种Mashup资源获取技术是指内容/服务提供者发布自己的公共接口API。Mashup服务器需要某个内容提供者的数据/服务时,一般通过SOAP协议来请求数据/服务。Mashup内容/服务提供者在收到Mashup服务器的数据请求以后,就会把对应的数据返回。每个API都会包含一定的调用格式以及参数规范说明,调用者只需要根据对应的规范,就可以获得相应的资源或者服务。不过,因为调用API需要通过SOAP协议,而这一协议需要调用者熟悉WSDL等服务描述与发现机制,因此使用具有一定的复杂性。
1.2.3 REST协议方式
由于Open API方式使用的复杂性,以REST协议获取资源的方式逐渐兴起。REST协议提供了一种更加简单的方式来获取资源,它不需要内容/服务提供者提供公共接口的API,而是以资源的角度来看待互联网,在基于REST的Web Service中,每个资源都是由一个唯一的URI进行标示,当接收到Mashup服务器发送的请求时,根据该URI决定如何响应。
由于REST协议的简单、可伸缩性等特点,越来越多的服务提供商开始提供对REST的支持,例如Google、Yahoo、Amazon等。
1.2.4 屏幕抓取方式
由于还有很多的公共数据并没有提供开放的方式对其数据进行获取,此时Mashup服务器可能需要通过屏幕抓取技术解析网页中相关HTML页面的结构,以编程的方式从中提取需要的数据,完成数据的聚合。
屏幕抓取技术适用的范围非常广,但是也存在一些内在的缺点。首先,与使用开放API不同,抓取并不是建立在与内容发布者的合作机制上,且还会对目标的网页结构形成依赖。当内容提供者周期性地修改目标网页的结构时,抓取的代码很可能失效,给抓取者带来一定的维护任务。此外,并没有成熟的屏幕抓取工具,因为网页信息及其结构的差异性,机器并不能做到完全的自动处理,因此对于不同的页面需要去设计不同的抓取规范。
在该平台构建的过程中,根据Mashup构建技术的特点,可以划分为不同的层次[6],分为资源层的Mashup、集成层的Mashup以及展示层的Mashup[7]。
2.1 资源层Mashup
资源层的Mashup,即通过RSS、Atom、WebService[8]、爬虫、屏幕抓取[9]等技术将异构的数据源进行获取。该平台中的数据源包含Wiki、Blog、精品课程、词典库、Open API等,由于网络资源增长的迅速,平台也会提供方便的扩展接口,用于扩展数据源。资源层Mashup如图2所示。
图2 数据层Mashup
2.2 集成层Mashup
集成层的Mashup,即将获取到的异构数据,进行解析、提取、筛选、组合入库,然后根据此流程形成的数据进行平台实现。
2.3 展示层Mashup
对于移动设备的显示,比如Android设备,展示层Mashup由多个控件拼合而成。每个控件代表一个栏目,比如Blog、Wiki等,控件的形状一般为矩形区域,类似手机桌面的launcher。该平台中,展示层Mashup页面,可以根据学习者的兴趣自行订阅,应用程序会根据学习者的订阅情况自动生成Mashup页面,从而满足每个学习者不同的需求。展示层Mashup如图3所示。
图3 展示层Mashup
3.1 总体设计
首先,通过Mashup编辑器录入数据模型,数据模型包含数据抓取、数据解析、数据展示所需要的schema。该数据模型包含了数据源的位置、抓取需要的参数以及抓取的深度等,包括了解析的方式、规则,以及数据最终在移动设备上展示的规则。模型建立完成以后,系统将自动根据该模型去抓取、解析数据,最终将异构数据源转化为可用数据存到平台中。接下来,用户下载平台提供的移动设备的应用程序,该程序支持栏目订阅,自行定制Mashup应用。在日常的使用过程中,平台接收并解析移动设备发出的请求,根据请求进行发送响应数据,一般返回数据包含用户请求的数据以及数据模型中的展示schema。移动端,会根据展示schema控制数据的显示以适用于移动设备。在用户使用过程中,会记录用户的使用习惯、兴趣等,在平台为用户建立兴趣模型,最终通过兴趣模型,实现为用户进行智能推送[10]。平台架构图如图4所示。
图4 平台架构图
平台能够根据数据模型,自动通过不同的方式,获取异构的数据源,最后解析成本系统可用的结构化数据。并且能够供移动设备使用,而移动设备友好的展示数据,也需要数据模型的支持。
3.2 数据模型
Mashup将不同的数据进行整合使用,这些数据通常有着不同的结构,不同的获取方式。如何将这些异构数据整合入系统,如何解决将数据在移动设备的app上友好展示。对于异构数据的获取[11],需要通过不同的获取技术以及使用不同的方式进行解析。而对于将数据在用户的移动设备的app中友好的展示,需要通过一定的描述文件对其组件的显示进行控制。对于以上两个问题,定义了数据schema来控制整个平台数据的获取、解析、展示。
3.2.1 数据获取
对于Mashup获取数据的来源,主要有Open API、RSS、Atom、屏幕抓取、爬虫、WebService等。针对不同的数据源,需要不同的schema控制其抓取的过程。抓取的schema定义如下:
{url,parameters,deep}
抓取的schema为一个三元组,url定位获取数据的位置,parameters提供数据获取时所需的参数,deep则控制数据获取的深度。
3.2.2 数据解析
Mashup所使用的数据交换格式,一般情况下为两种:相似的基于XML的文档格式和JSON。比如RSS、Atom返回的数据基于XML的文档格式;屏幕抓取,爬虫返回的数据一般为HTML,而HTML的基本数据格式与XML类似,也能够轻松转化为XML的格式;Open API、WebService返回的数据则一般为XML、JSON。
针对不同的数据交换格式,需要通过不同的解析器将其解析成平台中的可用数据。数据解析的schema定义如下:
{method,nodes,node-relation}
解析的schema为一个三元组,method决定解析所选择的方式,nodes为所需要解析得到的节点,node-relation为节点间的关系。
3.2.3 数据展示
为了将平台中的数据可以友好地在移动设备中进行展示,并且可以提供动态扩充栏目的支持,对于每种类型的栏目,移动设备上展示方式都需要进行设计。首先在移动设备的app布局中预设尽可能多的组件供数据显示,默认为隐藏状态。根据服务器返回的数据对其进行控制显示。数据展示的schema定义如下:
{keys,properties,elements}
数据展示的schema为一个三元组,keys包含了app端布局文件中组件的唯一的标识符集合,elements为返回的结构化数据的集合,properties为返回的结构化数据的属性集合,与keys集合一一对应,控制app端布局中的组件的显示。
3.3 模块设计
(1)数据处理模块:负责根据上述的数据模型,将异构的数据源通过不同方式进行获取以及解析成系统可用的结构化数据。
(2)用户模型:对于基于Mashup组成的数据源,其数据种类繁多,最基本的要求必须满足用户订阅。所以用户模型除了基本信息以外,包含订阅的相关数据。系统中引入兴趣Tag[12],可以很好地用于智能推送,以及计算用户间的兴趣相似度,进而根据相互相似度匹配推送。
(3)分发处理模块:分发处理模块中包含解析请求、数据分发和智能推送。一方面解析用户发来的请求,并实时给予反馈,与移动设备端协作[13];另一方面根据用户的兴趣、浏览信息等,对用户的兴趣进行挖掘,从而实现智能推送。
(4)可视化编辑模块:主要用于系统的扩展,系统需要增加新的数据源,并且希望可以自动地实现从数据的抓取直至友好的供用户订阅。整个过程的核心是数据模型,而数据模型可以在此模块进行可视化的编辑。
与传统的网络学习平台相比,基于Mashup的个性化移动学习平台让用户可以随时随地地学习网络上现有的学习资源,充分体现移动学习的优势。而对于用户难以在庞大的网络数据中进行筛选学习,该系统也通过栏目订阅、兴趣Tag等进行解决。具体的优势如下:
(1)充分利用网络中的学习资源。
使用Mashup聚合网络学习资源,可以对网络中种类繁多的异构资源进行采集、解析和利用,有效提高了学生对于资源的获取能力。
(2)充分发挥移动学习的优势。
用户可以通过手机随时随地,自主地进行学习,有效地方便了学生对于知识获取的途径。
(3)充分发挥移动设备的优势。
对于移动设备可以很好地对学习资源进行缓存,即使在无网络的情况下,也可以进行离线资源的学习[14]。
(4)个性化学习环境。
由于学生个体间差异,移动终端的私有性可以更好地方便其定制,以及平台提供智能推送功能,极大提高了用户的学习体验。
(5)完整学习行为的记录。
学生在对应用的使用过程中,该系统可以完整地记录学生的学习历程,甚至获取学习时间、位置等场景信息。这些数据既可以用于调整用户学习的轨迹,也为学习者提供了一个完整的学习档案。
4.1 数据交换格式的选择
对于移动设备与服务器交互,一般选择的数据交换格式为XML或者JSON。
XML(eXtensible Markup Language)用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性,可在不同平台之间进行数据交换。
对于二者,都易于解析,都可用于客户端与服务器的交互。相比较而言,XML虽然从编码可读性上来看,具有明显的优势,该格式更贴近于人类的语言。但是对于应用与服务器之间的数据传递类型的选择,考虑到移动设备的网络带宽比较低以及流量计费的问题,对于展示相同的数据,JSON占据的体积更小,传递的速度更快[15]。毕竟数据的解析过程与用户无关的,所以这里采用JSON作为返回数据的格式。
4.2 设备与平台交互流程
当数据在系统平台中时,用户可以通过手机或者其他移动设备安装应用程序随时随地订阅与查看这些数据。在移动端程序中提供了多种类型的布局,以满足多种类型的数据在设备上友好的显示。而对于数据的展示,会根据上述数据模型的数据展示schema对组件的显示进行调节。
对于手机和平台的通信流程:
(1)应用在首次使用时,向服务器发送请求,服务器返回数据所有的栏目数据。
(2)用户选择感兴趣的栏目,然后将栏目节点信息发送到服务器对用户模型进行完善,同时应用程序根据用户的选择生成Mashup主界面,缓存栏目数据。
(3)当用户点击主界面不同的栏目时,服务器分页返回该栏目下的数据以及对应数据展示schema,客户端依据返回的数据和schema调节组件进行显示。
(4)平台会根据用户的基本信息、栏目订阅以及浏览情况,对使用数据进行分析,从而为用户推送兴趣相近的栏目或者数据。
最终,移动设备Mashup页面生成如图5所示。
图5 移动端Mashup页面
文中介绍了一种基于Mashup的个性化移动学习平台。利用Mashup将网络上分散的学习资源聚合起来,供移动设备使用,实现学习者随时随地的学习。该平台设计了完整的数据抓取、数据解析、数据展示的数据模型,实现数据的自动抓取、解析以及友好地在移动设备上进行展示。同时提供可视化编辑器,可以方便扩展平台的数据源。对于学习者,可以自由订阅栏目,系统会自动为其构建Mashup页面,以满足学习者个性化的需求。在学习者的学习过程中,系统会基于其订阅情况以及学习过程的记录,为其构建兴趣模型,将该兴趣模型作为智能推送的基础。然而由于聚合的资源来源于网络各处,该平台尚未考虑资源间的关联关系,以及学习者在移动学习的过程中如何引入情境化,可作为今后的研究方向。
[1] 李晓丽,王晓军.移动学习模式探讨及系统架构设计[J].北京邮电大学学报:社会科学版,2007,9(5):10-13.
[2] 李 春,朱珍民,叶 剑,等.个性化服务研究综述[J].计算机应用研究,2009,26(11):4001-4005.
[3] 祁晓晖,郑 滔.Mashup研究综述[J].计算机应用,2010,30(S1):203-208.
[4] 纪姗姗,李 宇,周 强.Mashup工具的分析与研究[J].现代图书情报技术,2010(1):41-45.
[5] 路 跃,刘旭东,孙海龙,等.MM:面向最终用户的Mashup移动应用开发环境[J].计算机科学与探索,2012,6(3):237-247.
[6] 汪名森,王 强.Mashup系统构建研究[J].现代图书情报技术,2009(5):34-38.
[7] Yu Jin,Benatallah B,Casati F,et al.Understanding Mashup development[J].IEEE Internet Computing,2008,12(5):44-52.
[8] 苏会杰.基于REST和SOAP的Mashup平台Web服务研究与实现[D].北京:北京邮电大学,2012.
[9] 李 峰,李春旺.Mashup关键技术研究[J].现代图书情报技术,2009(1):44-49.
[10] 廖轶宸.基于移动网络的混合型信息推送系统的研究[J].计算机工程与设计,2012,33(8):3268-3272.
[11] 魏 伟,陈正鸣,吕 嘉.基于Atom的个性化数据重用[J].计算机应用与软件,2013,30(12):236-239.
[12] 易 明,曹高辉,毛 进,等.基于Tag的知识主题网络构建与Web知识推送研究[J].中国图书馆学报,2011,37(4):4-12.
[13] 王 辉,高成英,刘 宁.服务器端Mashup开发平台的设计与实现[J].计算机工程,2010,36(10):262-264.
[14] 侯志鑫.移动学习环境下学习资源建设模式的研究[D].北京:北京交通大学,2014.
[15] 高 静,段会川.JSON数据传输效率研究[J].计算机工程与设计,2011,32(7):2267-2270.
Personalized Mobile Learning Platform Based on Mashup
ZHANG Hong-yang,CHEN Jian,ZHAI Mei
(Schoolof Computer Science,Shaanxi Normal University,Xi’an 710062,China)
Learning resources are regarded as the critical point for learners in their process of mobile learning.And the Mashup,which is able to integrate the existing learning resources on the network,can solve the problems of dispersion in the aspect of learning resources and services in an efficient way.Also,it can better assist the learners to study whenever it is and wherever they may be when applying the way of Mashup to the field of mobile learning.Hence,the technique of Mashup in mobile learning was introduced in this paper to construct a learning platform,and the automatic crawls as well as analysis for resources can be realized by using the platform to aggregate the web-based learning resources of generalized distribution.Also,it provides a visual editor to extend data sources more convenient,which makes the platform has a high degree of flexibility and scalability.In addition,platform can be effectively combined with the mobile terminal,so that learners can subscribe and access the resources through mobile devices anytime and anywhere.In this paper,the overall architecture,the composition modules,the support for mobile devices,as well as the design of the data model were described in details.Then,it customizes a trial application to verify the availability of the platform.The results show that the platform can greatly improve the efficiency of resource acquisition for learners,and meet the needs of learner individualized learning,effectively improving the learner’s motivation and self-learning ability.
mobile learning;Mashup;personalization;mobile application
2015-04-07
2015-07-09
时间:2016-01-04
国家自然科学基金资助项目(41271387);中央高校基本科研业务费专项资金(GK201503066);陕西高等学校教学改革研究项目(13BY23)
张鸿洋(1991-),男,硕士研究生,研究方向为电子服务、电子学习;陈 健,博士,副教授,CCF会员,研究方向为电子服务、服务工程、软件工程。
http://www.cnki.net/kcms/detail/61.1450.TP.20160104.1453.010.html
TP39
A
1673-629X(2016)01-0027-06
10.3969/j.issn.1673-629X.2016.01.006