admin 管理员组

文章数量: 1184232


2024年4月20日发(作者:alter table 索引)

lSSN 1009—3044 

E—mail:jsh@cccc.net.ca 

Compu ̄rKnowledgeandTechnology电脑知识与技术 

http://www.dnzs.net.cn 

Vo1.6,No.3,January 2010,PP.531-533 

Teh+86—55 1—5690963 5690964 

XML的数据处理技术在ERP中的使用 

文健 

(江苏省无锡市华夏计算机技术有限公司,江苏无锡214000) 

摘要:由于XML自身的特点,它非常适合作为异构数据源之间数据转换的中介。本系统集成中采用XML作为数据转搀的中介,实 

现了不同数据库之间的数据转换,并且实现了XML文档与关系数据库之间数据相互转换的构件 提高了ERP系统的可扩展性、灵 

活性和可维护性。该文分析了ERP系统中数据转换的基本需求,结合面向对象的方法和构件技术,设计并实现了基于XML的通用 

数据转换系统 本文总结了在实施ERP系统的实践中所使用的技术,提出了用标准XML模式作为交换单据的数据标识:详细描述 

了关系模式与XML模式之间映射的转换脚本:讨论了XBIL文档与关系数据库之间相互转换的数据转换构件的设计和实现接口: 

并基于DOM解析器,详细介绍了数据库转换构件中的数据转换的算法。在具体的使用过程中,只要对每种单据都生成一份简单直 

观的转换脚本,并调用数据转换构件的接口,就可以非常容易地提取(或存储)带有层次关系的XML文档。 

关键词:ⅪIL:数据转换;数据库;构件;ERP 

中图分类号:TP311 文献标识码:A 文章编号:1009—3044(2010)03—531—03 

Re ̄ization and Application of Data Exchange Technology Based on XML in ERP System 

WENJian 

(Huaxia Computer Technology Co.Ltd,wuxi 214000,China) 

Abstract:This article analyses the primary demand of data exchange in ERP,combined with hte mothod of object—oriented and compo— 

nent technique,it designs and realizes the system of universal data exchange based on XML.This article summarizes the technologies which 

are used in the practice of empliifng ERP system,and brings up that use normal XML mode as DID of exchar ge voucher;and describes 

the transform script of mapping between relational mode and XML mode in detail;it discusses the design of data exchange component and 

realizing joint of the exchange between XML document and RDB;and it presents how to count hte data exchange in database exchange 

unit on the base of DOM resolver.As long as creates a simple and visual exchange sirpt to every kind of voucher and invokes the interface 

of data exchange unit during use,it will be very easy to extract(or storage)XML document with LEV relation. 

Key words:XML;data exchange;database;component;ERP 

1课题的背景 

本文的课题是我在公司时负责的一个某工厂项目中实施ERP系统过程中产生的。该工厂是的一个合资型跨国集团,在本土以 

及海外有多条生产线,因为 目保密条例不能说的更多,所以这里只需阐述下该工厂的生产主要基于ERP管理,从材料的采购、入 

库、生产、销售进行集中管理。本文作者参与了ERP实施中销售业务的开发。 

在实施过程中,我们一方面既要增加系统的功能,另一方面又要集成已有的应用系统。例如,库存管理系统是在生产线引进时 

并引进的,是基于ORACLE数据库的,我们无法也没必要另外开发一|\库存管理系统;原有的财务结算系统是基于SQL SERVER 

数据库的:销售系统是重新开发的,基于SQL SERVER数据库的。销售系统、库存管 

理系统、财务结算系统相对独立,但也存在相互之间的数据查询、交换。例如,销售 

系统需要查询库存产品的规格、数量的信息;财务结算系统需要查询销售统计情 

况.并将查询到的信息存储到本系统中。这就向我们提出了不同数据库之间数据交 

换的问题 ’ 

2数据转换系统的分析 

该工厂的ERP系统项目中,既要考虑集成现有的系统,又要考虑为未来发展网 /\ 

上电子商务提供扩展。对于前者,现有的系统无法简单地采用替换的方式。如,引进 

生产线时就有一套生产的管理系统,包括产品库存管理,它与生产线不可分离,而 

