< 返回
基于xml技术的capp和PDM系统的集成框架

产品全生命周期管理( productl ifecyclemanagement, PLM)是继erp, crm和SCM之后的又一重要的企业应用系统,它包括了对产品需求、产品设计、产品制造、产品销售与使用等各阶段的集成管理。PLM系统关注产品从需求分析到设计、制造、销售、使用、报废的整个过程,围绕产品这个核心进行信息管理,能有效提高企业的竞争能力,从而成为企业信息化领域新的突破点。在PLM中强调信息的集成,即产品的信息能贯穿产品生命周期的各阶段,并方便各阶段不同类型工作的使用。PLM系统的核心是PDM ( product data management,产品数据管理)系统, PDM系统管理与产品相关的信息和与产品相关的过程,主要涉及到产品的分析、设计与制造。

因此在进行PLM系统开发时,最关键的问题就是PDM系统与其他系统的信息集成问题。然而目前的cad, CAPP, cam等系统各有不同的数据存储和表现格式。cad系统具有相似的软件结构和界面,能够提供一个统一的接口,比较容易实现;而capp系统则主要是企业定制的,不同的capp由于其使用层次及涉及的数据不同,其软件结构也有很大的不同,并且每个企业具体的工艺流程、工艺库不同,其capp系统也不同,可以说每个企业的capp系统都不同,如果PDM对每一个capp系统都做一个专用集成接口,那么对每一种集成接口都要专门进行维护,这样维护成本极其昂贵,并且专用集成接口的可移植性较差,导致每做一个不同的集成接口开发成本较高。为了解决上述问题,提出了一个可扩展的通用capp和PDM系统的集成框架,此框架是平台无关的,具有较好的可维护性和可移植性。

1集成的系统框架

capp系统具有多样性与异构性的特点,并且现有的不同PDM系统也是采用不同的系统架构和外部接口,因此必须采用基于web的平台无关的技术来实现通用的capp和PDM系统的集成。由于web service平台是完全与平台无关的,它定义应用程序在web上的互相通信,而与各应用程序的底层实现无关,因此选择web service平台实现capp和PDM系统的集成。对于平台无关性的要求使得我们必须屏蔽不同系统的底层实现细节,不同的系统对外提供统一的调用接口, facade设计模式恰恰具有上述优点,因此capp和PDM系统的底层接口分别用facade模式封装成web service,以对外部屏蔽各自的底层接口,只暴露互相调用所需要的api, PDM系统可以通过web调用封装了capp接口的web service。反之capp也可以调用PDM的web service,两者通过web互相调用,关系是对等的。PDM系统和capp系统互为web service的客户端和服务器端,客户端和服务器之间用sOAp协议通信。两个系统之间采用xml格式进行信息交换,各自通过数据交换封装接口把各自的内部数据格式转换成xml 数据格式发送请求,收到xml格式的数据之后也是通过数据交换封装接口把收到的xml数据解析为各自的内部格式。

此集成框架的web service是与底层实现无关的,因而是通用的,做不同capp和PDM系统集成的时候只需要做与底层实现有关的数据交换封装接口,把底层接口用facade模式封装成统一的集成接口,不同的capp系统( PDM系统)对外提供的是相同的接口函数,实现了集成框架的通用性(图1)。

下面举例说明:假如capp系统需要从PDM中取得设计bom,此时capp作为PDM系统web service的客户端会通过web service平台发送xml格式的sOAp消息给PDM的webservice应用程序,web service应用程序通过数据交换封装接口解析xml格式的消息为PDM内部数据格式,查找PDM的产品信息数据库,并且通过数据交换封装接口把查询结果由PDM的数据格式转换成xml 格式,然后把得到的xml 数据通过web service封装成sOAp消息传回给capp系统的web应用程序, capp系统通过数据交换封装接口把得到的xml格式的结果转换成capp 系统内部的数据格式, 此时可以在capp 系统中查看查询结果。反之如果PDM 系统需要从capp系统中得到工艺bom, 则PDM 作为capp 系统web service的客户端也通过上述过程调用web service得到符合要求的数据。

2相关技术的讨论

2. 1xml技术

由于各个capp系统的数据格式不尽相同,显然不可能对每个capp和PDM系统之间都做一个集成接口,这样不仅浪费人力物力,系统的可移植性也很差或者说几乎不可移植,因此必须提供一种中间的通用数据格式来实现两个系统之间的信息集成。

xml作为一种高效、简单且具有高度开放性、兼容和跨平台性能的数据存储和数据交换标准,越来越显示出其强大的优越性。xml的优点主要有: ①可扩展性。xml 允许用户创建自己的dtd或者schema,有效地创建可被用于多种应用的可扩展的标志集。②灵活性。xml提供了一种结构化的数据表示方式,使得用户数据与结构分离。capp与PDM之间主要交换的数据是结构化的bom表, xml 表示bom表具有天然的优越性。③自描述性。xml 文档一般会包含文档类型声明,因此xml语言是自描述性的。xml 独立于具体的操作平台和应用系统,具有很强的可重用性。由于xml具有如此多的优点,选择xml作为中间格式实现capp与PDM之间的数据交换。capp和PDM系统各自把自己的数据转换成xml这种中间格式,通过集成框架实现数据交换,实现了集成框架的平台无关性和强大的可移植性。

