商惠华,戴汇川
(1.韩山师范学院 计算机与信息工程学院,广东 潮州 521041;2.广东科技学院 管理学院,广东 东莞 523083)
MOOC(大规模在线公开课)的迅速发展,给教育带来了颠覆式创新[1].为了有效整合慕课资源,一些高校联盟形式相继涌现,如中外合作模式(如清华大学与北京大学率先与美国的edX 慕课平台合作)、地方高校联合模式(如由深圳大学发起的UOOC 联盟)、区域性高校联盟模式(如粤港澳大湾区高校在线开放课程联盟)和行业内高校互助模式(如全国林业高等院校特色网络课程资源联盟)[2]等.这些慕课资源的整合模式,在一定程度充分利用了慕课资源,给学习者带来了便利.然而,远远不能满足用户的学习需求.而且,慕课资源通常限于高等教育,职业教育和中小学教育的则相对比较稀缺.如何有效地整合慕课资源,充分地利用相对稀缺的慕课资源,是MOOC发展的必然要求.为改善云资源提供者的动态资源扩展能力,云资源联盟的模式应运而生[3].云联盟的模式与构建在不同的领域有些专家和学者已做了很多研究.文献[4]从数字学术信息资源的角度对云联盟的构建进行了研究,文献[5]从建设与工程的视角对于联盟进行了研究,文献[6]从地方信息化教学服务的角度去探讨云计算联盟,文献[7]从云联盟的角度研究了一种安全的数据共享和查询处理框架,文献[8]探讨云资源提供者的最优化算法.本文将从云联盟和SOA架构融合的角度对慕课资源整合模型展开研究.
SOA(Service Oriented Architecture)是面向服务的体系结构,它将应用程序的服务(不同的功能单元)通过其之间的接口和契约联系起来.而且,接口独立于实现服务的操作系统、编程语言和硬件平台.SOA 的实现可以采用CORBA 组件、DCOM 组件及Web Service 组件等多种技术,其中Web Service 组件是实现SOA 的最好方式.以下的SOA 研究及整合模型都是基于Web Service 技术的.SOA体系结构模型[9]如图1所示.
图1 SOA体系结构模型图
SOA 的工作原理为:服务提供者用WSDL(Web Services Description Language)描述已实现的服务,并用UDDI(Universal Description Discovery and Integration)在服务注册中心发布WSDL文档并注册;服务注册中心管理已发布的服务信息,并按照用户的要求从注册表中查找服务数据;服务的请求者从服务注册中心查询服务,发现提供服务的WSDL文档,并通过SOAP(Simple Object Access Pro‐tocol)协议来与要访问的服务绑定通信.
云计算作为一种新型的计算机和互联网服务模式,由分布式计算、网络存储和虚拟化技术等多种计算机和网络技术融合发展而来[10].它的核心服务可以分为3个子层:IaaS(Infrastructure as a Ser‐vice)、PaaS(Platform as a Service)、SaaS(Software as a Service),各层可独立提供云服务,下一层的架构也可以为上一层云计算提供支持[11].它使用了多种计算机相关技术来整合网络上动态扩展的硬件和软件设施,并进行集中化管理.云计算依靠并利用虚拟化技术为终端用户提供按需分配的服务,极大地方便了用户对系统的使用.用户只需要关心怎么使用云计算服务,不必了解提供服务设备的具体位置,也不必了解服务计算的详细过程.云计算体系结构图如图2所示.
图2 云计算体系结构图
单一的云计算服务功能有限,将云服务组合和集成是发展的必然.由于各云平台的异构性,服务的集成和可移植受到了限制.因此,学术界提出了云计算联盟,即一种整合分布式的不同服务提供商提供的云服务,共同为用户提供服务的机制[12].云计算联盟的模式可以对不同的数据中心的计算资源进行协调[13].一些专家或学者对这种模式进行了研究和探讨,如文献[12]中的“基于Agent的云联盟服务组合模型”等.
云计算和SOA架构有共同的特征,就是先拆分再组合.SOA架构主要解决集成的问题,主要包括应用集成和数据集成等.为解决集成,SOA 将业务系统通过解耦方式拆分,再对服务进行合并和组合,形成标准的可复用的服务单元.SOA更多关注的是软件架构.对于云计算主要通过虚拟化技术将IT 资源整合成大规模可扩展的资源池[14],主要强调终端能力向云端的迁移过程,对资源池的拆分主要是已有硬件环境通过虚拟化方式的整合,将大的计算或存储能力通过虚拟化后形成更小的可以调度的计算单元或存储单元.
每个慕课平台都是提供服务的私有云,采用云计算联盟模式,将不同的慕课平台的资源加以调动和利用.本文充分利用云计算联盟与SOA的特点,将云联盟服务融合在SOA架构中,对各大平台的慕课资源进行整合[15],该整合模型图如图3所示.
图3 云联盟与SOA融合的慕课资源整合模型
在此模型中,各大平台的基础设施资源、数据处理和数据存储等能力以及内部业务系统封装的慕课服务全部迁移到云端,构成私有云平台的IaaS、PaaS、SaaS 三层.SOA 架构中ESB(Enterprise Service Bus)、BPM(business process management)等这些能力演化为云计算联盟管理系统,提供统一的虚拟化的资源池,形成公有云,使其与用户、联盟的慕课平台构成资源共享的合作型三角关系.各大慕课平台本身的三层通过SOA 得到了进一步的集成,所有资源被统一管理和利用.特别是基于SOA架构的慕课服务的SaaS化,可支持多用户同时按需获取服务,且不关注技术和基础设施,只关注业务本身.
云联盟的形式为公有云,可从教育部或国家的层面作为各平台云的外包商,也是第三方服务提供商,对其进行统一的管理和优化.公有云中的数据作为服务为用户提供数据的访问.数据所有者失去对自己数据的控制,当然涉及到对数据的加密问题,本文只探讨可行的架构.
2.2.1 慕课课程的封装与发布设计
某一门慕课课程的提供者按某一平台服务契约,将经过测试后的完整的慕课资源发布到该慕课平台.慕课平台将课程封装成Web服务,并定义为一个网络端点或端口的集合[10].Web服务用WSDL文档进行描述,WSDL 是一种标准的XML 语言,WSDL 用来描述网络服务和终端,将服务的功能实现部分隐藏,对服务的具体信息和调用信息进行描述.这些web 服务的描述信息中除了必要的接口、调用、绑定等描述外,将课程的描述信息也加入其中.例如,在类型定义中加入一个element 描述课程的具体信息,与Message 中的每一个part相对应.以“华南师范大学胡小勇老师的人工智能教育应用”这门课为例,可参考的编写代码如下:
在代码的课程描述信息中,除基本信息外,还加入了所属的课程体系——新工科,便于后期服务的组合与集成.
2.2.2 云计算联盟与SOA融合的框架设计
提供服务的平台如果采用单纯的SOA 架构不能对IT 硬件进行重用,本文采用SOA 与云计算联盟的融合设计作为接口层,即集成了云服务组件的SOA为接口.云计算联盟服务的基础层基于各平台的物理资源——数据资源、设备资源等进行构建,用虚拟化技术将各平台的物理资源抽象成逻辑资源,迁移到了云端.平台将慕课封装为服务后,交付SOA,由SOA对服务进行构建.该融合设计主要包括核心服务层、服务管理和调度层、用户访问接口层三层架构,具体设计图[16-17]如图4所示.
图4 云联盟与SOA融合设计图
该框架在不同阶段的工作过程从以下三个步骤进行阐述:
步骤1:慕课服务发布
存储在各慕课平台的慕课资源,经平台通过Web Service 技术封装为WEB 服务后,采用统一的访问接口和网络通信协议,发布到云平台服务库,并注册到UDDI 服务注册中心,由ESB 对服务进行统一的管理和调度.
步骤2:慕课服务的管理
云服务和SOA 机构融合设计的核心为集成了云服务中间件的ESB,其相当于集群的调度中心和服务的管理中心.SAAS 和SOA 可以是密切相关和互补的,服务由SAAS 发布后,SAAS 提供SOA 使用的组件,SOA可以搜索和使用已发布的服务,也可以快速组合这些服务组件来创建新的服务[18].该设计将SAAS 组件功能集成到ESB 的组件.ESB 采用基于消息中间件的异步消息和服务模式,保证各服务本身的高内聚性,服务之间松耦合性.而且,其提供一系列的标准接口,采用分布式的运行管理机制,消除了各大异构慕课平台服务之间的技术差异,让不同的平台服务器协调运行,实现不同服务之间的通信和整合.融合的云服务技术,将各平台的云端计算资源通过虚拟化技术云化,不仅可使资源快速部署,而且也可根据用户的需求动态分配各平台的物理资源和虚拟资源.用户也可以随时随地通过任何的网络设备获取服务.
步骤3:服务的应用
平台可提供不同粒度的服务,实现服务的细节与服务契约/接口明确分离[19].只要服务契约/接口不变,用户就可快速检索和使用服务.每个慕课服务本身可以直接提供给用户使用,也可以依据用户的需求进行灵活的组合与集成,即服务的重构.例如,用户想学习新工科专业体系的课程,用户可以直接订购“云计算”课程,也可以组合订购属于“新工科专业体系”的多门课程.
2.2.3 搭建统一的检索平台
基于该模型,慕课的学习者就可通过UDDI注册表(registry)查找服务,取得服务的WSDL 描述,然后通过SOAP 来调用服务.即学习者可在客户端对自己想要学习的课程能够快速查找和定位.各个阶段的学生即使在学校不能按兴趣和爱好去学习和发挥,在家也可通过互联网随时学习各大平台的慕课课程,减去了寻找不到合适学习资源的苦恼.
客户的查询基于统一的检索平台,将课程的检索作为主查询框,也可以附加其他的信息,如平台或院校等作为另一条件精确检索,如输入检索“数据结构”,再选择“爱课程”平台.学习者在界面也可浏览到各大平台,可以直接选择自己喜欢的平台进行相应的检索,这与直接进入独立平台的功能相同.客户统一检索平台图如图5所示.
图5 客户统一检索平台图
为验证模型的可行性,本研究对该模型进行了简单的模拟实验,用两台清华同方超扬A8500台式电脑作为测试硬件环境,并模拟作为两个慕课服务平台,使用VMware Workstation 作为虚拟机软件将其虚拟化为4台虚拟机,其中1台作为服务管理和调度中心,其余3台作为云服务节点.
选定智慧树、学银在线这2个平台作为测试平台,对4门课程——Python 程序设计、数据库系统、动物病理学、软件体系结构,完成检索.分别在两台台式电脑中发布课程服务,数量与两测试平台的实际检索到的数量一致,服务以.net简单实现,开发环境为Visual Studio,服务主要以检索到课程名称为主.
客户端用应用程序模拟,向服务器提交视频名称搜索请求,其检索到课程的数量结果对比如图6所示.
图6 反映了各平台检索课程的数量的对比,可以看出各平台都有自己资源丰富的科目类型,也有欠缺的类型,而统一平台充分发挥了优势,有效整合了各平台的资源.如检索“动物病理学”,智慧树检索结果为0,而学银在线的检索结果为7.对于比较多的课程资源,用户可以根据自己的需求择优选取,如检索“Python 程序设计”,统一检索平台可浏览到10个课程.用户可根据评论和介绍自由选取适合自己的课程.对短缺资源的充分利用和丰富资源的择优选取,不仅在课程的检索上提高了效率,而且课程的查准率和查全率也得到了提升,给用户带来了更佳的体验.
图6 各平台检索课程的数量对比图
该模型设计既融合了云计算和SOA 架构的优势,又充分利用了各平台的硬软件资源和慕课资源,促进了数据资源的整合,节约了成本.慕课资源共享方案用统一的平台就可实现跨区域、动态、实时和异构.在SOA 服务总线和UDDI 中的服务注册信息由多个根节点组成,相互之间按一定复制规则进行数据同步,在逻辑上体现出集中的特性,而在物理上则体现出分布式特性[9].即使服务发布原始平台出现故障,也不会影响用户对服务的使用.SOA 架构的松散耦合性,与平台、语言无关性等特点,服务的实现与应用被清晰地分离.只要WSDL 描述保持不变,服务接口不变,无论慕课平台对服务如何更新或组合,都不会影响用户对服务的检索和使用.
慕课服务的描述均采用WSDL,发布和查找都采用标准的UDDI,XML是服务进行数据交换时所采用的标准,SOAP是以XML为基础.当用户检索到希望使用的服务时,则通过SOAP与服务的提供者进行绑定.各平台的MOOC课程有效整合,统一规划,支持更多的数据开放和传播.不仅不影响各平台自身的发展,还可在良性的平台资源竞争中促进平台自身的建设和完善,上线更优质的慕课服务.
整合后模型的应用,慕课发布者只要在一个平台发布服务,就可被学习者检索到,而不必在其他平台重复发布.慕课服务的充分展现[20]有效提高了慕课数据的访问率和利用率,同时,也对慕课的发布者提出了更高的要求和挑战,这从一定层面上鼓励和促进其提供更优质的慕课资源.如用户检索“数据结构”,会出现多个不同平台、由不同作者提供的该门课程,用户会从丰富的同类资源中择优选取.这将有效促进MOOC的长期竞争与发展.
用户对服务的检索到应用,都无需技术门槛,也无需安装客户端,通过构建一个MOOC统一检索平台,慕课检索者可以实现在多个MOOC 平台之间跨平台检索,这不仅在发现课程服务上提高了效率,而且对课程的查准率和查全率都有了大幅提高,更好地满足了学习者的检索需求,使客户有了更佳的体验.
客户端的检索实例只是简单的模拟实验,没有实现真正意义上的模型功能,但已展现出一定的优势,充分利用了慕课平台硬件资源和学习资源.慕课学习资源的有效整合是慕课长期发展的一个目标和方向.如果能从国家层面将所有的慕课平台资源都进行整合,统一规划,对广大学习者来说将是笔巨大的财富.此模型的研究既充分利用了云计算平台的虚拟化技术与云联盟模式的动态扩展性,又结合了SOA架构的垮平台、松散耦合性等特点,为慕课学习资源的有效整合提供了借鉴和参考.
云联盟与SOA的完美融合与集成具有巨大的发展潜力,但云联盟中的服务资源数量和服务的客户数量都众多,快速自动地实现服务调配和组合及使用过程中的安全性对云计算机联盟系统的管理提出了挑战,也对网络技术和更强壮的基础设施平台提出了更高的要求,这些都是进一步的研究中需要改善和解决的问题.