您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页企业管理信息系统设计与实现

企业管理信息系统设计与实现

来源:筏尚旅游网
全军通信与信息系统管理专业自学考试

毕 业 论 文

企业管理信息系统设计与实现

导师姓名 作者姓名 兰桂芳 准考证号

作者单位 完成时间

中国人民通信与信息系统管理专业高等教育自学考试委员会制

1

目 录

摘要........................................................ .......3 关键词........................................................ .....3 1.绪论 ............................................................ 4 1.1研究的背景 ................................................... 4 1.2异构数据交换技术的研究现状 ................................... 5 1.3 论文的工作与组织 ............................................ 5 2.异构数据库系统分析 .............................................. 5 2.1 概述 ........................................................ 6 2.1.1异构数据库的系统 ........................................... 6 2.2异构数据库的数据交换 ......................................... 7 2.2.1异构数据库数据交换的传统方式与存在的问题 ................... 9 2.2.2 异构数据库的数据交换考虑的技术问题 ........................ 9 3.数据交换的原型的实现 ........................................... 10 3.1数据交换的模型选型与开发环境 ................................ 11

3.1.1模型的选型 ............................................. 12 3.1.2开发的环境 ............................................. 12 3.2 流程的分析 ................................................. 13 3.2.1 Web表现层的设计 ....................................... 13 3.2.2 功能流程的设计 ......................................... 15 3.2.3 业务处理层的设计 ....................................... 15 4.数据交换的原型的实现 ......................................................................................... 16 4.1数据交换的模型选型与开发环境 .................................................................. 17

4.1.1模型的选型 .............................................................................................. 17 4.1.2开发的环境 .............................................................................................. 18 4.2 流程的分析 ..................................................................................................... 19

4.2.1 Web表现层的设计 ................................................................................. 19 4.2.2 功能流程的设计 ..................................................................................... 20 4.2.3 业务处理层的设计 ................................................................................. 21 4.3 数据交换的模型实现 ..................................................................................... 22

4.3.1 主控制模块设计的实现 ......................................................................... 22 4.3.2 数据访问层的实现 ................................................................................. 22 4.3.3 数据交换模块设计的实现 ..................................................................... 22 4.4 数据交换模型在企业中的应用 ................................................................ 22 5.总结 ................................................................ 22 参考文献 .......................................................... 27 致 谢 .......................................................... 28

2

企业管理信息系统设计与实现

摘要:数据的交换是影响企业信息化管理发展的主要因素之一。它的目标就是在异构环境(松散耦合、数据格式不同、跨平台、跨地域的分布环境)中实现数据的共享,从而有效地利用资源,提高整个信息系统性能,加快信息系统之间数据流通,实现数据的共享和集成。但当前各种数据交换技术运用于异构环境均存在很多问题,共有的问题主要包括藕合度大、成本较高、实施复杂性等。XML的出现给数据交换带来了新的实现方法。本论文以实现异构环境中数据交换为目标,使用XML技术设计和实现了一个异构数据交换的模型。

本文首先介绍了XML的相关知识,讨论了异构数据交换的相关理论,分析了传统数据交换实现方法及其存在的问题,讨论了XML在异构数据库数据交换方面的相关技术;然后对从XML与关系数据库的模式映射进行了探讨,研究了主流关系数据库对XML的支持情况等[01]。最后在此基础上给出了一个基于XML实现异构数据库数据交换的三层模型,针对异构数据交换中出现的问题提出了解决方法,并且在J2EE环境下,借助于JAVA API、JDBC等技术,通过XML实现了SQL Server 2000数据库与Oracle9i数据库之间数据交换。

最后介绍了基于XMI技术的异构数据交换模型在企业中的实际应用。从实践角度证明模型框架可行性,同时指出了系统的不足和有待提高方面。 关键词:XML,JAVA and XML,数据交换,异构,关系数据库

1.绪论 1.1研究的背景

随着计算机技术发展,企业已经建成了众多的应用系统。但是各系统是在不同时期,不同的公司应用,用不同的工具,在不同的平台上开发的,并且运行在不同的操作系统和不同的数据库平台上,形成“信息孤岛”,这就构成了一个巨大异构系统。另外,Internet 上的数据库系统不少也是分布、异构, Internet 上大量信息必须通过数据库系统才能有效管理,用户在具体应用时,往往需要将分散数据的按某种需要进行交换,而在交换时面对的是千差万别的数据,产生数据差异的主要原因是数据的结构和语义冲突[02]。因而要解决数据交换问题就是如何消除这些差异。随着数据的大量的产生,数据之间的结构和语义冲突问题更加的严重,针对上述问题,要实现网络环境下的信息共享,就必须联合各个异构数据库,形成异构数据库系统来实现不同数据库之间数据信息资源的共享。如何有效解决各种冲突问题是数据交换面临的一大挑战。数据交换后,可以减小由于数据在存储位置上分布造成的数据存取开销,避免不同数据在结构和语义上差异造成

3

的数据转换引起的错误。因此,数据交换对企业信息化管理发展意义重大。

1.2异构的数据交换技术研究现状