且功能完善.不可能也没必要使用其它系统取而代之,ERP系统要充分利用这些资 

源。对于后者,广钢集团总部已初步建立电子商务平台,未来集团内部的结算将通 

过此平台完成.与外部贸易伙伴的销售、采购等业务也将逐步移到此平台上进行。 

电子商务是广钢集团发展的重点战略之一。 

图1 系统分析示意图 

收稿日期:2009-04—12 

作者简介:文健(1981一),男,江苏省无锡市人,软件工程师。 

本栏目责任编辑:闻翔军 数据库与信息管理 531 

ComputerKnowledge and Technology电脑知识与技术 第6卷第3期(2010年1月) 

基于此背景。该ERP系统需要一个通用的数据转换软件,以实现内部和外部的数据交流。数据转换系统就是这样一个软件,它 

实现XML和数据库之间的数据交换,利用它能完成以下任务:1)从数据库中生成XML文档。2)将接收到的XML文档存人关系数 

据库中。通过标准格式的XML文档作为公共的传输介质,实现不同数据库间的数据交互。 

系统分析示意图如图l。 

其中要解决的主要问题:1)定义或生成用于交互的XML表单;2)数据转换方式的研究和实现(关系模式和XML模式的相互映 

射)。 

2.1提取用于数据交换的XML标准文档 

通常情况下我们在编写XML文档时用到什么标记就创建什么标记,没有对这种标记和标记间依赖关系进行定义。这样作为文 

档的创作者可能会非常清楚标记的意义和标记间的依赖关系,但作为文档的使用者或处理该文档的程序而言就不明其义了。对于 

数据交换来说,最重要的是数据交换的双方要有一个统一的数据格式,只有采用统一的数据格式,才能实现数据的自动流转、处理 

等功能。其中每一个系统都将其内部的数据转换成行业标准的基于XML的数据格式,这样就可以实现不同系统之间的数据交换。 

2.2关系模式与XML模式相互转换脚本 

要在商业MIS之间交换数据,必须先在XML文档和数据库之间转换数据,把XML模式映射到数据库模式和把数据库模式映 

射到XML模式。 

解决XML模式和数据库模式相互映射问题,有两种途经:基于表格的映射和基于 

关系一对象的映射(第四章)。这里采用基于表格的映射来解决XML模式和数据库模式 

相互映射问题。对于每一个具体的关系模式与XML模式之间的相互转换,都要编写一 

个转换脚本,对于具体某个关系数据库,依据表单DTD(或XML Schema),定义从关系模 

式到XML模式的转换脚本,和从XML模式到关系模式的转换脚本。 

转换方法示意图如图2。 

f==—J二  

、、

—————

/ 

在转换脚本中嵌入预定义的查询语句(基于模板的查询),由数据转换构件执行查 

询语句得到表格式的数据,然后再使用转换脚本的转换规则将表格式的数据转换为结 

构化的XML文档数据。 

2.3基于XML的数据转换构件 

图2抟换方法示意图 

在定义了数据转换脚本之后,数据转换构件使用这些转换脚本在关系数据库和XML文档之间相互转换数据。 

在数据交换中使用表单XML文档的问题并不是简单地共享一个表单模式,在贸易合作伙伴间按照模式发送表单。贸易合作伙 

伴间的数据库是异构的:发送的表单是多样的,因此有必要定义一个关系模式与一种表单XML文档之间的转换脚本,并调用数据 

转换构件的相应接口,通过深度遍历转换脚本,逐个分枝拓展创建,最终完成整个XML文档的DOM树的创建,实现广度的实体关 

系到深度的实体关系的映射.能够从关系数据库中提取出发送给任何贸易合作伙伴的表单XML文档。通过使用转换脚本能实现发 

送或接收的单据模式本地化。 

3系统实现 

3.1数据转换构件的实现 

对于XML文档,数据转换构件是通过DOM(文档对象模型)读取XML文档中的节点。DOM是最基本也是最底层的XML存取 

技术,它是W3C推荐的一种技术标准,实际上是提供一组API来存取XML数据。在数据转换构件中,具体的XML模式与关系模式 

的数据转换需要涉及较为复杂XML格式分析处理及数据库操作和有效性的校验。 

