基于XML方式数据转换的校园网络公共数据服务中心系统的设计


    摘要:文章提出将校园网络中异构系统的信息资源通过XML方式进行数据交换,以保证对各异构系统原有的访问与完整性,并通过建立一个公共服务的平台,以增加公共用户的统一访问方式。
 
    关键词:XML方式;
异构系统;
公共数据服务
 
    一、引言
 
    随着信息技术、网络技术的飞速发展,校园网络的基础环境日趋完善成熟,校园内可以接入互联网的计算机的数量已经达到了相当的规模,硬件基础已经完全能满足信息化的需要。因而,高校为建设数字化校园,满足当前教育信息化的需要,校园网络各种信息应用越来越广泛,涉及到校园的办公自动化、学生管理、财务管理、资产管理、人事管理、教务管理等等,各种原始档案、图书文本文档资源被逐步的数字化、网络化,高校已经开始在传统校园的基础上形成了一个数字空间。然而,在数字化校园的建设中,各种应用信息系统建设的时间上的不一致性,信息资源库应用软件不一致,数据标准的不一致。尤其是一些早期应用系统的独立性、协同效率低,网络最大优势共享交换无法得到充分发挥,不可避免地出现了很多的数据孤岛。
 
    基于以上问题,鉴于各种应用系统中一般采用database、ldap方式存储数据,为了实现数据的充分共享交换,必须采用一个通用标准的数据格式,适用绝大部分的应用系统的数据进行转换,转换后建立一个公共数据服务中心,以便需要数据的访问方能够获取,来实现协同交流方式,达到校园网络的信息资源的整合,破除校园信息资源的数据孤岛。
 
    二、系统设计
 
    为了解决校园网络中异构环境下各种孤立数据的交换共享,构建一个以XML为中间数据格式,集数据抽取、数据转换、数据传输、数据同步等功能为一体的数据交换系统。它的主要目标是为用户提供跨网络跨系统的互操作机制,消除高校各应用系统数据库之间的异构性,实现于数据库、操作系统无关的数据共享交换,建立公共数据服务中心。整个系统包含各应用系统业务数据信息库、xml格式中间数据、公共数据中心、公共数据中心公共服务、应用系统本地服务、xml与库数据的转换java中间件。系统设计基本结构如图1所示:
 
    三、采用技术
 
    (一)XML
 
    XML是Extensible Markup Language的缩写,是一种数据描述语言,它以一种开放的自我描述方式定义数据结构,在描述数据内容的同时能突出对结构的描述,从而体现出数据之间的关系。XML具有以下特点:具有自描述性、具有灵活性、数据模型的内容具有独立性、具有可扩展性、结构性强、可格式化、交互性好、具有极强的链接能力、易于处理、与平台无关。
 
    XML不仅存储数据,而且定义数据的结构,并且这一数据及其结构不是基于二进制的、只能由程序进行解释的代码,而是简单的、可以用任何编辑器读取的文本,能够使数据以精确的、可供人和机器分析再加工的形式向外界提供,解决网络中跨系统的数据交换问题。另外,XML技术由包括XML,XMLSchema,XPath以及XQuery 在内的一系列规范组成,这些技术规范为数据交换中存储、处理和操作XML数据提供了支持。
 
    (二)XSLT
 
    XSLT是扩展样式表转换语言(Extensible Stylesheet Language Transformations)的简称,这是一种对XML文档进行转化的语言,XSLT中的T代表英语中的“转换”(transformation)。它是XSL(Extensible stylesheet language)规范的一部分。XSL规范的另外一部分是XSL-FO(FO代表格式化对象Formatting Objects)。XSLT是把XML文档转化为另一文档的转换语言,即将源文档的所有数据或者部分数据,利用XPath进行选择,生成另外的XML文档或者其他可直接显示或打印的文件格式(如HTML文件、RTF文件或者TeX文件)。XSLT语言是声明性的语言,即XSLT程序本身只是包含了一些转换规则的文档。而这些规则可以被递归地应用到转换过程中。XSLT处理程序会首先确定使用XSLT中的哪些规则,然后根据优先级做出相应的转换操作。例如:
 
    <?xml version="1.0"?>
 
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 
    ...
 
    </xsl:stylesheet>
 
    (三)JAVA
 
    Java,是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由太阳(Sun Microsystems)公司的詹姆斯•高斯林(James Gosling)等人于1990年代初开发。它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,在1995年5月以“Java”的名称正式发布了。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
 
    (四)WEBSERVICE技术
 
    Web Service主要是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
 
    四、系统详细功能设计
 
    (一)公共服务
 
    公共服务在中心节点的服务器上,包括模式注册、模式匹配以及数据交换三个服务。模式注册服务负责向XML模式库注册XML模式;