异构的数据交换技术的研究始于七十年代中期,数据库的异构问题已经引起了各数据库厂家及许多数据库专家注意。经过对异构数据问题的探索和研究,人们已经取得了不少的成果,提出了许多解决异构数据交换的策略及方法,可分为以下四类:

1.使用软件工具进行的转换

一般情况下数据库管理系统都提供将外部文件数据转移到本身数据库中的数据装入工具。如Oracle的SQLLoader提供将外部文本文件中的数据转移到Oracle数据库表。这些工具具有操作灵活,执行速度快等优点;但是它们不是软件产品,必须首先运行该数据库产品的前端程序才能运行相应的数据转换工具。

2.利用中间数据库转换

所谓利用中间数据库转换即在实现两个具体数据库之间的转换时,依据关系定义、字段定义、从原数据库中读出数据通过中间数据库转入到目的数据库中。这种方法所需转换模块少,且扩展性强,其缺点是复杂,转换质量不高,转换过程长。

3.设置传送变量的转换

所谓设置传送变量的转换就是借助数据库应用程序开发工具与数据库联接的强大功能,通过设置源数据库与目的数据库两个不同的传送变量,同时连接两个数据库,实现异构数据库之间的直接转换。

4.通过开发数据库得组件进行转换[03]

我们利用JAVA等数据库应用程序开发技术,通过源数据库与目的数据库的组建来存取数据信息,实现异构数据库之间的直接的转换。若源数据库与目的数据库对应的数据类型不相同,必须先进行类型的转化,然后双方才能实施赋值。

1.3 论文的工作与组织

本课题研究“基于XML的企业异构数据交换技术的研究”问题,它是数据集成的一个方面,也可以说是数据集成众多表现形式中的一种[04]。由于关系型数据库应用场合比较广泛,所以本文主要工作将在关系型数据上进行。研究探讨利用XML进行数据交换的基本方法,并利用面向对象建模思想结合设计模式技术加以分析、设计和实现数据交换模型。针对XML的优势,采用XML作为数据交换的中间模式,用XML在源数据库和目标数据库之间传递数据,通过XML文档解析、转换

4

来完成数据交换。

2.1 概述

在企业发展过程中积累了大量数据,并为管理和存储这些数据不断投资;然而,由于实施数据管理系统的技术性、阶段性以及其它经济和人为因素的影响,以至即使在一个单独企业,采用的数据管理系统也大不相同,从简单的文件数据库到复杂网络的数据库,它们构成了企业的异构数据源;尽管这些数据管理系统能够满足数据存储和管理要求,但是在许多情况下,为了完成一项工作,企业应用可能需要访问分布在网络不同位置上的多个数据管理系统中的数据。例如,某个公司需要了解生产和使用情况,那么,相关应用首先必须访问生产准备科、使用车间、以及工装所的不同的数据库系统来提取相关数据,然后进行处理。很显然,原有的数据管理系统并不能提供这种支持,需要一个强大的系统能够交换存在于分布数据源的数据。不仅仅如此,随着生存环境的不断得变化,企业在把握机遇的同时也面临着许多得挑战。网络的发展使企业逐渐从一个孤立结点发展成为不断与网络交换信息和进行商务事务的实体,企业数据交换也从企业内部交换走向了企业间交换;现在的企业比以往任何时候都需要将内部数据进行发布和交换,这必然会导致越来越多的企业应用需要访问各种异构数据源,并且这些数据源可能分布在网络上任何地方。为了满足这种需求,必须有一种系统能够支持异构数据源的数据交换。

2.1.1异构数据库的系统

所谓异构数据库系统就是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DBMS;异构数据库的各个组成部分具有自身的自治性[05],实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库系统的异构性主要体现在以下几个方面[13]:计算机体系结构的异构,各个参与的数据库可以分别运行在大型机、工作站、小型机、PC或嵌入式系统中。基础操作系统的异构,各个数据库系统的基础操作系统可以是linuX、unix、WindowsNT等。

本身的异构可以是同为关系型数据库系统的SQLServer、Oracle等,也可以是不同数据模型的数据库,如层次、关系、面向对象、网络、函数型数据库共同组成一个异构数据库系统[14]。异构数据交换的目的是实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享;为企业综合应用系统提供统一的、快捷的、安全的、信息查询数据挖掘和决策支持服务[15]。为了满足这个需

5

求条件,整合、集成后的数据必须保证一定的完整性、集成性、一致性和访问的安全性。

1.完整性

包括数据完整性和约束完整性两方面。数据完整性是指完整提取数据本身,约束完整性,所谓的约束是指数据与数据之间的关联关系,是唯一表示数据间逻辑的特征;保证约束的完整性是良好的数据发布和交换的前提,可以方便数据处理过程,提高效率。

2.一致性

不同业务信息资源之间存在着语义上的区别;这些语义上的不同会引起各种不完整甚至错误信息的产生,从一个简单的名字语义冲突(不同的名字代表相同的概念),到一个复杂的结构语义冲突(不同的模型表达同样的信息)。语义冲突会带来数据交换结果的冗余,干扰数据处理、发布和交换;交换后的数据应该根据一定的数据转换模式和商业规则进行统一数据结构及字段语义编码转换。

3.访问的安全性