capp系统和PDM系统之间主要的交换数据是bom(bill of material,物料清单)表,capp从PDM中得到设计bom和设计属性, PDM从capp中得到工艺bom和装配bom,产品结构树是bom表的中心内容。下面给出一个用xml实现的产品结构树例子:

< ? xml version = " 1. 0" ? >

箱体1 < /名字>

齿轮1

大齿轮< /类型>

< /齿轮>

齿轮2

大齿轮< /类型>

< /齿轮>

轴承1 < /名字>

一轴< /类型>

< /轴承>

< /箱体>

< /变速箱>

两个系统之间交换的数据全部封装成xml格式,通过各自的数据交换封装接口进行xml格式和内部数据格式的互相转换。

2. 2facade 设计模式

不同的PDM系统和capp系统集成必须隐藏底层接口的实现细节,对外提供一个统一的高层接口以实现通用性的与平台无关的集成框架。数据交换封装接口把两个系统有关提供bom信息的底层接口封装成为高层接口,不同的capp或者PDM系统封装之后对外提供的接口是一致的,以实现接口的通用性,用facade设计模式来封装底层接口,可以达到上述要求。把所有不同的capp系统的底层相关接口封装成统一的facade高层接口,对外提供的是相同的调用方法,这样外部程序不需要知道每一个capp系统的底层接口,只需要知道facade接口的调用方法就可以与不同的capp系统交互。

facade是一种软件设计模式,此模式为子系统中的一组接口提供一个一致的界面,或者说是为子系统底层的一组接口设计一个高层接口,屏蔽底层接口的实现细节,外部应用程序通过一个统一的facade接口访问子系统,隐藏了子系统的复杂性。当子系统的某个接口变化或者增添了一个新接口,外部应用程序并不需要知道,实现了客户端与服务端的松耦合性。本集成框架采用facade设计模式封装capp和PDM的部分接口,以实现集成接口与各个系统的松耦合性。

对PDM系统的数据封装接口主要封装提取产品设计信息和产品结构信息的接口,把提取出来的信息转换成xml格式的数据,并且把外部传入的xml数据转换成PDM内部使用的数据格式;对capp系统的数据封装接口主要封装提取零部件的工艺属性信息、零部件的工艺路线信息以及零部件的工序内容信息的接口,同样把提取出来的信息转换成xml格式的数据,并把外界传入的xml 数据格式转换成capp内部使用的数据格式。图2是capp数据交换封装接口的示意图( PDM系统的数据交换封装接口与图2类似,不再给出) 。

下面给出一个通用接口的部分代码:

/ /获取capp信息的接口

public interface CAPP information{

/ /初始化工艺文件。入口参数:工艺文件的名称;输出:工艺文件

file initcappfile ( string cappfilename) ;

/3 获取表头参数。入口参数:工艺文件和表头属性名称;输出:表

头属性内容3 /

object gethead information ( file cappfile, string paraname) ;

/3 更改表头参数。入口参数:工艺文件、表头属性名称和属性内

容;输出:更改是否成功3 /

bool sethead information ( file cappfile, string paraname, objectpara info) ;

?

}

2. 3web service

web service完全基于xml (可扩展标记语言) 、xsd (xml schema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。它的主要目标是跨平台的应用程序的互操作性。web service通过完全平台无关的xml表示数据,通过基于xml和http协议的sOAp协议传递数据,可以用在任何平台上、用任何语言来开发web service应用程序。而以前的分布式应用程序开发标准com和dcom都是基于windows平台的,对于linux平台下的应用程序则无能为力,并且在一个大型网络中配置dcom是十分困难的事情。因此我们选择web service平台作为PDM和capp系统集成框架的集成平台。web services是通过一系列标准和协议来保证程序之间的动态连接。其中最基本的协议包括:sOAp, wsdl, udd i。sOAp( simple object access protocol,简单对象存取协议)是web services消息通信的协议,是web services的核心内容; wsdl (web services description language) 是web服务定义语言,用来说明sOAp的消息和如何交换这些消息; udd i(universal descrip tion, discovery, and integration,通用发现、说明和集成)用于集中存放和查找wsdl描述文件,起着目录服务器的作用。

对底层接口封装之后,在统一的高层数据交换接口上编写web service应用程序,由于不同系统提供了统一的高层数据交换接口,web service只与高层数据接口进行交互,因此可以编写通用的web service服务程序应用于不同capp和PDM系统的集成。

通过对PDM和capp系统分别编写通用的web service应用程序,在web上进行各自web service的调用,可以实现PDM和capp系统的无缝集成。

3总结

capp和PDM系统的集成是实施PLM系统的一个重要的内容,然而由于capp系统的多样性与异构性,很难找出一个统一的接口。基于xml 技术的可扩展的PDM和capp的通用集成框架,有较好的可维护性和可移植性。此框架采用web service平台技术和xml技术,真正实现了平台无关性,适用于所有的PDM和capp系统的集成,也可以用来作PLM框架下其他系统之间的集成。

在开发新万如PLM系统时应用此框架实现了开发capp和新万如PDM系统的集成,证明此集成框架具有可行性。