基于SOA的“慕课”平台学习资源整合

2015-04-17 12:31唐成务陈彦萍朱琳萍
实验室研究与探索 2015年11期
关键词:慕课架构学习者

唐成务, 陈彦萍, 朱琳萍

(西安邮电大学, 陕西 西安 710121)



基于SOA的“慕课”平台学习资源整合

唐成务, 陈彦萍, 朱琳萍

(西安邮电大学, 陕西 西安 710121)

学习资源的有效整合一直是在线学习领域中面临的难题和挑战。“慕课”作为一种全新的在线学习模式也需要对学习资源进行有效整合。通过分析慕课平台中学习资源的使用方式现状和SOA的特性,提出了基于SOA的学习资源的整合模式,对已有学习资源数据和分散异构数据采取服务封装的方法,从而实现慕课平台学习资源的有效整合。

慕课; 学习资源; SOA

0 引 言

“慕课”(Massive Open Online Course,MOOC),即大规模的网络开放课程,它发端于过去的那种发布资源、学习管理系统以及将学习管理系统与更多的开放网络资源综合起来的旧的课程开发模式。慕课浪潮席卷全球,并逐渐发展成为一种非常流行的新的在线教学模式。先后出现了Udacity、Coursera和edx三大慕课平台,推出近百门课程,越来越多的大学、教师和学生加入到慕课的洪流之中。随着慕课的发展,各种各样的慕课平台越来越多,发布在慕课平台上的课程资源也越来越多。但是,课程提供者在慕课平台上发布课程的方式不同,学习者在慕课平台上的课程学习方式不同,慕课平台之间没有一个统一的资源标准,这些问题导致了学习资源不能充分的利用(例如,Udacity平台视频基于youtube上;Coursera平台视频不基于youtube上,不用翻墙就可以学习等等)。为了解决慕课平台之间的课程发布方式不同、课程学习方式不同和学习资源没有统一的标准等问题,需要对“慕课”平台的学习资源进行整合。本文通过面向服务体系架构(Service-Oriented Architecture,SOA)对慕课平台的学习资源进行整合,帮助学习者快速、准确的找到适合的学习资源。

1 面向服务体系架构SOA

SOA是一种面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元“服务”(service),通过服务间定义良好的接口和契约联系起来。接口采用中立的方式定义,独立于具体实现服务的硬件平台、操作系统和编程语言,使得构建在这样的系统中的服务可以使用统一和标准的方式进行通信。它可以根据需求通过网络对松散耦合的粗粒度应用进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。目前,SOA依赖于扩展标记语言(eXtensible Markup Language,XML)等技术,并且通过Web服务描述语言(Web Services Definition Language,WSDL)对接口进行描述,从而使得web服务动态和灵活得益保证。服务是SOA核心的概念,它是业务应用的基本服务单元,多个服务可以快速、灵活、节约地组成新的应用系统。服务是指软件中的一些操作过程或独立业务模块的程序逻辑单元,可以通过标准协议通过网络来访问和调用,并且公开调用接口。

SOA的体系架构中有以下三个基本角色:服务提供者、服务请求者和服务注册中心,如图1所示。

SOA体系结构中,所有的应用实体都被抽象为服务。包括三个实体。

(1) 服务提供者。发布自己的服务,并且对服务请求进行响应。

(2) 服务注册中心。注册已经发布的Web Service,对其进行分类,并提供搜索服务。

(3) 服务请求者。利用服务中心查找所需要的服务,然后使用服务。

SOA包括三个相关协议:SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal Description,Discovery and Integration)。WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传递消息。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。

2 基于SOA的“慕课”平台学习资源的整合

2.1 基于SOA的“慕课”平台学习资源的整合架构

在“慕课”平台中,学习者通过平台内部的搜索功能来获取想要学习的课程,请求的服务通过查找和匹配平台内部的学习资源库来实现,不支持复杂学习需求的分解,实现相关联课程之间的查找和匹配;课程发布者需要发布自己的课程到很多的慕课平台,这样就会导致资源不能重复的利用。本文提出的基于SOA的“慕课”平台学习资源的整合通过获取各大慕课平台的发布课程,封装成为服务,按照专业类别、课程时间、课程内容和难易程度等进行分类管理,这些服务之间定义良好的接口和契约联系起来,这样就可以快速的把合适的课程提供给学习者。

而基于SOA的面向服务软件集成构架,即采用Web Service技术实现慕课平台学习资源中不同功能单元的整合,使学习资源的不同功能的资源通过Web服务进行互连、集成和协同,慕课平台之间能够资源共享,快速、准确的提供学习资源给学习者。基于SOA的“慕课”平台学习资源的整合架构如图2所示。