由于数据库资源可能归属不同的部门或单位,各业务数据系统有着各自的用户权限管理模式,访问和安全管理都很不方便,不能集中、统一管理,所以保证在访问异构数据源数据基础上保障原有数据库的权限不被侵犯,实现对原有数据源访问权限的隔离和控制,就需要设计基于整合、交换后的综合信息仓库的统一的用户安全管理模式来解决该问题

[06]

针对异构数据源的整合和交换需求,可以采用数据仓库技术及其数据抽取工具来实现,但由于数据仓库系统的项目实施周期长、昂贵的投资费用、项目成功率风险大等原因制约了数据仓库在中、小型企业或数据积累少的企业解决异构数据源整合、交换需求的应用。有些数据库管理系统自带的数据转换工具,能低成本地解决异构数据源整合和集成问题,但在具体项目实际应用过程中,也具有一定的局限性。数据库交换中关键的一点就是以局部数据库模式为基础,建立全局的数据模式或全局外视图。这种全局的模式是对于建立高级的决策支持系统尤为重要的。以下是异构数据库系统的框架图2.1:

6

应用界面 系统集成全局数据库模式 传输层 数据查询层 DB2 查询模块 MS SQL SERVER Sybase 查询模块 Foxpro 查询模块 数据库层 WINNT DB2 WINNT SQL WINNT Sybase Windows Foxpro

图2.1异构数据库系统的架构图

2.2异构数据库的数据交换

2.2.1异构数据库数据交换的传统方式与存在问题

(1)多对一的转换方法

这种方法比较简单,它将异构的数据库转换为同一种格式的数据库,实现了数据格式的统一从而解决了异构的问题,目前市场上有比较多的数据格式转换软件用户也可编程来实现这一点;通过控件就能很好地快速实现不同数据之间的数据格式转换其他开发工具如VC、VB等等也能够比较容易地实现,但这种方法难免会出现数据类型不一致、数据不唯一、数据截断和数据不完整等错误,而且工作量也非常大。

(2)数据仓库的方法

7

FoxPro Sybase M SQLServer M 数据仓库 M M DB2 FoxBase M M Oracle 图2.2数据的仓库法

数据仓库的方法是将分布式的数据通过中间件提取到中心数据仓库中,这种方法的一个显著的特点就是数据仓库对于各个分布数据的高度的控制权。在这种方式中,数据仓库将来自各个分布场地的数据集成起来,客户端直接访问数据仓库中的数据;这个数据仓库并不需要是特定的,它可能就是只需要一个来担任。其结构如图3.2所示这种方法所需转化模块少,仅需个数据转换中间件。每增添一种数据库,只需在增加一个中间件,故其可扩展性强,缺点是实现的难度大,转换精度会受影响,转换时间长,更重要的是采用数据仓库的成本比较大,尽管大型数据库厂商都提供这样的解决方案,如Sybase、Oracle、SQL Server等等。

(3)双向的中间件方法

根据两种数据库系统数据语言的语法,中间件把用数据语言编写的事务翻译成数据语言的等效事务,然后把每个等效事务放入数据库系统中来进行处理。一旦等效的事务在数据库系统中被执行,其执行结果即以数据库系统的数据模型的格式来表示,并将结果传送到中间件。在前面创建的数据库模式的基础上,中间件再把数据结果转换成数据库系统的数据的格式,最后把数据送到用户。若有多个异构数据库,则需要多个中间件。这种方法开销很大。其结构如图3.3所示。

由以上分析可以看出,传统的异构数据库的数据交换繁琐、费时,涉及到很多手工编码对数据资源的重用和移植都很差灵活性不足,必然会造成信息交流不

8

畅、资源严重浪费。

DB M DB M M M M DB M 图2.3双向中间件法

DB 2.2.2 异构数据库数据交换考虑的技术问题

要实现异构数据库的数据交换主要要考虑数据的透明访问与异构数据转换问题。

(1)数据的透明访问

在异构数据库的系统中实现数据透明访问这是异构数据交换首先需要解决的问题。因为用户在进行数据交换时首先要提取需要交换的源数据,源数据可能存于多个异构的数据库系统中,也可以存在于一个数据库多个表中。当访问异构数据时,用户要能用自己熟悉的数据处理语言如同访问一个数据库一样。

实现异构数据库数据透明访问一般有三种方法:

①数据库的网关:数据库的网关是一个转换器,客户通过它可以访问异构数据库。Sybase、Oracle、SQL Server等大型数据库都有自己的网关产品;通过网关,可以将第三方的开发工具连接到自己的数据库的产品上,用户无需废弃现有的应用程序就可利用网关把它们与新的数据库的技术互联起来,从而保护了已有的投资;但这种方法的致命缺点:一是有些转换还不能实现;二是随着异构数据库的增加,所需要的网关成几何级数增加;三是数据库网关价格昂贵。

②公共协议:所谓公共协议是指对客户端和服务器间的通信的格式和协议以及数据库语言进行标准化,这是一种最理想的解决异构数据库互联的方法。比较典型的有规范的分布式关系数据库体系的结构;这种方法尽管操纵数据库的效率比较高,但编程量较大,应用并不普遍。

9

③公共编程接口:所谓公共编程接口是目前使用比较广泛的异构数据库访问接口,它通常是驻留在客户机上,一个可以装载专用的驱动程序以访问不同的数据源。提供了一个应用编程的界面,控制服务器与客户应用请求和目标数据库之间的交互。

