返回首页

浅谈Web服务的教育系统集成

时间:2011-03-10 15:54来源:知行网www.zhixing123.cn 编辑:麦田守望者

随着信息化教育的不断发展,教育资源的建设越来越受到重视。各学校和教育软件企业纷纷开发或购买适合自己的资源库系统。这些资源库系统对开发对象的资源起到了很好的管理作用,但是普遍存在着重视开发而轻视应用的倾向在网络资源的共建共享上,重视资源的自我开发和本校资源的使用,轻视资源的共建共享。同时由于现有的系统由各种各样不同的语言写成,软件系统之间互不兼容,形成了一个一个的“信息孤岛” [1]。各学校拥有大量宝贵的资源而没有得到高效利用,资源难以共享。为消除孤岛现象,做到资源共享,优势互补、避免重复开发,节省人力、财力,迫切需要能够使用户共享、访问异构资源库的集成解决方案,以期在最大范围内实现教育资源的共享和互访。
  本文通过对 Web services 的体系架构和技术组成等方面的研究,以及对现有集成模式的分析,结合Web services 技术的具体特点,提出了基于Web services 的教育系统集成框架模型。通过引入XML 技术,将XML 技术与全局数据模式相结合可以使异构数据源集成的中间件系统能更好地适应于开放发展环境.Web 服务在针对松散耦合、可重用、面向组件的特性要求下被理解成目前异构平台数据最好的技术模型.而XML 是Web Services 核心,为WebServices 的实现提供了技术基础[3]。
  2.Web Services 相关技术
  Web 服务主要目标是在现有的各种异构平台的基础上构筑一个通用的与平台无关的、与语言无关的技术层,各种不同平台上的应用依靠这个技术层来进行彼此的连接和集成。Web服务作为一个应用程序,它向外部提供一个能够通过Web 进行调用的API,客户端能够用编程的方法通过Web 来调用这个应用程序。它适用于通过Web 进行客户端和服务器端通信,以及应用程序集成、代码和数据的重用等场合。web 服务并不是一个纯新的技术,它是建立在现有的技术和规范的基础上的一个标准,如HTTP、XML、SOAP、WSDL、UDDI 等标准。它是下一代分布式系统的核心。
  2.1 简单对象访问协议:SOAP
  简单对象访问协议(SOAP)定义了一个标准,该标准为通过网络在应用程序间传输XML数据封装格式。SOAP 并不专门针对某一编程语言、产品或硬件平台,所以任何应用程序均可以使用它。SOAP 以XML 形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制[6]。一个SOAP 消息实际上是一个XML 文档,专门用于包含和传输其他XML 文档以及与路由、处理、安全性、事务处理和其他服务相关的信息。
  SOAP 协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML 的协议,它包括四个部分:(1)SOAP 封装(envelope),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架,(2)SOAP 编码规则(encoding rules)用于表示应用程序需要使用的数据类型的实例,(3)SOAP RPC 表示(RPCrepresentation),表示远程过程调用和应答的协议,(4)SOAP 绑定(binding),使用底层协议交换信息。
  2.2 Web 服务描述语言:WSDL
  Web 服务描述语言WSDL 是一个标准,用于描述使用SOAP 在两个系统间交换的XML数据的结构。在创建新的Web 服务时,用户也可以创建用于描述所交换数据类型的WSDL文档。WSDL 以XML 为基础,用于描述可以在Web 服务客户端与服务器之间传输的SOAP消息。
  Web service 描述语言(WSDL)就是这样一个基于XML的语言,用于描述Web service 及其函数、参数和返回值[6]。一个WSDL 文档将服务定义为一个网络端点的集合,或者说端口的集合。在WSDL 里面,端点及消息的抽象定义与它们具体的网络实现和数据格式绑定是分离的。这样就可以重用这些抽象定义:消息,需要交换的数据的抽象描述;端口类型,操作的抽象集合。针对一个特定端口类型的具体协议和数据格式规范构成一个可重用的绑定。
  一个端口定义成网络地址和可重用的绑定的联接,端口的集合定义为服务。
  2.3 通用描述、发现和集成:UDDI
  通用描述、发现和集成UDDI 定义了一套标准的Web 服务操作方法,用于存储、查找有关其他Web 服务应用程序方面的信息。UDDI 为Web 注册表定义了一个基于SOAP 的标准接口,用户可以用UDDI 注册表查找特殊类型的Web 服务,或查找由指定机构提供的Web服务。
  UDDI 是在Microsoft 的DISCO(Discovery of Web Services)和IBM 的ADS(Advertisementand Discovery of Services)的基础上发展而来,它定义在xml 和soap 之上的一个层次,提供了一种让客户端动态发布和查找Web Service 的机制[6]。UDDI 计划的核心组件是UDDI 商业注册(UDDI business registrations),它使用一个XML 文档来描述企业及其提供的web 服务信息。
  通过使用 UDDI 的发现服务,企业可以单独注册那些希望被别的企业发现的自身提供的web 服务。企业可以通过UDDI 商业注册中心的界面,或使用实现了“UDDI programmer,s API标准”所描述的编程接口的工具,将信息加入到的UDDI 商业注册中心。当一个企业在UDDI商业注册中心的一个实例中实施注册后,其注册信息会被自动复制到其他UDDI 根节点,数据自动与其他UDDI 根节点共享,并且可以为任何需要了解某个特定企业所提供的网络服务的人自由使用。
  2.4 XML
  可扩展标记语言XML 是一种由规范定义的元语言,即用于定义其他语言的语言。它是W3C 推荐的Web 上的数据表示和交换标准,和HTML 一样是SGML 的一个子集。XML 是其他Web 服务技术的基础,拥有简单、可扩展、开放和跨平台等特点。
  XML 涉及的主要技术:
  (1)XML 名称空间。XML 名称空间将XML 文档内容和引用通过资源标识符(universalresource identifier,简称URI)的名称空间相结合,来限定其中的元素和属性名。这些名称由URI 的引用唯一标识,在XML 文档中用作元素类型和属性名称。
  (2)XML 模式。XML schema 是一个全面的有效性约束机制,其目的是定义和描述一类XML 文档,使用标记约束和说明各个组成部分的含义、用法和关系,包括数据类型、元素及其内容、实体及其内容等,使XML 处理器更好地进行有效性检验。
  (3)XML 的处理。由于XML 文档实际上就是一个文本文件,因此必须要有一个能够识别XML 文档中信息的文本文件阅读器—XML 语法分析器,用来解释XML 文档并提取其中的内容。对XML 文档的处理,有两种标准的应用程序接口:文档对象模型(document objectmodel,简称DOM)和XML 简单应用程序接口(simple API for XML,简称SAX)。
  3.基于Web 服务的教育系统集成研究
  Microsoft.NET 与J2EE 是目前企业web 服务平台市场的两个最重要的应用框架。J2EE和.NET 在很多方面都具有相似的优秀特征。然而,在目前情况下,选择J2EE 是一个较为稳妥的方案。因为J2EE 可以支持较多的平台,J2EE 得到较多厂商的支持并且经过实践检验证明比较成熟。而.NET 仅有微软支持并且尚未完全完成。所以本文决定使用J2EE 平台技术实现基于Web 服务的系统集成:
  者使用。该集成框架中,集成引擎通过接口将各类应用系统的功能封装成Web 服务,并发布到注册中心,可通过接口调用相应的应用。使用这种松散耦合的方式,提供了连接各类不同教育系统应用的有效手段。这样,任何应用都可以调用对应的接口连接到系统中来,便捷高效,具有很强的灵活性和扩展性。系统可以是开发完成的遗留系统,也可以是新开发的基于Web 服务的系统。如果是遗留系统,集成前首先将该系统需要暴露出来的应用功能封装成为Web 服务组件,通过定义相应的方法接口,并生成对该系统功能的描述即WSDL 文件,然后编写服务器端的基于SOAP 的服务程序,开发出适合的适配器,最后将服务描述文件通过UDDI API 发布到教育服务注册中心。新系统的开发是使用Web 服务技术,可以直接使用。
  在这样的架构下,实现Web 服务包括工作流,数据传输,业务逻辑以及数据访问。这些功能是隐藏在Web 服务后,并且为客户端工作的。在进入Web 服务之前,把传送进来的XML 数据转换成自己的服务能够方便处理的格式,然后在把处理结果转换成XML 格式返回给客户。因此需要一个强壮的机制来解析XML 文件,绑定到Java 对象,生成XML 文件,并且传送各种不同的XML 格式文件。利用Java API for XML Parsing(JAPX)和Java API forXML Binding(JAXB)把Java 数据转换成易于自己处理的格式。
  这个系统后台可能包括一个或多个数据库,教育系统,业务合作伙伴以及在多个系统中共享的数据。一般来说,UDDI 用来注册Web 服务,WSDL 用来描述web 服务,SOAP 和XML 技术保证通信服务。结合使用Java 标准API 和J2EE Web 服务架构,就可以建立强大的跨平台的系统。
  4.结语
  目前教育系统中还存在许多问题,如:①资源共享和互操作性不够完善,教育资源的共享还停留在低水平上;②大部分教育系统只能做为学习信息的提供站,而缺乏适当的导引机制,容易使学生在网络的海量信息中迷失方向;③不同的教育系统之间互不兼容;④教育系统中的工具不能被其它系统利用等等。本文将Web services 技术应用到教育系统集成的实现中,解决了长期以来教育系统独立使用、无法共享的现状。

------分隔线----------------------------
标签(Tag):教育系统
------分隔线----------------------------
推荐内容
猜你感兴趣