首页 > 范文大全 > 正文

面向PLM的数据集成技术研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇面向PLM的数据集成技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:产品全生命周期管理系统的目的是建立一个管理、跟踪和控制产品全生命周期信息的协同环境,通过网络创建和共享产品的规划、设计、制造的信息。文章结合当前比较流行的数据集成模式,在此基础上设计了基于XML的数据集成模型框架,阐述了其设计过程,为开发PLM系统提供了方法。

关键词:XML;模型架构;Schema;数据集成技术;Web服务接口

中图分类号:TP391文献标识码:A文章编号:1009-2374(2010)07-0022-04

随着企业信息化应用的不断深入以及计算机技术的发展,各种管理软件层出不穷,这些不同的管理软件又有各自的数据库系统,数据库与数据库之间或者是同构或者是异构,在同一个企业或者集团公司内部要实现数据共享及业务的整体协调运作,需要一个良好的企业集成平台支持工具帮助企业快速实现企业内部各管理系统的高度集成。企业集成平台是支持企业集成运行的智能工具,其主要功能是为企业各种数据、系统、过程等多种对象的协同运行提供公共服务及运行时的支撑环境,降低实现企业内部的数据源分散集成的复杂度,提高应用集成的有效性,将企业信息化规划中确定的各种应用系统、服务、人员、信息资源等信息关系固化到集成运行的系统中。在当前激烈竞争的市场环境下,企业面临新的挑战和机遇。为了保证产品在整个全生命周期过程中对业务数据进行有效的管理,企业通过采用产品全生命周期管理系统(PLM)来提高企业核心竞争力。

在产品全生命周期管理的各个阶段,为了更好的实现各个阶段业务的有效协同和数据共享,对产品生命周期的整个业务数据实现一致性的管理,有必要建立良好的、可扩展的、基于XML的数据集成框架来管理系统之间数据结构、数据源不一致,数据共享的问题,这也是产品全生命周期管理过程所必须解决的关键技术问题。

目前大多数应用系统在实现系统数据集成的时候,通常是在原有系统的基础上进行二次开发,或者随系统提供一些简单的集成接口,实现的模式主要有数据复制,数据连邦以及基于接口的数据集成等方式,虽然这些实现模式的实现理论都已经很成熟,但是大部分集成系统之间的实现方式都是在各自的系统上开发,使得编程人员在不同的系统上做重复的劳动,从而造成大量的人力物力的浪费,如果把集成系统做成一个模型框架,将使程序开发人员在一个简单而统一的开发环境中,从而减少程序设计的复杂度。文章提出基于XML数据集成模型架构,在产品全生命周期管理的这样一个复杂的业务流程管理系统中,可以快速高效的解决系统之间的集成协同工作。文章首先提出模型的整体框架结构,然后对其进行具体分析,最后阐述其实现的关键技术。

一、设计思路以及集成模型架构

(一)设计思路

传统数据复制模式中,通常利用XML格式文件实现数据集成的中间传输介质,其实现方式是从一个数据库导出数据到XML文件中,然后其它系统通过处理XML文件中的数据并导入数据到目标数据库中,这种实现方式对于简单系统集成是很不错的选择,但是对于一个大型的业务复杂的管理系统,这种实现方式有一定的缺陷。在产品全生命周期管理系统中,将这些所有的复用的功能集中到一个模型框架中,将业务逻辑和业务表示逻辑等进行了分离,将每层功能集中到一个特定的角色上,这样可以得到一个非常便于进行系统扩展,逻辑修改的应用集成框架,进而提高集成平台和集成系统的柔性,文章提出4层的系统集成模式。如图1集成数据环境总体设计图:

XML具有如下特点:结构清楚、语意明确、交互性好、易于处理、平立性等。使用XML不仅可以指定关系数据结构,也可以将非关系数据表示成为结构,如文档结构等,也可以将不同的元素合成为其他元素。XML可以配置适合当前解决方案的文件格式,也可以将XML中的数据标记为可配置的文本格式,它将用户界面和结构数据相分离,XML使用诸如“扩展样式(XSL)”和层叠样式表等来表示浏览器中的数据,XML将数据从表示和处理中分离出来,可以将用户信息、销售定单、物料数据、BOM结构等数据来源转换为中间层上的XML,当XML到达到用户系统中时,可以将该XML文件进行编辑、处理和表示,没有必要返回到服务器进行解析处理,因此可以轻而易举的合并不同来源的数据,便于信息的高度集成。XML的威力在于将用户界面和结构化数据相分离,允许不同来源数据的无缝集成和对同一数据的多种处理,因此XML技术已被广泛应用到数据集成领域。

XML目前可以使用两种方式定义或约束自身的逻辑结构,一种是DTD格式,另外一种是XML Schema,与DTD相比,后者具有一致性、扩展性、易用性、规范性、互换性的特点。XML Schema最重要的功能之一就是对数据类型的支持,主要表现在:可更容易地描述允许的文档内容,验证数据的正确性,与来自数据库的数据一并工作,定义数据约束(data facets),定义数据模型(或称数据格式),在不同的数据类型间转换数据,可以对XML文档定义更加严格的规范和明确的规定。因此采用XML的Schema数据模式表示各个异构数据源中的数据。