随着应用的普及及基于因特网的异构分布式信息系统的迅速发展,以其平台移植性强、无关性、安全性高等优点己经成为应用开发的首选语言。则异构数据库数据交换必须提供一个于数据库管理系统的统一编程界面和一个基于的通用数据库访问方法。XML正好是能够实现这一要求的比较的一个方案。

(2)异构数据库得转换

在异构数据库转换过程中,有时要想实现严格的等价转换是比较困难的,这是因为在异构的数据库中存在各种语法和语义上的冲突;如3.1.1中所述,因此异构数据的转换目标是能够将源数据库中所有需要的信息都能转换到目标数据库中,而且这种转换不能包含冗余信息。目前来说主要有如下几种数据转换方式。

使用软件工具进行转换:

实际上各种典型的数据库厂商针对自己的数据库产品都提供了相应的数据转换服务工具。如SQL Server的DTS工具、Oracle所提供的SQL Loader工具等等。但是这些工具一般都是各数据库中的专用的工具,与自身数据库的结合非常紧密,如果用于异构数据库间的数据的交换还存在一定的问题:

①应用界面各异,以手工操作为主,对用户的要求比较高。

②通用性存在问题,还不存在一种能够适用各种异构数据库来进行数据交换的工具。

③对异构的支持都不是很完善,尤其是在逻辑异构的支持上。 ④利用这些工具无法来实现对异构数据的透明访问。 利用中间数据的转换:

在早期的数据交换中,往往采用中间数据作为过渡来实现不同应用之间的数据交换[07]。最为常用的是使用一种称为格式的文本文件作为数据交换的中间的格式,当使用这种格式进行数据交换时必然会存在下列的问题:

①文件本身由于缺少了表示数据结构的元数据,因而变得非常难于理解。 ②在文件中并不能反映数据与数据之间的关系,所以丢失了信息。 ③它的扩展性不好。

④系统实现的难度很高,代码很复杂。

为了解决这样的问题,又提出了利用中间数据库的办法,即在实现两个具体数据库之间的数据交换时,依据关系定义、字段定义方法从源数据库中读出数据通过中间数据库写入目标数据库中。这种方法所需要的转换模块少,且扩展性强,但缺点是实包含客户应用编程界面和服务器应用编程的界面。以人工参与为主要

10

的实现方式,实现的比较复杂,转换的质量不同,转换的过程长。

随着数据库技术逐步进入了“后关系数据库”时代,即基于网络应用的非结构化数据库时代[08]。因此在此基础上所进行的异构数据的交换所必须满足两个基本条件,一、是能够兼容各种不同的异构的数据格式,无论它是结构化的、半结构化的。二、是易于发布与交换,交换后的数据可以方便地以多种格式发布;显然,要实现较为通用的异构数据库数据交换只靠数据库本身所提供的软件工具是无法满足这种要求的,因而采用中间数据仍然是异构数据库数据交换的主要手段。问题的关键在于选择何种中间数据作为数据交换的桥梁,如果仍然以CVS格式的文本文件当然也不能实现以上要求。而当前流行的XML技术正好能够满足以上要求,随着及其相关技术和应用的发展,XML不仅成为了应用间交换数据的一种标准,同时也是因特网中重要的信息交换标准和表示的技术之一[21]。XML提供了一种全新的信息交换的模式,这种格式是易解析、可编辑,并且可以表示为任何类型的结构化及其半结构化信息。

3.在企业发展过程中积累了大量数据,并为管理和存储这些数据不断投资;然而,由于实施数据管理系统的技术性、阶段性以及其它经济和人为因素的影响,以至即使在一个单独企业,采用的数据管理系统也大不相同,从简单的文件数据库到复杂网络的数据库,它们构成了企业的异构数据源;尽管这些数据管理系统能够满足数据存储和管理要求,但是在许多情况下,为了完成一项工作,企业应用可能需要访问分布在网络不同位置上的多个数据管理系统中的数据。例如,某个公司需要了解生产和使用情况,那么,相关应用首先必须访问生产准备科、使用车间、以及工装所的不同的数据库系统来提取相关数据,然后进行处理。很显然,原有的数据管理系统并不能提供这种支持,需要一个强大的系统能够交换存在于分布数据源的数据。不仅仅如此,随着生存环境的不断得变化,企业在把握机遇的同时也面临着许多得挑战[09]。网络的发展使企业逐渐从一个孤立结点发展成为不断与网络交换信息和进行商务事务的实体,企业数据交换也从企业内部交换走向了企业间交换;现在的企业比以往任何时候都需要将内部数据进行发布和交换,这必然会导致越来越多的企业应用需要访问各种异构数据源,并且这些数据源可能分布在网络上任何地方。为了满足这种需求,必须有一种系统能够支持异构数据源的数据交换。

3.1.1异构数据库的系统

所谓异构数据库系统就是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DBMS;异构数据库的各个组成部分具有自身的自治性,实现数据共享的

11

同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库系统的异构性主要体现在以下几个方面[10]:计算机体系结构的异构,各个参与的数据库可以分别运行在大型机、工作站、小型机、PC或嵌入式系统中。基础操作系统的异构,各个数据库系统的基础操作系统可以是linuX、unix、WindowsNT等。