模式匹配服务在源、目标XML模式之间进行模式匹配;
数据交换服务用于保证源、目标XML数据文档之间的映射。
 
    第一,模式注册服务将各分节点的数据库提供的XML模式注册到XML模式库以供模式匹配服务使用。
 
    第二,模式匹配服务在源XML模式和目标XML模式之间进行匹配并生成匹配规则文档以作为数据映射时的重要依据。
 
    第三,数据交换服务根据上述匹配规则文档的描述进行源数据和目标数据之间映射,数据交换服务的输入是源XML数据文档(通过调用本地服务的数据抽取服务获取)、匹配规则文档(从匹配规则库中查询),输出是目标XML数据文档。
 
    第四,XML模式库保存所有分支节点数据库XML模式,各分支节点的本地服务通过调用模式注册服务,负责将XML模式提交至XML模式库,供数据交换时选择XML模式进行模式匹配,当学校某管理系统数据库的XML模式发生改变或更新后,本地服务负责其与XML模式库之间的XML模式同步。
 
    第五,匹配规则库中存放的是由模式匹配服务生成的匹配规则文档,匹配规则文档是整个数据交换过程的重要中间产物,它的存在指导着下一步的数据映射过程,另外,将匹配规则文档保存在匹配规则库中可以方便匹配规则的重复使用,在参与数据交换双方的XML模式没有发生改变的情况下,它们之间进行数据交换时可以直接使用对应的匹配规则文档(该匹配规则文档在它们进行第一次数据交换时调用模式匹配服务生成并存入匹配规则库中)。
 
    (二)Java+DOM将库数据与XML数据转换中间件
 
    利用JAVA的JDBC与ODBC及LDAP驱动源进行应用业务系统的信息数据库的数据连接,并读取应用业务应用系统的数据,利用DOM解析创建XML数据文件以备公共数据服务中心调用,基本程序包含五个类:CreateXmlFile.java,创建XML数据文件;
Disposal.java,读取应用系统业务信息库数据;
SaveAttrName.java,根据信息记录属性来保存节点属性与值;
SaveEleName.java,根据记录来保存XML文件的节点;
WriteXmlFile.java,将节点写入到XML文件。将整个功能快打包,作为中间件调用,进行信息库数据的转换。
 
    (三)JAVA+XSLT将得到XML数据写入到公共数据服务中心
 
    写入好XML数据后,得到转换后的数据后,就可以供公共数据服务中心调用,利用XSLT的样式规则将XML数据写入到公共数据服务中心。假设公共数据服务中心采用SQL-SERVER数据库存储,其程序代码片段如下(s为XML数据的文件):
 
    try{
 
    
    Class.Forname(driver);

 
         Connection con=Drivermanager.getConnection(dburl,user,pass);

 
         Statement stat=con.createStatement();

 
         StringTokenizer t=new StringTokenizer(s);

 
         while(t.nextElement!=null){
 
         String stnumber=(String)t.nextElement();

 
         String stname=(String)t.nextElement();

 
         String stgender=(String)t.nextElement();

 
         String stspecial=(String)t.nextElement();

 
         stmt.excute(“insert into table values(…)”);

 
        
 
    }
 
         stmt.close();

 
         con.close();

 
    }catch(Exception e){}
 
    五、结束语
 
    对于校园网络的信息资源整合来说,异构的信息资源是必须面对的现实,而不同信息资源或应用系统之间互相访问又是要迫切解决的问题,因而,建立一个校园网络中的公共数据服务中心是必要的,整合各个独立应用系统孤立的数据资源,为各个应用系统或外来访问者提供一个公共的接口,既保证了资源的共享交换优势,又为将来校园网络可能要建设的门户或单点登陆系统建立了一个综合数据基础平台。本文分析了校园网络异构信息资源的整合,并设计了一个基于XML方式数据转换的校园网络公共数据服务中心系统。
 
    参考文献:
 
    1、王志波.基于XML的异构数据库中间件研究[J].郑州轻工业学院学报,2008(3).
    2、刘慧琳.基于XML和数据库的数据映射研究[J].西南民族大学学报,2008(3).
    3、肖菁.XML——新一代Web标记语言[J].电信技术,1999(3).
    4、肖富军.基于XML技术的电子数据交换[J].计算机工程,2000(9).
    (作者单位:中南大学信息工程学院)