(二)数据集成模型架构(DIMF)

数据集成模式是通过底层应用数据源之间的一致性来实现不同应用之间的信息共享和互操作。该模式的实现是必须提供一个基础模型结构,用于支持在两个或者多个数据库系统之间的数据转换和传输。主要功能是从其中一端数据源中抽取出相关的数据,并对数据进行转换或者对数据结构进行调整之后导入到另一端数据源中。系统之间通过调用该模型框架结构可以快速配置应用系统数据集成环境。模型架构的详细设计如图2所示:

(三)系统组成及框架原理分析

数据集成模型的架构设计主要由以下几部分组成:

1.定时数据请求器。该数据请求器设计为具有批处理的定时触发器,其作用主要是不间断的向用户数据请求处理器发送消息,以便获取是否有临时变更的数据信息。定时数据请求器发送消息通知用户数据请求处理器,然后有数据请求处理器通知消息服务中间件,最后通过消息服务中间件在数据仓库中查询是否有数据变化,如果有则通过消息中间件发送到数据提取器,数据提取器调用格式转换器将数据转换为XML,最后将数据更新到数据库中。

2.字段映射定义器。该功能主要实现XML中的数据更新到数据库之前,将XML中部分结点元素和数据库表中的字段进行映射配置。XML是公共的文件,各数据库需要从这里获得数据,为了使得XML结点元素和各个不同的数据表字段对应,获取有用的数据信息,需要提供动态可配置的XML元素结点到数据表字段的映射功能,以实现同一XML文件在异步数据库之间数据传送。一旦定义好之后,以后的数据集成处理都将按照已经定义好的字段映射集成数据,如果需要改变字段,需要重新定义。

3.数据变更处触发器。数据变更触发器是附加在数据库中的,在数据库中设立触发器的目的主要是解决用户端有数据变更的问题,当数据有写入、修改、删除等操作时,将自动启动数据变更触发器,触发器设置数据变更事务,已发生变化的数据传送到数据提取器中,数据提取器把处理好的数据通过Web服务接口传送到数据转换器中,再由转换器处理完毕之后提交到数据仓库,若变更的数据已写入数据仓库,则撤消此事务,否则继续执行此事务直到事务提交完毕,最后关闭数据变更触发器。

4.用户数据请求处理器。它是处理用户发送的请求信息,接收用户请求信息之后首先到数据仓库中查询有没有用户所需要的信息,有则返回给用户,没有则通过源信息库视图映射到具体的物理位置并决定在哪一个数据库中访问数据。

5.Web服务接口。Web服务接口是信息服务介质。通过它关联数据提取器,数据请求处理器以及数据仓库等信息之间的交换。它是通过SOAP消息交换协议来实现互联网环境下的分布式计算,它具有良好的松散耦合集成结构,更适合复杂系统之间的集成。

6.数据转换器。数据转换器完成的主要功能有:(1)Web服务接口服务通知数据转换器需要在数据库中处理某一特定的数据子集;(2)重新对数据进行顺序调整,从而更清晰地表达数据结构;(3)对数据进行重构,用不同的顺序描述数据元素,改变字段长度或其数据描述或改变逻辑分组。其转换过程为:每两个需要进行数据转换的数据源必须在一定的转换规则下才能转换为统一的目标数据,便于简化数据的转换过程,常常将所有表示转换规则的XSLT文件集中保存到转换规则定义库中,当进行数据转换时,首先调用转换规则定义库中的转换规则,然后转换为满足要求的目标数据。

为了让数据转换器明白从客户端通过Web服务接口传递过来的信息要求自己做什么样的操作,需要在客户端加入一个隐含的字段,通过这个隐含字段来识别所要查找的XML脚本,然后通过解析,告诉要做什么样的操作。

7.数据转换规则定义库。在这里可以根据当前系统定义适合当前数据结构的数据转换规则,包括数据结构,字段属性,以及具体数据属性规则定义,数据转换器通过这些规则直接将原始原始数据处理成为适合当前数据库结构的数据,并直接更新目标数据库。

8.源信息库视图。在这里存放一些列表,其一存放列表存储数据源的基本情况,如数据库名称、物理存储位置、类型、连接字符串等,并为每个数据源分配一个唯一的标识;其二存储数据库中表的信息,最后存储数据表字段信息。这些信息为方便其它处理器访问源物理数据库提供了重要的信息来源。

9.XML格式转换器。它处理从数据提取器中传输过来的数据转换成为统一的XML格式。

二、数据集成模型实现的关键技术

(一)基于XML的数据库模式映射