本身的异构可以是同为关系型数据库系统的SQLServer、Oracle等,也可以是不同数据模型的数据库,如层次、关系、面向对象、网络、函数型数据库共同组成一个异构数据库系统[11]。异构数据交换的目的是实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享;为企业综合应用系统提供统一的、快捷的、安全的、信息查询数据挖掘和决策支持服务[15]。为了满足这个需求条件,整合、集成后的数据必须保证一定的完整性、集成性、一致性和访问的安全性。

1.完整性

包括数据完整性和约束完整性两方面。数据完整性是指完整提取数据本身,约束完整性,所谓的约束是指数据与数据之间的关联关系,是唯一表示数据间逻辑的特征;保证约束的完整性是良好的数据发布和交换的前提,可以方便数据处理过程,提高效率。

2.一致性

不同业务信息资源之间存在着语义上的区别;这些语义上的不同会引起各种不完整甚至错误信息的产生,从一个简单的名字语义冲突(不同的名字代表相同的概念),到一个复杂的结构语义冲突(不同的模型表达同样的信息)。语义冲突会带来数据交换结果的冗余,干扰数据处理、发布和交换;交换后的数据应该根据一定的数据转换模式和商业规则进行统一数据结构及字段语义编码转换。

3.访问的安全性

由于数据库资源可能归属不同的部门或单位,各业务数据系统有着各自的用户权限管理模式,访问和安全管理都很不方便,不能集中、统一管理,所以保证在访问异构数据源数据基础上保障原有数据库的权限不被侵犯,实现对原有数据源访问权限的隔离和控制,就需要设计基于整合、交换后的综合信息仓库的统一的用户安全管理模式来解决该问题。

针对异构数据源的整合和交换需求,可以采用数据仓库技术及其数据抽取工具来实现,但由于数据仓库系统的项目实施周期长、昂贵的投资费用、项目成功率风险大等原因制约了数据仓库在中、小型企业或数据积累少的企业解决异构数据源整合、交换需求的应用。有些数据库管理系统自带的数据转换工具,能低成本地解决异构数据源整合和集成问题,但在具体项目实际应用过程中,也具有一定的局限性。数据库交换中关键的一点就是以局部数据库模式为基础,建立全局

12

的数据模式或全局外视图。这种全局的模式是对于建立高级的决策支持系统尤为重要的。以下是异构数据库系统的框架图3.1:

应用界面 系统集成全局数据库模式 传输层 数据查询层 DB2 查询模块 MS SQL SERVER Sybase 查询模块 Foxpro 查询模块 数据库层 WINNT DB2 WINNT SQL WINNT Sybase Windows Foxpro

图3.1异构数据库系统的架构图

3.2异构数据库的数据交换

3.2.1异构数据库数据交换的传统方式与存在问题

(1)多对一的转换方法

这种方法比较简单,它将异构的数据库转换为同一种格式的数据库,实现了数据格式的统一从而解决了异构的问题,目前市场上有比较多的数据格式转换软件用户也可编程来实现这一点;通过控件就能很好地快速实现不同数据之间的数据格式转换其他开发工具如VC、VB等等也能够比较容易地实现,但这种方法难免会出现数据类型不一致、数据不唯一、数据截断和数据不完整等错误,而且工作量也非常大。

(2)数据仓库的方法

13

FoxPro Sybase M SQLServer M 数据仓库 M M DB2 FoxBase M M Oracle 图3.2数据的仓库法

数据仓库的方法是将分布式的数据通过中间件提取到中心数据仓库中,这种方法的一个显著的特点就是数据仓库对于各个分布数据的高度的控制权。在这种方式中,数据仓库将来自各个分布场地的数据集成起来,客户端直接访问数据仓库中的数据;这个数据仓库并不需要是特定的,它可能就是只需要一个来担任。其结构如图3.2所示这种方法所需转化模块少,仅需个数据转换中间件。每增添一种数据库,只需在增加一个中间件,故其可扩展性强,缺点是实现的难度大,转换精度会受影响,转换时间长,更重要的是采用数据仓库的成本比较大,尽管大型数据库厂商都提供这样的解决方案,如Sybase、Oracle、SQL Server等等。

(3)双向的中间件方法

根据两种数据库系统数据语言的语法,中间件把用数据语言编写的事务翻译成数据语言的等效事务,然后把每个等效事务放入数据库系统中来进行处理。一旦等效的事务在数据库系统中被执行,其执行结果即以数据库系统的数据模型的格式来表示,并将结果传送到中间件。在前面创建的数据库模式的基础上,中间件再把数据结果转换成数据库系统的数据的格式,最后把数据送到用户。若有多个异构数据库,则需要多个中间件[12]。这种方法开销很大。其结构如图3.3所示。

由以上分析可以看出,传统的异构数据库的数据交换繁琐、费时,涉及到很多手工编码对数据资源的重用和移植都很差灵活性不足,必然会造成信息交流不

14

畅、资源严重浪费。

DB M DB M M M M DB M 图3.3双向中间件法

DB 3.2.2 异构数据库数据交换考虑的技术问题