数据转换构件验证XML数据合法性的过程:在C/S环境中,客户机和服务器都可以使用Schema来验证文档。在客户机端验证 

的主要对象是转换脚本,在服务器端验证的主要对象是发来的XML文档。相对客户端而言在服务器端验证的意义更重大,在实际 

应用中也更为常见。由于连接到服务器上的客户数是很多的,所以有必要在处理客户端发送来的数据之前,先检验接到的数据是否 

与预期的结构一致。验证的步骤如下:将XML文档载人DOM树;判断是否连接DTD( ̄需验证根元素是否设置了xmlns属性);如果 

没有连接,服务器就要依据XML文档类型指定一个DTD进行连接,然后将更新的文档重新载人到另一个DOM树中,进行验证。 

3.2数据类型的转换 

数据转换构件负责把XML文件中的文本转换成数据库中的数据类型,反之亦然。转换的方法是数据转换构件根据数据库模型 

来确定数据类型。 

3.3空值(nul1)的转换 

. 

在数据库中,空值意味着没有数据,这和值为0的数字或长度为零的字符串区别很大。XML文件中通过可选元素或属性支持这 

种空值的概念,如果一个可选元素或属性的值为空,就不会包含在文件内。将XML文档的结构映射到数据库(或反过来)时,可选元 

素类型或【空值1属性会被映射到允许空值的字段,如果不是这样的话,可能会产生插入错误(当转换数据到数据库时)或非法文件错 

误f从数据库中取出数据时)。 

532 数据库与信息蕾理 本栏目责任编辑:闻翔军 

第6卷第3期(2010年1月) ComputerKnowledge andTechnology电脑知识与技术 

在集成ERP系统中.数据转换构件针对的是具体应用的领域,数据库的数据模式和XML文档的结构都有清晰的定义,数据类 

型确定。对于XML文档中的注释、处理指令、标记等等采用忽略的方法。 

4结论 。 

本文重点讨论了利用XML作为媒介实现异构数据库数据交换的方法,详细描述了提取标准表单XML文档的方法,描述了编 

写XML文档和关系数据库之间数据转换的转换脚本的方法,设计了构件的功能和结构,以及描述关键算法的实现。 

数据转换构件和各种转换的脚本目前在该工厂ERP系统中应用,实现了数据库与XML文档之间数据相互转换的目的,由于转 

换脚本是容易编写和维护的,未来单据的变化通过更改转换脚本就能适应新的环境,因此提高了整个系统的可维护性。又由于该工 

厂的ERP系统是基于XML文档进行数据交换的,未来与外部合作企业之间的交流将更加容易,因此提高了系统的可扩展性。 

数据转换构件的功能是在该工厂的ERP系统环境下实现的,证明了其可行性。为了达到数据转换构件对不同数据库的适应性 

以及提高通用性,计划进一步研究基于ODBC接1:3的可扩展的XML数据库交互构件。 

参考文献: 

『l1雷劫. 的ERP系统实施.(内部文件).2004. 

『21张维明.语义信息模型及应用【M】.北京:电子工业出版社.2002. 

『31 xml中国论坛.xml初学进阶.http://www.xm1.net.cn 

f4】蔡希尧、陈平.面向对象技术【M】.西安电子科技出版社.1995. 

【5】张晓东等.Java数据库高级教程【M】.北京:清华大学出版社.2004. 

f61 Microsoft.ADO.NET结构.http://www.msdn.Microsoft.com. 

『71 Didier Maitin.XML高级编程『M1.北京:机械工业出版社.2001. 

f8】朱三元、钱乐秋、宿为民.软件工程技术概论[J].北京:科学出版社.2002. 

『91 David Carson.XML应用的UML建模技术『M】.北京:清华大学出版社.2003. 

『10】阿捷.XML轻松学习手册(5)XML语法.http://www.pconline.com.cn. 

【11】杨芙清、梅宏、李克勤.软件复用与软件构件技术[J].电子学报.1999,27(2). 

『121 Ronald Bourret.XML与数据库.http://www.rpbourret.com. 

本栏目责任编辑:闻翔军 数据库与信息蕾曩 533 


本文标签: 转换 数据 系统 数据库 文档