图2 于SOA的“慕课”平台学习资源的整合架构

从图2中可以看出,获取课程提供者发布在慕课平台上的课程资源,封装成单个的Web服务,部署到服务器上。用WSDL描述Web服务,注册到注册中心,UDDI对web服务描述文档WSDL按照专业类别、课程时间、课程内容和难易程度等因素进行分类管理。当学习者想要搜索自己想要学习的内容,查找就会分解成单一参数去注册中心查找相应的WSDL,通过WSDL找到相应的服务,然后快速、准确的得出适合学习者学习的课程,而不是给出很多的课程去让学习者自己来选择。例如,学习者搜索自己的“专业名称”,服务代理根据关联匹配度分解为专业类别、课程时间和难易程度等参数去注册中心查找相应的课程服务接口描述语言WSDL文档,通过WSDL调用相应的课程服务,返回查找的信息给学习者。服务通过统一的接口和标准进行通信,与平台无关,课程发布者只需要在一个慕课平台上发布自己的课程,其它的慕课平台就可以分享到这个学习资源,不需要另外的发布这门课程,使学习资源得到重复的利用。

2.2 基于SOA“慕课”平台学习资源整合的特点

我们认为基于SOA“慕课”平台学习资源整合不同于现有的慕课平台中资源提供方式,具有以下特点:

(1) 现有的慕课平台之间学习资源没有一个统一的标准,采用SOA架构的设计思路,从学习资源的复用角度出发,最大程度地减少学习资源之间的耦合,按照统一的标准根据学习者的个性化需求动态整合学习资源。例如: Udacity平台发布的课程在youtube上;Coursera平台视频不基于youtube,可以不翻墙观看,有网易提供视频源;edx平台通过https://studio.edge.edx.org申请发布课程,申请通过后用Studio制作课程,然后发布到平台。 他们的课程发布和使用采用不同的标准和流程,这就阻碍了不同平台中的课程之间的整合。

(2) 现有的慕课平台是一个课程整合平台,支持一门课程搜索,不支持复杂学习需求的分解。通过SOA对慕课平台学习资源整合进行分类管理,能够对学习任务进行分解,更加精准的查找和匹配学习的课程。例如: 现在我们只能在慕课平台搜索课程名”计算机网络”,不能提供给学习者”网络工程专业核心课程”这样的复杂查询。

(3) 现有的慕课平台之间课程发布的方式不同,慕课平台之间不能达到资源共享。面向服务的SOA具有松耦合性,与平台、语言无关性等特点,使慕课平台之间的学习资源能够有效的整合和资源共享,便于学习资源的重复利用。例如:在edx平台上发布的课程,在Udacity和Coursera等平台上不能学习,导致了资源不能得到重复的利用。

2.3 学习资源查询的服务过程

不论各种慕课平台中的学习资源语言、平台、技术、数据结构的异构性多大,只要在对外接口上都用统一的对象模型Web Services进行封装或转换,就能消除这种异构性,通过工具或手动的定义各自课程服务接口描述语言WSDL文档,并把课程服务描述语言WSDL文档发布到UDDI注册中心中进行分类管理,在UDDI注册中心对课程服务进行注册。当“慕课”学习者进行课程的检索和学习时,首先发送请求到UDDI注册中心访问课程服务的注册信息,服务代理根据关联匹配度分解服务请求为相关参数去查找相应的课程服务的接口描述WSDL文档,获取课程服务的接口描述WSDL文件。然后根据获取的WSDL文件中的接口描述,通过SOAP协议到Web服务器上去调用相应的课程服务应用程序,最后把服务信息返回给学习者。学习资源查询的服务过程如图3所示。

图3 学习资源查询的服务过程

通过面向服务软件体系架构SOA,用户在本地会产生代理对象,以后业务就是通过此代理对象与Web Services进行数据交互。如果Web Services内部结构和实现发生了改变,只要WSDL描述保持不变,整个系统都不需要作任何变化。

3 学习资源查询举例

通过SOA体系架构对“慕课”平台的学习资源进行整合,把各种慕课平台发布的课程封装成单个的web服务,将这些服务进行部署到Web服务器,注册到注册中心,并按照专业类别、课程时间、课程内容和难易程度等因素进行分类管理。“慕课”学习者搜索自己想要学习的课程时,提出一个服务请求,服务代理接受用户的请求并为其服务。服务代理根据关联匹配度分解服务请求为多个参数去注册中心匹配,根据相应的WSDL文件去调用Web服务,把相关联的服务信息返回给学习者,这样就可以更加快速、准确的把学习资源提供给学习者。

假设学习资源库中存在以下4个服务:

(1) Course()。输入参数:课程编码;输出项:课程名称和其他信息。

