您好, 访客   登录/注册

基于SOA的网络教学平台实现研究

来源:用户上传      作者: 王俊松

  摘要:网络教学资源是开展网络教育的前提和基础,随着网络教育的逐步拓展,网络教学资源越来越丰富,教学资源的有效管理成为开展网络教育的关键。相对独立、互为孤岛的网络资源需要一个跨平台、松散耦合公共平台进行有效整合。面向服务的软件架构(Service Oriented Architecture,SOA)作为一种新的软件架构方式,可以方便的实现多个应用系统的集成,从而提高软件的复用性和灵活性。该文讨论基于SOA的网络教学平台软件架构的设计与实现。
  关键词:网络教学平台;SOA;软件架构
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2011)35-0000-0c
  
  SOA Based Network Teaching Platform Research
  WANG Jun-song
   (Nanjing College of Information Technology, Nanjing 210046,China)
  Abstract:The network teaching resources is the premise and basis of developing network education. With the development of Internet Education, network resources becomes more and more. The effective management of teaching resources becomes crucial in developing network education. Relatively independent of each other, island of cyber source requires a cross platform, loosely coupled public platform for effective integration. Service Oriented Architecture ( Service Oriented Architecture, SOA ) as a new software architecture style, can facilitate the realization of multiple application systems integration, so as to improve the reusability and flexibility of software. This paper discusses the network teaching platform based on SOA software architecture design and implementation.
  Key words: network teaching platform; SOA; software architecture
  网络技术的飞速发展与完善,为教育资源大规模开放共享提供了一个高效的舞台,目前,世界各国都在充分利用网络优势,加强网络教学资源的建设与共享。我国从2003年开始各类精品课程建设,各级各类培训机构针对各自培训领域发布网络资源和网络学习平台,各个企业针对内部开发业务培训系统,然而各类资源目前仍然处在相对独立,重复性建设上。如何有效的整合、共享现有教学资源,确保教育信息化建设理性、有序、健康发展,已成为教育机构研究的重要课题。SOA从技术上保证了资源的有效整合的可能性。
  1 SOA技术
  SOA是整合现有资源实现新系统的架构方式,服务发布方通常作为一个组件完成一项功能,服务调用方调用组件完成业务流程,调用过程可能使服务发布方或者服务调用方发生状态变化。SOA可以看做是服务的集合,多个服务协作完成业务过程,过程中服务间可以通信。服务本身是需要给出精确的定义,封装在一个组件中,并且对外通过统一的接口发布,调用者正是通过这些接口来调用服务的。
  SOA将服务封装成API,这些API作为可重用的组件应用于不同的系统中。对于使用者来说,服务组件的实现流程并不重用,相同的请求使用者需要得到确定的、一致的结果。所以需要定义一个统一的协议来完成服务组件的创建过程和调用过程。Web Service技术是SOA的具体实现方式之一,Web Service技术就是通过WSDL和SOAP协议来分别完成对外接口协议和调用协议的统一。WSDL(Web Services Description Language的缩写),是一种XML格式的描述语言,用来描述一个具体的Web Service,以及如何访问这个Web Service. SOAP(Simple Object Access Protocol,简单对象访问协议),它定义了一个基于XML的轻量级的框架,用来设计如何在Web环境下交换结构化或者是固定的信息。
  SOA有如下特征:访问的位置透明性。网络访问端不必关心服务的具体位置,只要查找到该服务的访问入口,就可以直接访问,这个特征使得服务调用者像调用本地类一样去调用服务。服务的高可用性。因为对服务的调用是以黑盒的形式完成的,调用者不必关心服务组件的具体实现和变化,所以必须保证该服务的高可用性,从而保证系统的可用性。服务组件粒度粗。通常的软件组件封装了一个独立的函数,而服务组件通常封装了独立的业务功能。但是这个粒度的大小本身也需要有合适的尺度,因为粒度越粗,复用性越差,所以服务组件在封装时需要以合适的大小出现。独立性强。SOA的最大的特征是服务组件是相对独立的,不同的服务组件之间,服务提供者与服务调用者之间不存在依赖关系。这种高度的独立性也保证了SOA组件的高度复用性。
  2 基于SOA架构的网络教学平台设计
  基于SOA的网络教学平台的构建首先需要根据需求定义建立系统模型,从而确立系统构建过程中的边界,并识别组件。基于SOA架构本身的目的是对原有系统的复用,在确定系统业务流程后,就可以确定需要哪些外部组件提供相应的业务功能。在确定业务流程的过程中,可以对实际发生的活动进行记录,并且在记录的过程中对流程进行优化。识别的组件可以放进特殊的组件库中等待复用,业务功能没有现成的组件则需要重新开放并封装成服务组件。所以系统建模的过程中最关键点是识别并应用现有组件。具体到基于SOA的网络教学平台构建中,我们需要抽取现有资源,包括本地教学资源库内容已经网络可用资源库内容,并且把它们封装成独立的服务组件。
  
  图1 基于SOA架构的网络教学平台系统架构
  基于SOA的网络教学系统平台从低到高可以分为以下几个层次:数据库层,业务模型层,服务层,控制层和视图层。
  1)数据访问层:负责以统一的形式对数据库访问,数据访问层向下面向的可能使主流的关系数据库系统,或者是文件系统,但是向上必须封装成统一的访问方式。这里要特别指出的是,对于服务组件本身可能会访问到其他的数据存储。
  2)业务组件层:是对原有系统的抽取,将原有系统的功能抽取成面向服务的组件,并且将这些组件统一收到组件库中。业务组件层是对原有系统的重用,如何辨识并封装业务组件是难点。业务流程的处理过程对其他层来说是黑箱操作,接受服务层的请求,并返回最终的处理结果。业务组件层和服务层是系统的核心。

  3)服务层,是对业务组件层的再封装,向上以服务的形式以供调用。服务层向下调用业务组件层的组件。服务层是整个系统的核心,系统的业务功能通过调用服务层组件完成。
  4)控制层(Controller),控制层用来接收视图层的用户请求,并调用服务层组件完成相应功能,并将结果发送给视图层。
  5)视图层,完成系统与用户的交互,用户可以通过试图发送请求,最终结果通过视图层显示。每个层次的关系是上层依赖于下一层,而下一层减少对上层的依赖。
  3 基于SOA架构的网络教学平台实现
  1)服务提供者:服务提供者是指提供服务组件的一方。业务功能和数据将以服务的形式呈现,比如在基于SOA架构的网络教学平台中,将“网络教学系统A”的在线考评功能、“网络教学系统B”的视频讲解功能、“网络教学系统C”的在线讨论功能分别封装成Web服务并向外展示。服务消费者可以通过统一的接口来访问这些Web服务。
  2)服务消费者:服务消费者通过统一入口查找定位某个服务,然后可以调用该服务。服务消费者是对已有Web服务的集成,通过将已有Web服务集成到现有系统中完成相应功能。基于SOA的网络教学平台是总的服务消费者的角色,系统中服务提供者本身也可能是服务消费者,也就是服务的调用可以是嵌套的。
  3)服务注册中心:所有的服务必须先注册才能被查找和调用。服务提供者在开发Web服务时除了封装业务功能外,还必须在服务注册中心发布此Web服务。完成这个功能需要用到WDSL。在服务调用期间,服务消费者在服务注册中心查找到目标服务并绑定。此外,服务消费者还可以通过本地文件,FTP站点,WEB站点查找到目标服务。UDDI是一套基于Web的,为Web服务提供信息注册的标准规范。UDDI是建立在现有的XML和SOAP的基础之上的。
  基于SOA的网络教学平台中将所有的抽取除了的Web服务先统一注册到UDDI,以便于查找和绑定和调用。例如上面提到的将“网络教学系统A”的在线考评服务、“网络教学系统B”的视频服务、“网络教学系统C”的在线讨论服务先注册到UDDI,然后网络教学平台就可以查找并绑定了。
  考虑到统一信息化平台的要求,系统采用基于WEB的企业分布式应用规范― J2EE架构开发。开发工具使用WebSphere Studio ApplicationDeveloper 5.0,此工具是IBM 为适应现代WEB分布式应用及J2EE 技术开发的一个改良产品,在原有Visual Age For Java和WebSphere Studio的基础上改进而成的新一代开发工具,对于开发J2EE应用有很好的性能。根据现有系统的部署方式,确定了基于SOA架构的网络教学平台的架构体系包括了AD域服务器、数据库服务器、认证服务器和应用服务器。
  4 结论
  本网络教学平台经过测试,各服务组件可以正常运行,系统不但具有编码灵活、支持多种客户类型、更易维护、更好地伸缩性、更高的可用性等SOA所特有的优点,而且由于采用Web Service核心处理模块对数据进行增、删、改、查的操作,增加了平台的灵活性和易用性。
  
  参考文献:
  [1] Norvert Bieberstein,SANJAY BOSE.Service-Oriented Architecture (SOA) Compass Business Value,Planning, and Enterprise Roadmap [M].张宁译.北京:人民邮电出版社,2008:12-16.
  [2] 王子瑶,南俊杰,段紫辉,等.SOA核心技术及应用[M].北京:电子工业出版社,2008,5.
  [3] 毛新生.SOA原理、方法、实践[M].北京:电子工业出版社,2007.
  [4] 柴晓路.Web服务架构与开放互操作技术[M].北京:清华大学出版社,2002.
  [5] 叶宇风.基于SOA的企业应用集成研究[J].微电子学与计算机,2006,2(5):211-213.
  [6] 刘伯超,马晓轩,葛声.基于Web服务的软件服务体系结构的研究与实现[J].北京航空航天大学学报,2004,30(3):263-266.
  [7] 程旷,张尧弼.协同办公平台项目实施的解决方案[J].计算机工程,2005,31(13):223-225.
  [8] 房鼎益.一个基于SOA的大型分布式计算机辅助教学系统[J].计算机应用与软件,2005(10):130-132.


转载注明来源:https://www.xzbu.com/8/view-44070.htm