要实现异构数据库的数据交换主要要考虑数据的透明访问与异构数据转换问题。

(1)数据的透明访问

在异构数据库的系统中实现数据透明访问这是异构数据交换首先需要解决的问题。因为用户在进行数据交换时首先要提取需要交换的源数据,源数据可能存于多个异构的数据库系统中,也可以存在于一个数据库多个表中。当访问异构数据时,用户要能用自己熟悉的数据处理语言如同访问一个数据库一样。

实现异构数据库数据透明访问一般有三种方法:

①数据库的网关:数据库的网关是一个转换器,客户通过它可以访问异构数据库。Sybase、Oracle、SQL Server等大型数据库都有自己的网关产品;通过网关,可以将第三方的开发工具连接到自己的数据库的产品上,用户无需废弃现有的应用程序就可利用网关把它们与新的数据库的技术互联起来,从而保护了已有的投资;但这种方法的致命缺点:一是有些转换还不能实现;二是随着异构数据库的增加,所需要的网关成几何级数增加;三是数据库网关价格昂贵。

②公共协议:所谓公共协议是指对客户端和服务器间的通信的格式和协议以及数据库语言进行标准化,这是一种最理想的解决异构数据库互联的方法。比较典型的有规范的分布式关系数据库体系的结构;这种方法尽管操纵数据库的效率比较高,但编程量较大,应用并不普遍。

15

③公共编程接口:所谓公共编程接口是目前使用比较广泛的异构数据库访问接口,它通常是驻留在客户机上,一个可以装载专用的驱动程序以访问不同的数据源。提供了一个应用编程的界面,控制服务器与客户应用请求和目标数据库之间的交互。

随着应用的普及及基于因特网的异构分布式信息系统的迅速发展,以其平台移植性强、无关性、安全性高等优点己经成为应用开发的首选语言。则异构数据库数据交换必须提供一个于数据库管理系统的统一编程界面和一个基于的通用数据库访问方法。XML正好是能够实现这一要求的比较的一个方案。

(2)异构数据库得转换

在异构数据库转换过程中,有时要想实现严格的等价转换是比较困难的,这是因为在异构的数据库中存在各种语法和语义上的冲突;如3.1.1中所述,因此异构数据的转换目标是能够将源数据库中所有需要的信息都能转换到目标数据库中,而且这种转换不能包含冗余信息。目前来说主要有如下几种数据转换方式[13]。

使用软件工具进行转换:

实际上各种典型的数据库厂商针对自己的数据库产品都提供了相应的数据转换服务工具。如SQL Server的DTS工具、Oracle所提供的SQL Loader工具等等。但是这些工具一般都是各数据库中的专用的工具,与自身数据库的结合非常紧密,如果用于异构数据库间的数据的交换还存在一定的问题:

①应用界面各异,以手工操作为主,对用户的要求比较高。

②通用性存在问题,还不存在一种能够适用各种异构数据库来进行数据交换的工具。

③对异构的支持都不是很完善,尤其是在逻辑异构的支持上。 ④利用这些工具无法来实现对异构数据的透明访问[20]。 利用中间数据的转换:

在早期的数据交换中,往往采用中间数据作为过渡来实现不同应用之间的数据交换。最为常用的是使用一种称为格式的文本文件作为数据交换的中间的格式,当使用这种格式进行数据交换时必然会存在下列的问题:

①文件本身由于缺少了表示数据结构的元数据,因而变得非常难于理解。 ②在文件中并不能反映数据与数据之间的关系,所以丢失了信息。 ③它的扩展性不好。

④系统实现的难度很高,代码很复杂。

为了解决这样的问题,又提出了利用中间数据库的办法,即在实现两个具体数据库之间的数据交换时,依据关系定义、字段定义方法从源数据库中读出数据通过中间数据库写入目标数据库中。这种方法所需要的转换模块少,且扩展性强,但缺点是实包含客户应用编程界面和服务器应用编程的界面。以人工参与为主要

16

的实现方式,实现的比较复杂,转换的质量不同,转换的过程长。

随着数据库技术逐步进入了“后关系数据库”时代,即基于网络应用的非结构化数据库时代。因此在此基础上所进行的异构数据的交换所必须满足两个基本条件,一、是能够兼容各种不同的异构的数据格式,无论它是结构化的、半结构化的。二、是易于发布与交换,交换后的数据可以方便地以多种格式发布;显然,要实现较为通用的异构数据库数据交换只靠数据库本身所提供的软件工具是无法满足这种要求的,因而采用中间数据仍然是异构数据库数据交换的主要手段。问题的关键在于选择何种中间数据作为数据交换的桥梁,如果仍然以CVS格式的文本文件当然也不能实现以上要求。而当前流行的XML技术正好能够满足以上要求,随着及其相关技术和应用的发展,XML不仅成为了应用间交换数据的一种标准,同时也是因特网中重要的信息交换标准和表示的技术之一。XML提供了一种全新的信息交换的模式,这种格式是易解析、可编辑,并且可以表示为任何类型的结构化及其半结构化信息。

4.1数据交换的模型选型与开发的环境 4.1.1模型的选型

现代企业的信息系统多由多个子信息系统构成,如进销存、设备管理、财务、客户管理等等往往都是的系统。系统的结构图4.1如下:

企 业 管 理 信 息 系 统 档 案 管 理 系 统 财 务 管 理 系 统 生 产 管 理 系 统 设 备 管 理 系 统 进 销 存 管 理 系 统 客 户 管 理 系 统 图4.1企业管理信息的系统

这些系统是由不同的软件开发商提供的,而且各个的系统功能高度内聚,形成了企业内部的”信息孤岛”,随着企业信息化业务的增多,各个系统之间的数据共享、数据集成、数据交换、等设计的应用系统也越来越多,通过分析具体主要由如下几点:

17

数据的交换:在数据的交换应用之间的数据经常需要交换,如将进销存系统中的销售单数据导入到生产管理系统中,这些数据往往是在格式上、结构上甚至在语义上都会存在差别。

根据企业的应用实际情况,提出如下的系统需求:

(1)完成企业内部各个应用系统之间的数据交换,实现一个表或多表从某个应用系统数据库到另一个应用系统数据库的转移的实现。

(2)支持异构环境中的可移植程序,可以根据新数据库的要求将就数据库中的数据顺利迁移到新的数据库。

(3)提供操作简捷友好的WEB的页面,系统具有可移植性和可扩展性。

4.1.2开发的环境

J2EE是一种利用Java2平台简化企业解决方案的开发、部署和管理相关复杂问题的体系结构

[14]

。提供了方便存取数据库的JDBC API、以及能够在Internet应

用中保护数据的安全模式等等,同时还提供了对Java Servlets API、EJB(Enterprise JavaBeans)、JSP及XML的技术的全面支持。

J2EE其优势主要是为搭建具有易维护性、灵活性、可伸缩的业务系统提供了良好的机制:

1.保留现存的IT资产:J2EE架构可以充分利用用户原有的投资,并在此基础上开发整合资源;

2.高效的开发:J2EE允许把一些通用的繁琐的服务器端交给中间件区域完成,开发人员可以集中精力创建业务逻辑;

3.支持异构环境:J2EE能够开发部署在异构环境中的可移植程序; 4.可伸缩性:允许多台服务器集成的部署,实现可高度伸缩的系统,满足未来企业应用的需要;

开发配置环境如表4.1:

表4.1 开发环境的配置

软件环境 配置

操作系统 Windows 2000 Server SP4 开发语言 Jsp、Java、JavaScript 开发工具 Jbuilder 2006 Web服务器 Tomcat5.0 Web层 Struts框架、IE6.0 数据库 Oracle9i、SQL Server2000

18

4.2 流程的分析

Web的表现层的设计借鉴JSP运行思想[15],基于Web的客户机可以直接对Java Servlet进行请求,Servlet生成动态内容,将结果绑定到一个结果对象并且调用JSP页面;JSP页面从该对象中访问动态内容,并将结果发送回浏览器。业务层的企业JavaBeans组件管理后台的资源;系统模型中的JSP.Servlet和JavaBeans就是基于Model-View-Control模型设计的。如图4.2

浏览器 控制器servlet EJB JavaBean 视图jsp DB 图4.2 Web的模型图

1) Servle是控制器部分,作为控制程序,负责接收来自客户端的所有请求,调用业务逻辑层的EJB组件更新数据库、进行数据检索等操作,并将生成的数据封装在相应的JavaBean属性中;Servlet同时负责选择适当的JSP文件加以调用。

2 ) JSP是表现层的显示部分,对数据不做任何处理;它只是获取由Servlet创建的JavaBean,并通过调用JavaBean相应的Better方法可以将其中的数据以HTML文件的格式表示出来。

3) JavaBeans是模型部分,接收Servlet的控制,实际负责数据处理,并将结果返回Servlet。

4.2.2 功能流程的设计

通过对数据交换技术的研究和数据交换模型的基础上进一步设计基于B/S模式的三层结构的功能模块。 其功能模块流程图4.4如下:

19

Browse 身份验证 XML解析 身份验证 XML解析 信息处理列 信息处理列 XML解析 XML映射 XML解析 XML映射 XML转换 规则 数据访问组件 XML生成 XML转换 规则 数据访问组件 XML生成 Oracle 应用程序 SQL Server 应用程序 图4.4功能模块的流程图

1. 客户层

在客户层作为企业和数据交换中心的交互窗口,初始登陆用户可以拥有自己的用户名和密码,经身份验证后进入主页面,主页面包括数据连接,规则制定和转换模块,用户通过调用主要模块完成数据交换。 2. 数据交换处理层

所谓的数据交换处理层也可叫业务逻辑层,是整个平台体系结构的核心,实现用户的身份、权限认证,数据的解析、转换和处理;

1)身份验证模块:即对用户的身份合法进行验证;

2)信息处理队列:即把通过验证的XML文档送入处理队列,等候系统做进一步处理,该队列模块对于数据交换得系统相当于一个缓冲器,起到数据缓存和系统性能力调节的功能;

3) XML得解析器:该功能块主要完成如下功能,分析该XML文档的语法和格式是否正确,这里需要用到XML的一个关键技术:XML Schema,利用用户的XML Schema,我们可以严格的检查XML的数据,以确保在传输过程中没有数据丢失和错误;

