基于面向服务构架在线学习系统模块整合.docVIP

基于面向服务构架在线学习系统模块整合.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于面向服务构架在线学习系统模块整合

基于面向服务构架在线学习系统模块整合【摘要】文章分析了软件整合的需求和面向服务构架的特点,论述了如何使用基于面向服务构架的方法对软件进行模块级别的整合,以达到模块重用和降低开发成本的目标;并通过在Moodle的资源页面中嵌入简单的代码调用另一平台的评分模块服务,提供了面向服务构架的整合实例。 【关键词】软件整合;面向服务构架;学习管理系统;Web服务 【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097(2009)08―0102―03 一 整合问题的产生 现代社会对软件的需求不断提高,单个的复杂系统所消耗的人力和物力资源急剧上升。为了对付持续改变的需求,软件变得越来越复杂,而软件使用者和开发者的持续投入,使得软件的成本越来越高。在这样的背景下,软件整合,即用多个小系统的整合来代替一个超级复杂的单一系统的方法逐渐受到人们的重视[1]。 在上海师范大学教育技术系实施的“现代教育技术网络课程平台”项目中就遇到了这种情况。在有限的经费投入下,项目使用开源的学习管理系统Moodle在构建了一个在线学习平台,Moodle能够满足我们大部分的需求,包括课程管理、用户管理、资源管理、在线测试和使用报告等。但在用户需求中有一条在Moodle的核心组件没有提供,即对课程资源的投票评价功能(如图1),项目要求能够让用户对资源进行无记名的评分,然后提交结果,同时会看到总体的评分情况。 这个功能在另一套成熟资源库平台中,已有现成的功能模块。但是这个资源库并不是用PHP来实现的,而是使用ASP.NET实现的。如果按照Moodle的模块设计接口,没有办法直接将已有的ASP.NET的模块嵌入Moodle[2]。因此需要寻找一种能够重复使用既有代码又能在两个系统中保持松耦合关联的方法,让 Moodle能够完全调用原有的ASP.NET的模块,只增加少量的PHP代码来实现整合工作。并且新增加的功能不影响原系统的稳定性,即便新功能失效也不影响系统的运行。在研究各种整合方法后,我们选择了面向服务的整合框架。 二 面向服务的整合思路 1 面向服务的特点 整合的基础是建立系统之间的对话机制,面向服务的构架提供了一种基于消息的对话机制。基于消息的模式通过传递数据块来实现关联,这些数据块与原系统的运行逻辑无关,这样的数据块统称称作“消息”[3],如图2。 图2中网络右侧是服务提供者,它通过接口的形式暴露在网络上,并使用标准的服务描述语言进行描述(如WSDL)。网络左侧的使用者通过接口和描述服务的本地代理来访问服务。在调用过程中,网络上传递的就是消息。消息的格式可以是任意的,由设计和开发者创建。在这里采用的是标准的SOAP协议提供的XML格式的消息。在接口的背后,服务的具体实现和调用的具体技术与接口定义是无关的,只要接口返回的是协商好的消息格式即可[4]。为了最大限度的利用现有的应用程序功能组件,这里将原来的应用组件以WebService的标准方式进行接口封装,并发布在服务器上。 2 整合实例结构 这里所碰到的整合问题是一个典型的异构技术平台的整合问题。Moodle使用的是PHP,而另一个评分模块是运行在ASP.NET上的,PHP不能直接调用ASP.NET平台的组件。使用标准的Web Service则可以解决这个调用问题。图3的结构解释了这个整合的框架。 图3中,我们将原来系统中的Rating模块利用ASP.NET重新进行Web Service的封装,使用标准的接口暴露Rating模块中的投票评价方法。RatingDAL为原系统中负责评分功能的数据层组件。这里仅通过增加服务层组件RatingService对其进行方法的调用,不改变它原有的接口。因为没有对原来的Rating模块作修改,因此不会引起原系统的运行问题。而Moodle中的资源页面作为服务的消费者,可通过标准的SOAP访问RatingService[5]。图3中的RatingService将作为一个独立的服务存在,可以被除Moodle以外的其它程序调用。原来使用RatingDAL组件的模块也可以通过RatingService进行调用。在这个构架中,两个平台所使用的技术不再是主要的矛盾了。 三 技术实现 1 Web服务的封装和发布 在服务实现上,考虑到PHP的交互,我们选择了使用ASP.省略/”)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class RatingService : System.Web.Services.WebService { [WebMethod] //对

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档