论文部分内容阅读
首都师范大学北京市 100037
摘要 针对目前在教学资源库建设过程中存在的系统开放性差、异构性差等问题提出基于Web Service的架构方案,采用面向服务架构方法,建立开放、可扩展的共享教学资源库,本方案对整合现有教学资源平台也有一定的参考意义。
关键词 教学资源库;XML;SOAP;Web服务
中图分类号:G434文件标识码:A 文章编号:1671-489X(2007)03-0036-03
Design of Education Resources System based on Web Service//Dong Xudong ,Ai Lun
Abstract This paper introduces Multimedia Resources Database System for Teaching Data Based on Web. It is mainly about the design of the architectonics of the system which is open, extendable, platform independent and more safer. This system is of certain value in application to the improvement and integration of current resources systems.
Key words educational resources system, XML, SOAP, web service
Author’s address Capital Normal University, Beijing100037
因特网上教育教学资源遍及全球,异常丰富,但面对来自传统资源的数字化处理、不同厂商不同结构资源库、因特网上教育门户网站、网校、学科资源站点以及数字图书馆等这些资源相对集中、结构各异、分散存储的教育教学资源,需要进行科学的组织管理,才能优化基于网络的教育教学资源服务[l]。另外,对于网络中的海量信息,教师和学生主要是通过在搜索引擎键入关键词的方式进行查找,然后再手工筛选返回的结果以从中获取所需的信息。上述不仅耗费大量的时间与精力,而且结果准确性差,对教师和学生的信息素质要求也很高。
1问题的定义
1.1教学资源库概念
本文中的教学资源是抽象层次上的教学资源,采用如下定义:教学资源是指经过数字化方式处理或者经过再加工和制作的、可以在计算机网络上运行的、能够展现相关知识节点内容的教学材料,它还能激发学生通过自主、合作、创造的方式来寻找和处理信息,从而促进网络教学活动的开展[2]. 这些教学资源以对象的形式保存在数据库中,同时将与数据库中关于资源属性的描述和评价信息关联。教学资源库指广义的资源库概念,它不仅包括教学资源存储功能,而且包括教学资源管理功能,教学资源访问功能,教学资源评价功能等,即广义上的教学资源共享和管理系统。
从多媒体教学资源的可移植性角度出发,知识是有粒度的.不同大小的知识粒度将对资源的可移植性带来不同的影响[3]。本文中的教学资源存取粒度为“单位文件对象”——即把每个完整并且独立的教学资源作为一个整体以文件对象的形式保存在数据库中。因为其存在于数据库中已被抽象为“资源”,所以其粒度问题对系统架构不会有直接影响系统,在具体实施中可由按具体情况处理,关于应如何控制教学资源存取粒度不是本文重点讨论的内容,本文不做过多论述。
1.2当前教学资源库系统的不足
在教育信息系统建设中各部门自行开发自己的系统,缺乏标准化、规范化和兼容性,信息资源难以共享,出现了一个个“信息孤岛”,与网络共享的基本要求背道而驰 [4] 。
目前流行的教学资源库系统存储方式多样,有以文件形式直接保存在存储设备上,有的保存在数据库中;有分布式存储的也有集中式存储的。操作系统绝大部分是Windows2000,也有少数的Linux 和Unix操作系统。由于在系统架构时的技术原因或者其它原因,目前的教学资源库系统在体系结构方面存在着一些不足,如:系统的开放性、可扩展性、互操作性上还不尽如人意等。
2Web 服务简介
Web服务被定义为一种新的Web应用程序,它是自包含、自描述和模块化的应用程序并且可以通过Web来发布、定位和调用。自包含意味着一个服务不应该依赖其他服务而存在,服务和服务之间是松散耦合的;自描述指服务本身提供描述自身的详细信息,如通信所需的数据类型、消息结构、传输协议等;模块化揭示了Web服务的内部实现仍然是基于对象和组件的。WEB服务就是以独立于平台的方式,通过标准的Web协议可以由程序访问的应用程序逻辑单元。WEB服务主要是由IT公司如IBM、Microsoft、HP及SUN等在INTERNET上定义或规范的一个开放的、面向WEB应用的标准。在这样的网格系统中,一切皆是服务,系统的功能单元或者是服务的提供者,或者是服务的消费者,体系结构参见图1所示。
1)可扩展性。系统采用了分层的架构模式,层与层之间通过接口方式传递信息,每一层只能调用下一层的功能,其它层是透明的,处于同一层的功能模块可以相互调用传递信息。这样就保证了系统的扩展性,在系统升级时可以重写某一层只要保证提供一致的接口而不必保证具体实现,这样就在保证系统一致性的前提下保证了系统的扩展性。
2)结果信息处理能力更强。关系数据库的信息处理仅限于语法信息的处理,而异构数据库的数据处理则需要在语义层次上进行。异构数据库的信息融合问题解决需要人工智能、语义识别等技术,目前这些技术很多都是以XML作为数据处理的基本格式。Web Service的输入输出则均是标准XML格式的数据,这就为异构数据库检索结果的处理提供了方便[5]。
3)二次开发接口系统在不同层次上提供Web服务接口,用户可以在自己的应用程序里调用这些接口从而把系统的服务嵌入到自己的应用系统里。同时目前的Web Service开发环境已经很成熟,如微软的Visual Studio.Net,Borland的Delphi, Java Builder, IBM的WebSphere,开源软件Eclipse,Netbeans 等,对于Web service 的应用开发已经变的越来越简单和快捷。
4)松散耦合 这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务实现的任何变更对他们来说都是透明的。
5)使用协约的规范性。这一特征从对象而来,但相比一般对象其界面更加规范化和易于机器理解。首先,作为Web服务,对象界面所提供的功能应当使用标准的描述语言来描述。其次,我们知道安全机制对于松散耦合的对象环境的重要性,因此需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,在所有层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。
6)使用标准协议规范。作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。一般而言,绝大多数规范将最终有W3C或OASIS作为最终版本的发布方和维护方。
7)高度可集成能力。由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。
8)开放性。Web Service可以与其他Web Service进行交互。它具有语言和平台无关性。支持CORBA、EJB、DCOM 等多种组件标准。支持各种通讯媒体如:HTTP、SMTP、MQ、FTP、RMI over IIOP等。
9)完好的封装性。Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他仅能看到该对象提供的功能列表。
3 系统体系结构
由图2可以看出本系统是分层的分布式体系结构,它的核心功能分布在两部分:一部分运行在资源控制主节点;另一部分运行在各个资源节点。主节点和各个子节点间通过Web Service相互调用传递信息。主控节点发出搜索请求前会在注册中心查询所有已注册的服务,并选择其中部分或全部子节点并把查询请求以SOAP消息体形式发送到子节点,各个子节点把查询结果返回给主节点,主节点再呈现给用户的浏览器或其它调用程序。各个子节点自行维护管理自己的资源,各个资源子节点可以动态地加入和注销其提供的服务,也就是说各个节点的注册信息由各个子节点自己维护。
根据图2可以看出,系统是一个开放的资源库平台,由于考虑到系统的安全性的原因,把Web Service接口服务部分集中放在了主控节点上实现,这样在一定程度上限制了子节点的开发性,在用户访问资源库时各个子节点其实是不可见的,用户只能感觉到主控节点提供的服务,对于其它访问系统的应用程序也是如此,对于子节点服务的调用必须通过主节点才能完成,这样便于管理用户身分、管理和限制用户的访问操作。
4 结论
Web services是一种描述操作接口的机制,通过标准化的XML来传递消息,通过网络来调用操作。它提供了一种与语言无关、平台无关的编程模式,能有效加速应用程序的集成过程。Web services使用标准的、规范的基于XML的WSDL语言描述,这称为Web Services的服务描述。这一描述囊括了与服务交互所需要的全部细节,包括消息格式、传输协议和位置。该接口隐藏了服务实现的细节,允许通过独立于服务实现、独立于硬件或软件平台、独立于编程序言的方式使用该服务。这使得基于Web services架构的应用程序具备松散耦合、面向组件和跨技术实现的等特点。
摘要 针对目前在教学资源库建设过程中存在的系统开放性差、异构性差等问题提出基于Web Service的架构方案,采用面向服务架构方法,建立开放、可扩展的共享教学资源库,本方案对整合现有教学资源平台也有一定的参考意义。
关键词 教学资源库;XML;SOAP;Web服务
中图分类号:G434文件标识码:A 文章编号:1671-489X(2007)03-0036-03
Design of Education Resources System based on Web Service//Dong Xudong ,Ai Lun
Abstract This paper introduces Multimedia Resources Database System for Teaching Data Based on Web. It is mainly about the design of the architectonics of the system which is open, extendable, platform independent and more safer. This system is of certain value in application to the improvement and integration of current resources systems.
Key words educational resources system, XML, SOAP, web service
Author’s address Capital Normal University, Beijing100037
因特网上教育教学资源遍及全球,异常丰富,但面对来自传统资源的数字化处理、不同厂商不同结构资源库、因特网上教育门户网站、网校、学科资源站点以及数字图书馆等这些资源相对集中、结构各异、分散存储的教育教学资源,需要进行科学的组织管理,才能优化基于网络的教育教学资源服务[l]。另外,对于网络中的海量信息,教师和学生主要是通过在搜索引擎键入关键词的方式进行查找,然后再手工筛选返回的结果以从中获取所需的信息。上述不仅耗费大量的时间与精力,而且结果准确性差,对教师和学生的信息素质要求也很高。
1问题的定义
1.1教学资源库概念
本文中的教学资源是抽象层次上的教学资源,采用如下定义:教学资源是指经过数字化方式处理或者经过再加工和制作的、可以在计算机网络上运行的、能够展现相关知识节点内容的教学材料,它还能激发学生通过自主、合作、创造的方式来寻找和处理信息,从而促进网络教学活动的开展[2]. 这些教学资源以对象的形式保存在数据库中,同时将与数据库中关于资源属性的描述和评价信息关联。教学资源库指广义的资源库概念,它不仅包括教学资源存储功能,而且包括教学资源管理功能,教学资源访问功能,教学资源评价功能等,即广义上的教学资源共享和管理系统。
从多媒体教学资源的可移植性角度出发,知识是有粒度的.不同大小的知识粒度将对资源的可移植性带来不同的影响[3]。本文中的教学资源存取粒度为“单位文件对象”——即把每个完整并且独立的教学资源作为一个整体以文件对象的形式保存在数据库中。因为其存在于数据库中已被抽象为“资源”,所以其粒度问题对系统架构不会有直接影响系统,在具体实施中可由按具体情况处理,关于应如何控制教学资源存取粒度不是本文重点讨论的内容,本文不做过多论述。
1.2当前教学资源库系统的不足
在教育信息系统建设中各部门自行开发自己的系统,缺乏标准化、规范化和兼容性,信息资源难以共享,出现了一个个“信息孤岛”,与网络共享的基本要求背道而驰 [4] 。
目前流行的教学资源库系统存储方式多样,有以文件形式直接保存在存储设备上,有的保存在数据库中;有分布式存储的也有集中式存储的。操作系统绝大部分是Windows2000,也有少数的Linux 和Unix操作系统。由于在系统架构时的技术原因或者其它原因,目前的教学资源库系统在体系结构方面存在着一些不足,如:系统的开放性、可扩展性、互操作性上还不尽如人意等。
2Web 服务简介
Web服务被定义为一种新的Web应用程序,它是自包含、自描述和模块化的应用程序并且可以通过Web来发布、定位和调用。自包含意味着一个服务不应该依赖其他服务而存在,服务和服务之间是松散耦合的;自描述指服务本身提供描述自身的详细信息,如通信所需的数据类型、消息结构、传输协议等;模块化揭示了Web服务的内部实现仍然是基于对象和组件的。WEB服务就是以独立于平台的方式,通过标准的Web协议可以由程序访问的应用程序逻辑单元。WEB服务主要是由IT公司如IBM、Microsoft、HP及SUN等在INTERNET上定义或规范的一个开放的、面向WEB应用的标准。在这样的网格系统中,一切皆是服务,系统的功能单元或者是服务的提供者,或者是服务的消费者,体系结构参见图1所示。
1)可扩展性。系统采用了分层的架构模式,层与层之间通过接口方式传递信息,每一层只能调用下一层的功能,其它层是透明的,处于同一层的功能模块可以相互调用传递信息。这样就保证了系统的扩展性,在系统升级时可以重写某一层只要保证提供一致的接口而不必保证具体实现,这样就在保证系统一致性的前提下保证了系统的扩展性。
2)结果信息处理能力更强。关系数据库的信息处理仅限于语法信息的处理,而异构数据库的数据处理则需要在语义层次上进行。异构数据库的信息融合问题解决需要人工智能、语义识别等技术,目前这些技术很多都是以XML作为数据处理的基本格式。Web Service的输入输出则均是标准XML格式的数据,这就为异构数据库检索结果的处理提供了方便[5]。
3)二次开发接口系统在不同层次上提供Web服务接口,用户可以在自己的应用程序里调用这些接口从而把系统的服务嵌入到自己的应用系统里。同时目前的Web Service开发环境已经很成熟,如微软的Visual Studio.Net,Borland的Delphi, Java Builder, IBM的WebSphere,开源软件Eclipse,Netbeans 等,对于Web service 的应用开发已经变的越来越简单和快捷。
4)松散耦合 这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要Web服务的调用界面不变,Web服务实现的任何变更对他们来说都是透明的。
5)使用协约的规范性。这一特征从对象而来,但相比一般对象其界面更加规范化和易于机器理解。首先,作为Web服务,对象界面所提供的功能应当使用标准的描述语言来描述。其次,我们知道安全机制对于松散耦合的对象环境的重要性,因此需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,在所有层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。
6)使用标准协议规范。作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。一般而言,绝大多数规范将最终有W3C或OASIS作为最终版本的发布方和维护方。
7)高度可集成能力。由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。
8)开放性。Web Service可以与其他Web Service进行交互。它具有语言和平台无关性。支持CORBA、EJB、DCOM 等多种组件标准。支持各种通讯媒体如:HTTP、SMTP、MQ、FTP、RMI over IIOP等。
9)完好的封装性。Web服务既然是一种部署在Web上的对象,自然具备对象的良好封装性,对于使用者而言,他仅能看到该对象提供的功能列表。
3 系统体系结构
由图2可以看出本系统是分层的分布式体系结构,它的核心功能分布在两部分:一部分运行在资源控制主节点;另一部分运行在各个资源节点。主节点和各个子节点间通过Web Service相互调用传递信息。主控节点发出搜索请求前会在注册中心查询所有已注册的服务,并选择其中部分或全部子节点并把查询请求以SOAP消息体形式发送到子节点,各个子节点把查询结果返回给主节点,主节点再呈现给用户的浏览器或其它调用程序。各个子节点自行维护管理自己的资源,各个资源子节点可以动态地加入和注销其提供的服务,也就是说各个节点的注册信息由各个子节点自己维护。
根据图2可以看出,系统是一个开放的资源库平台,由于考虑到系统的安全性的原因,把Web Service接口服务部分集中放在了主控节点上实现,这样在一定程度上限制了子节点的开发性,在用户访问资源库时各个子节点其实是不可见的,用户只能感觉到主控节点提供的服务,对于其它访问系统的应用程序也是如此,对于子节点服务的调用必须通过主节点才能完成,这样便于管理用户身分、管理和限制用户的访问操作。
4 结论
Web services是一种描述操作接口的机制,通过标准化的XML来传递消息,通过网络来调用操作。它提供了一种与语言无关、平台无关的编程模式,能有效加速应用程序的集成过程。Web services使用标准的、规范的基于XML的WSDL语言描述,这称为Web Services的服务描述。这一描述囊括了与服务交互所需要的全部细节,包括消息格式、传输协议和位置。该接口隐藏了服务实现的细节,允许通过独立于服务实现、独立于硬件或软件平台、独立于编程序言的方式使用该服务。这使得基于Web services架构的应用程序具备松散耦合、面向组件和跨技术实现的等特点。