(2) time()。输入参数:课程编码,学习时间;输出项:该课程的开课时间及结束时间。

(3) Yellowpages()。输入参数:专业名称;输出项:课程编码和其他信息。

(4) School()。输入参数:开课时间;输出项:学校名称和其他信息。

“慕课”学习者想通过“专业名称”找出“慕课”平台上相关课程的课程名称、课程提纲、开课时间和学校等信息。查询流程图如图4所示。

4 结 语

“慕课”作为一种全新的教学模式越来越受学习者的欢迎,对慕课平台学习资源进行整合也越来越重要。面向服务的SOA具有松耦合性,与平台、语言无关性等特点,可以快速、有效地整合慕课平台学习资源。基于SOA的“慕课”平台学习资源的整合,可以快速、准确地把学习资源提供给学习者,慕课平台之间进行资源共享,课程发布者只需要在一个“慕课”平台上发布课程,所有的“慕课”平台都能够利用这个资源,使学习资源得到重复的利用,解决了学习资源的浪费。

[1] 辛永涛. 武警学院构建慕课(MOOC)教学模式探讨[J].武警学院学报,2014,30(5):72-73.

[2] 张鸷远. “慕课”(MOOCs)发展对我国高等教育的影响及其对策[J]. 河北师范大学学报(教育科学版),2014(2):116-121.

[3] 潘燕桃,廖昀赟. 大学生信息素养教育的“慕课”化趋势[J]. 大学图书馆学报,2014(4):21-27.

[4] 栾大为,刘伟君. 基于云计算和SOA架构的信息化办公系统[J]. 通信管理与技术,2013(3):27-29.

[5] LuoM in. Patterns. Service-Oriented Architecture and Web Services. http://www.redbooksibm.com/redbooks/pdfs/sg246303.pdf,2004.4.

[6] 赵生慧,吴国新,张三峰,等. SOA的QoS研究综述[J]. 计算机科学,2009(4):16-20.

[7] Wilkes S, Harby J. SOA blueprints specification draft v0. 4[J]. The Middleware Company Research Team, 2004,7-15.

[8] 李凤云,黄迎春,冯永新. 基于Web Service的SOA实验技术研究[J].科技世界,2012(23):17-19.

[9] 姬 楷. 基于SOA的企业服务总线研究及其应用[D].重庆:重庆大学,2008.

[10] 牛红惠,刘晓魁,侯冰芳. 基于SOA的在线学习系统的研究[J].邯郸职业技术学院学报,2009,22(1):55-56.

[11] 凌晓东. SOA综述[J].计算机应用与软件,2007(10):122-124.

[12] Erl, Thomas. Service-Oriented Architecture (SOA):Concepts,Technology, and Design. Prentice Hall/PearsonPTR, 2010. Print.

[13] Papazoglou, Michael P. Web Services: Principles and Technology[M]. Harlow: Pearson Prentice Hall, 2008.

[14] 李学俭,何文华. 基于SOA架构的高校数据资源整合研究[J]. 计算机技术与发展,2010(1):78-81.

[15] 王 楠,刘心雄,陈和平. Web Service技术研究[J]. 计算机与数字工程,2006(7):88-90.

[16] 李 梅,奚建清. 基于SOA架构的网络教学平台集成研究与设计[J]. 实验室研究与探索,2010(11):173-177.

The Integration of Learning Resources on"Mooc" Platform Based on SOA

TANGCheng-wu,CHENYan-ping,ZHULin-ping

(Xi’an University of Posts and Telecommunications, Xi’an 710121, China)

Effective integration of learning resources is always a difficultie and challenge in the field of online learning. "MOOC", as a new online learning model, is also needed to effectively integrate learning resources. By analyzing the present situation of the use of the learning resources and SOA features on the MOOC platform, the paper proposed a SOA-based learning resources integration model. It took service encapsulation method for existing learning resources and decentralized heterogeneous data to realize the effective integration of learning resources on MOOC platform.

MOOC; learning resources; SOA

2014-11-20

陕西高等教育教学改革研究项目(No.13BY68);西安邮电大学研究生创新基金项目(No.ZL2013-32)

唐成务(1990-),男,河南光山人,在读硕士生,研究方向为服务计算。Tel.:18292823791; E-mail:946160901@qq.com

G 642.0

A

1006-7167(2015)11-0182-04

猜你喜欢
慕课架构学习者
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
你是哪种类型的学习者
十二星座是什么类型的学习者
WebGIS架构下的地理信息系统构建研究
汉语学习自主学习者特征初探
大学生对慕课的了解和利用
“慕课”教学的“八年之痒”
慕课环境下的学习者
高校学习者对慕课认知情况的实证研究