APP下载

基于XML/SOAP的校园信息共享方案的研究与设计

2009-10-13

现代情报 2009年7期

杜 娟

〔摘 要〕研究了使用XML结合SOAP、WSDL等技术解决校园信息化建设中数据重复和信息孤岛等问题的方案。首先进行数据建模,将校园异构系统信息表述为标准的XML格式,通过SOAP封装、WSDL描述实现对信息的请求、响应和传输,解决校园分布式环境下数据格式不一致的难题,实现异构系统之间的通讯,实现的资源共享。

〔关键词〕可扩展标记语言;简单对象访问协议;Web服务描述语言;统一描述、发现和集成

〔中图分类号〕G203 〔文献标识码〕A 〔文章编号〕1008-0821(2009)07-0076-03

Research and Design on the Campus Information

Shared Scheme Based on XML/SOAPDu Juan

(College of Economy and Management,Southwest University of Science and Technology,Mianyang 621010,China)

〔Abstract〕This paper studied the scheme that solved the problems of data repetition and isolated information island in the campus information construction using XML and SOAP,WSDL and other Web services technology.First,set data modeling,described the campus heterogeneous systems information to standard XML format,then realized the request,response and transmission of information through SOAP packaging and WSDL description,solved the difficult problem of inconsistent data formats in campus distributed environment,realized the communications of heterogeneous systems,realized resources sharing.

〔Key words〕XML;SOAP;WSDL;UDDI

现阶段高校内部教学、科研、办公、管理等各方面事务都逐渐从单纯的手工、文档管理方式向信息化、系统化管理发展。然而,在实现多个基于本地数据库的信息管理系统的同时,出现了信息重复、资源浪费、交互困难的情况,随之而来的还有信息不同步、形成资源孤岛等问题。

以XML作为信息存储和交换的格式,可以很好的解决校园中存在的“信息孤岛”问题,实现不同系统之间的集成与交互以及异构数据库间的数据共享。XML不仅提供具有意义的数据,也提供了验证的方式(XML Schema),使得程序能轻易地获得内容,并能够彻底地完成内容数据和表达方式的分离。将XML作为标准的信息表示格式,同时利用基于XML的开放的数据接口和分布式数据管理能力,实现对跨平台、各种异构数据库的统一数据交换和管理,实现数据在全校部门、学院之间顺畅的流通。数据交换的核心问题是信息的标准化,主要解决信息的可理解性问题,包括人和机器对信息的理解,最重要的是机器对信息的识别,并能根据数据进行自动处理。XML为信息的标准化提供了有力的工具。在校园信息平台中,各部门、学院之间使用XML作为数据交换的统一格式,用XML统一表示来自不同数据源的数据,可以实现系统间的数据交换,实现信息共享[4]。

其次,还必须有一种方法来进行消息的传递。基于XML的简单对象访问协议SOAP可以和任何的传输协议联合使用,可以方便地穿越防火墙,面向服务体系结构中的发布、查找和绑定操作都可以得到SOAP的支持。将SOAP+HTTP应用于校园分布式信息平台中,实现对校园分布式环境中XML格式的数据的封装和传输,进而实现部门之间的便利信息交互。另外,使用WSDL来描述Web服务,对服务的实现和接口进行标准化的定义,为部门、学院之间的服务调用提供具体的方法。

1 数据建模

在XML的项目中,首先应该创建标准的数据格式。为此我们首先要考虑在本校园分布式信息平台的开发模块中涉及到哪些数据,定义描述数据交换中所涉及事实的数据模型。具有高置信度的模型一旦被创建,数据模型便可以转换成为schema,然后才能继续开展以后的工作。

首先,让我们对校园信息化建设中的“党建”、“人事”信息进行数据分析。学校的“党建”管理工作的目的在于管理全校党员的党建信息,其中的党建信息涉及到很多数据项。通过走访和调查,经过分析和整理,得到“党建”管理模块的数据逻辑结构,其中包括姓名、所在支部、申请入党时间、党校学习情况、入党时间、转正时间等数据项。同理,“人事”管理模块的数据逻辑结构包括编号、姓名、性别、出生年月、参加工作时间、职称、学历等数据项,如图1所示。

接下来,为了可以结构化地定义有关数据,需要对以上两个模块进行数据建模。一般来说,就是定义Schema文件,在定义了Schema后,所有的数据都将按照这个Schema来组织和检查。XML Schema是一种控制文档结构的方法,使用XML语法,具有XML的特点。作为XML语言的主要模块,Schema对标识的标准化模式起着极其重要的作用。因为模式在发送者和接收者之间规定了强制性的协议,有利于文档之间的信息交流,而且可以在不同的群体之间共享,使得在不同的应用程序间创建、管理和处理相同的文件变得容易,共享数据模式极大地简化了XML词汇的创建和维护,提高了数据的可靠性[5]。

在开发过程中,我们采用Axis这个Soap引擎来实现对数据的建模:

首先在服务提供方开发Java接口和类,然后使用Axis中的Java2WSDL工具从Java接口和类创建WSDL,WSDL中的types元素描述了数据的Schema。数据项信息体现在定义的Java类中,该类的编写符合JavaBean的规范,简单地说就是通过get/set方法来定义数据项。例如,组织部定义“党建”模块的Java类:

public class Dangjian implements java.io.Serializable{

private java.lang.String JPTime;∥定义“入党时间”

……

public java.lang.String getJPTime(){

? return JPTime;}

public void setJPTime(java.lang.String JPTime){

? this.JPTime=JPTime;}

……}

同时,把方法的参数和返回值数据类型设为对象,比如提供一个接口用来发送短信息,那么希望接口的参数是一个消息对象,这个消息对象封装了一条信息的所有内容包括发送者、接收者、发送时间、信息内容等等。因为如果把每个内容都做成一个参数,那这个接口的参数可能会非常的多,因此封装成对象是很有必要的。Axis要求复杂类型对象的编写必须符合JavaBean的规范,就是对象的属性是通过get/set方法来访问的。