4) XML的映射器:当XML检查器发现企业所用的Schema和平台使用的Schema不符合的时候,将用到该功能块,根据业务规则把标准Schema中对应的数据格式、

20

数据类型以及字段名的一一映射,系统将按此生成一个交换规则文件;

5) XML的转换器:转换器主要根据业务逻辑把标准格式的XML文件转换为相应的数据。如XML--Html, XML--SQL server, XML-Access, XML---Oracle等类型的数据;

6) XML封装器:把数据按一定的规则转化为XML文件;

4.2.3 业务处理层的设计

数据交换处理层的流程如图4.5:

身份确认成功 所要提取的数据 转化为XML文档 加入目标数据信息 是否有规则 有 XML解析和转换 没有 XML数据处理 规则制定 目标数据 图4.5 流程的图

1)系统首先进行登录用户身份验证,只有合法用户才能进入系统并相互交互数据;

2)用户从系统中提取所需要的数据,将按一定的业务规则过滤并格式化该数据;

3)通过XML的生成模块,把该数据转换为对应的XML的格式并用SOAP封装,同时在SOAP头中加入相关的属性,比如目的数据类型、地址信息、身份认证信息

21

等;

4)在它们进行交互之前,首先检查在交换规则库上是否有该交换规则,如果没有,就进入规则库定制数据交换规则并转入第6)步;

5)如果有,则调用该数据交换规则并转入第6)步; 6)对XML的文档进行解析;

7)用SOAP封装该XML的文档,同时在SOAP头中加入相关的属性并发送到目标数据库;

8)接收方完成数据的接收、身份验证、XML的文档的解析和转换、数据处理并将处理结果通知发送方(数据交换服务器,服务器再转发到发送方),完成本次数据交换;

从流程图可以看出,业务处理层的主要功能主要有:

1.从源数据库抽取数据,调用DBConnect类实例完成数据库的数据抽取; 2.XML文档解析,将会调用CreateXML类的方法生成XML的文档,文档名为file;

3.规则制定,将调用make_rule类的方法存为备用交换规则文件; 4.数据存入目标数据。将调用InsertDB类的方法把由file指定的XML的文档中的数据插入到数据库相应表;

4.3 数据交换模型的实现

前两章主要分别对交换规则和模型的总体架构进行了研究和分析,并对数据交换各个子模块进行了深入的分析[16]。在前面研究的基础上,本章给出主要模块的具体实现的过程。

4.3.1 主控制模块设计的实现

用户首先登陆进入主控模块,主控制模块位于系统的客户层,其主要功能为接受用户的参数输入与选择,调用各相应模块完成数据交换,主控模块包括规则制定、数据交换和数据交换规则库三部分功能。主要为用户提供程序的入口操作,选择规则制定按钮则调用make_rule的模块,选择数据交换按钮则调用data_ex的模块,选择数据交换规则库则调用rule_center的模块。

5.总结

数据交换己经成为企业不可或缺的部分,支持异构环境的数据交换系统将传统的数据交换提高到了新的阶段,是对传统数据交换的一次,同时协调并促进了企业信息化发展,使企业能建立良好和供应链关系和客户关系,增强企业的竞争力和适应力。

22

通过对当前各种数据交换技术的比较,对XML的技术和XML的关系模式映射分析,本文提出基于XML进行异构数据的交换,分析和设计了一个基于XML的异构数据交换框架,并介绍了其模型架构和模块。并通过该系统在企业中的实际应用,从实践角度证明模型。

参考文献

[1] XML教程[Z].http://book.chinaz.com/XML/xml0005.htm [2] XML 经典教程[Z]. http://download.csdn.net/source/335097

[3] XML Schema Part 1: Structures Second Edition[Z]. http://www.w3.org/

TRlxmlschema-1l,2004,10.28

[4] JAVA与XML编程[Z]. http://dev.rdxx.com/Java/JavaXML/ [5] 理解 DOM [Z]. https://www6.software.ibm.com/xml / index.htm [6] 理解 SAX[Z]. http://www6.software.ibm.com/ education / index.htm. [7] http://www.Slxml.com/forum/search_forum_ xml.xml2

[8] 张富国. 基于XML的通用数据交换平台的设计与实现[J]. 科技广场,

2005,24(1):125-126

[9] 周春磊. 基于XML的异构关系型数据交换模型[J]. 计算机与现代,

2005,10(3):100-101

[10] 夏秀峰, 张悦, 周大海. 基于XML的异种数据库间数据交换技术[J].微

机处理, 2005,10(6):43-46

[11] Akmal B. Chaudhri Awais. XML Data Management[M].北京: 清华大学出

版社,2006,8:245-246

[12] Graeme M alcolm. SQL Server 2000与XML数据库编程[M]. 清华大学出版社,

2003,3:50-33

23

致 谢

首先,感谢我的指导老师,他严谨的治学、和蔼可亲平易近人的风范都是我学习的榜样。无论是在我选题、开题还是在论文写作、资料的查阅等各个方面,老师都给了我悉心的帮助,这也是我能顺利完成论文的前提。在此,允许我对向老师表示我崇高的敬意和深深的感谢!

在学习期间得到了老师的关心、支持和帮助。在此向他们表示衷心的感谢!

24

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务