要将关系数据通过XML表示,就需要数据库和XML之间的模式映射,在一个数据库中使用XML文挡通常有两种方法,一是当关系数据库和其它数据库或某种数据应用之间交换信息时,通过使用SQL/XML的内部函数形式映射机制,从关系数据中产生XML片段,使关系型数据格式转换为XML数据格式,这种情况下XML是不可见的。另一种不需要映射,通过固有的结构直接生成XML格式,这种格式对数据库而言是可见的。

前者为支持XML的数据库(XML-Enabled DataBase),即XEDB,这种映射方式也比较多,通常有两种:(1)基于表格的映射,以表格为基础的映射方式(The table-based mapping)也是大部分软件商所采用的,具体做法是它建立一个元素用以表示一个或多个数据表格,这种方式适合存取关系型数据;(2)基于对象的关系映射,它可以将文挡的层次结构转换为树装结构。

(二)基于XML语言的Web服务接口技术

目前大多软件数集成接口采用OMG组织提出的基于CORBA的服务接口,它作为一个分布式计算机平台,定义了一条软总线允许客户对远程或本地对象发出服务请求,同时还定义了一组公共的对象服务。可以说很好的将不同厂商的复杂、异构应用和服务集成起来,但是传统CORBA对象模型仍然有很多的不足。随着技术的不断进步,后来发展到更通用的基于XML语言的Web服务接口定义语言(WPDL),文章采用基于XML语言的业务流程模型描述语言,具有很强的开发性和通用性,为企业集成提供了强有力的技术支持。

(三)XML数据源表示技术

用XML表示的文档内容主要有两种:其一是以文档为中心的(DCD),其二是以数据为中心的(DCD)。前者不具有很强的数据结构性,通常将不同类型的信息以XML形式表示,比如文档、信件内容、网页等。后者以数据为中心的文档,其所表示的内容具有高度的结构性。

目前,应用比较广泛的数据库有对象数据库,关系数据库及多媒体数据库等,其中关系数据库是目前乃至今后相当长一段时间内将是主流。因此以关系数据库为例说明如何将关系模式转换为XML模式,根据XML Schema的特性,它为将关系模式转换为XML模式的完全转换提供了前提条件,XML Schema有着自己的一套完整的语法。以下用代码事例描述一个简单的用XML表示的数据结构和用Schema表示结构关系:

简单的XML文档表示:InventTable.xml

11011

LCD Television

BOM

Purch

Purch

下面用是一个名为InentTable.xsd的文件,定义了上面的InventTable.xml文档元素:

targetNamespace=".cn"

xmlns=".cn"

elementFormDefault="qualified">

(四)集成系统的安全和速度问题

为了提高数据集成信息的安全,防止数据的丢失、出错或者被别人盗取等问题,建议采用以下两种解决方式:其一,可以把XML脚本放到数据库中,使它和隐含的字段关联起来;其二,如果把XML存储到一个指定的文件夹中,最好对其进行隐藏,使用的时候,通过定义静态变量的方法,把他们初始化到内存中,从而加快程序运行的速度。

三、未来集成技术的发展趋势

在未来的企业信息化应用过程中,企业将不断把企业的各个业务纳入倒信息化管理得范围内,这样对信息化集成技术的要求将不断提升,因此为了提高集成平台以及集成系统的柔性,集成平台技术框架设计将传统的2层逐步向n层扩展,如图3所示:

四、结语

互联网的飞速发展使人类社会的信息量迅速(下转第31页)(上接第24页)膨胀,对信息管理和信息集成的需求越来越强烈,特别是在现代化企业信息化应用的过程中,信息的共享和集成是制约企业信息发展的主要瓶颈,也是企业提升市场竞争力的一个主要途径,如何才能将企业有限的信息资源无 缝集成,这也是当前以及今后所要研究的重点。XML技术的出现以及快速的发展对解决复杂异构数据源的集成以及交互发挥了很大的作用。文章提出基于XML的数据集成模型框架,在一定能程度上解决了集成问题,但是数据集成是一个不断发展和持续性的项目,企业需要在不断变化的环境中建立清晰的技术实现蓝图,用更长远的目标来审视技术的发展。

参考文献

[1]樊玉顺.信息化管理战略与方法[M].北京:清华大学出版社,2008.

[2]杨芙清,梅宏.构件化软件设计与实现[M].北京:清华大学出版社,2008.

[3]任小娟.模型框架之探讨[J].企业周刊,2003.

[4]沈建新,周儒荣.产品全生命周期管理系统框架及关键技术研究[J].南京航空航天大学学报,2003,35(5).

[5]杨正合.基于SOA的协同软件设计研究[J].优源期刊,2003.

[6]张守忠.面向对象的航空项目管理与产品数据管理的集成研究[J].企业周刊,2005

基金项目:国家863高技术研究发展计划资助项目:面向航天行业的可定制plm系统(项目编号:2007AA040601)。

作者简介:崔晓珍(1981-),男,甘肃会宁人,供职于北京神舟航天软件技术有限公司,研究方向:企业制造信息化管理、数据集成