基于XML的异构PDM平台数据交换技术
作者 : 未知

  在多厂所、跨域联合进行航天产品的协同研制模式下,基于异构PDM有效管理设计数据发放及接收,很好地解决了设计数据在不同设计部门、设计与制造部门间流转过程中的技术状态控制难题。本文基于XML、WebService等技术,通过PDM平台的二次开发,实现了在异构PDM平台下的数据交换。
  一、引言
  航天产品的研制涉及预研、设计、制造、测试和发射等众多环节,具有研制周期短、产品质量要求高的特点,单纯依靠某一单位很难在短时间内完成需求分析、结构设计、产品制造、产品测试和产品交付等整个研制过程,需要基于网络环境下的多专业、多领域协作完成。由于航天产品研、制分离的独特模式使得各专业群体往往分布在不同的部门、不同的地区,因此必须采用研究所与企业联合研制的模式,充分发挥各自的专业特长,异地设计、制造、管理与协同工作模式是未来我国航天产品研制发展的必然趋势。要实现航天产品协同研制,首要的就是要解决设计数据共享与管理问题。
  产品数据管理(PDM)以产品为核心,以软件技术为基础,在企业范围内为产品的设计与制造创建一个并行化的协同工作环境,它提供了产品全生命周期的信息化管理,实现了对产品相关的数据、过程和资源一体化的集成管理。随着型号产品三维研制模式的逐步推广,越来越多的企业使用PDM平台对产品全生命周期进行管理,以实现缩短产品开发周期、提高质量、降低成本的目标。但由于不同的企业往往选用不同的PDM系统,造成设计数据在协同研制过程中流转不畅,技术状态难以控制等问题。一直以来,采用异构PDM平台的厂所间的数据交换往往依靠手工来完成,这种手工传送的方式常常带来数据传送不及时、数据安全性和一致性不能充分保证、数据交换无法完整记录等问题,一旦数据源出现问题,轻者产品重修,重者产品报废,给航天产品研制带来无法挽回的损失。本文在结合目前厂所间选用不同PDM平台的应用现状,采用XML、PDM平台二次开发等技术实现设计数据在厂所不同PDM平台间的可控发放和接收,为航天产品实现多厂所协同研制过程中数据源有效控制提供解决方案。
  二、关键技术
  1.XML技术
  XML(eXtensible Markup Language,可扩展标记语言)是W3C(互联网联合组织)发布的一种标准,该标准允许信息提供者提供根据需要自行定义标记及属性名,亦可包含描述法。因此,XML为基于Web的应用提供了一个描述数据和交换数据的有效手段。XML的优势在于其应用的跨平台性及可扩展性,跨平台性决定了它是作为数据交换格式的最佳选择,可扩展性保证了XML语言对于各种不同应用系统的适应性。
  2.DOM4J技术
  目前用于处理XML文档的方式主要有DOM、SAX、JDOM和DOM4J几种。DOM(Document Object Model)是W3C处理XML的标准API,它是许多其它与XML处理相关的标准的基础,不仅是JAVA,其它诸如Javascript、PHP和MS.NET等语言都支持该标准,成为应用最广泛的XML处理方式。SAX使用了最少的系统资源和最快速的解析方式对XML处理提供了支持,它在一些需要处理大型XML文档以及性能要求较高的场合起了十分重要的作用。JDOM,DOM4J是对DOM接口功能的扩充,保留了很多DOM API的特性,尤其是DOM4J是一个十分优秀的Java XML API,具有性能优异、功能强大和极其易使用的特点。
  由于目前��内外主流PDM平台(Windchill、Teamcenter等)均是基于Java进行二次开发,因此本文在处理XML时采用DOM4J技术。
  3.WebService技术
  WebService是一种Web服务,它可以通过轻量级的、与厂商无关的通信协议从其他的系统跨网络接受XML格式的请求。WebService使用XML语言提供了平台和语言无关性,并且提供了标准的访问接口,各个WebService间具有高度的低耦合性,非常适用于应用集成。
  4.SFTP技术
  SFTP(Secure File Transfer Protocol)即SSH文件传输协议是一个在安全壳密码保护下提供文件传输和文件管理的文件访问网络协议。与传统的FTP协议相比,因为在服务器和客户端之间的数据是经过加密之后在网络中传递,所有具有高度可靠的安全性。再加上其支持断点续传功能,因此适用于在网络中进行具有较高密级要求的航天产品数据传送。
  三、系统设计
  1.系统结构设计
  基于XML的异构PDM平台数据交换的系统结构如图1所示。
  数据交换系统结构由PDM平台(发送)、中间服务器和PDM平台(接收)三部分组成。PDM平台(发送)负责接收并受控由其它应用软件(Office、NX、Creo等)产生的设计数据,再由单位档案人员收集所需发放的数据并创建分发流程,流程签署完毕后,通过PDM平台(发送)二次开发程序自动将发送的数据打包并以SFTP方式上传至中间服务器,同时在中间服务器的数据库表中增加数据包的发送记录。中间服务器负责存储交换数据的数据包以及记载发送记录。PDM平台(接收)负责定时以WebService方式访问中间服务器的数据库,当有新的发送记录时以SFTP方式将数据包从中间服务器下载至本地,并对数据包中的数据进行解析及检查,检查通过后,自动启动PDM平台(接收)的二次开发导入程序将数据包导入,接收方的档案人员对接收数据核对无误后通知使用人员开展后续业务工作。
  2.数据发送接口模块
  通过对PDM平台(发送)进行二次开发,当发送流程签署完毕后,平台自动将所需发送的设计数据生成数据包,数据包包含信息如下:零组件属性信息、BOM结构及BOM行属性信息、三维设计模型或二维工程图和设计文档。   二次开发程序在本地生成rar或zip格式的数据包后,调用SFTP程序将数据包上传至中间服务器,再以WebService方式在中间服务器的数据库中新增一条记录,用于接收方查询是否有新数据包生成。生成的数据包包括数据规格描述文件(XML格式)和用于存放各类设计数据的文件夹,数据包结构如图2所示。
  数据规格描述文件用于记录数据包中设计数据的属性、版本、数量和BOM结构等详细信息,由二次开发程序采用DOM4J技术生成,一般包括零组件(或文档)属性描述文件和BOM结构描述文件。
  (1)属性描述文件。
  此文件用于记录PDM系统中零组件(或文档)节点的属性及关联数据集信息,可以包含多条记录,顶层节点以开头,以结束,其它节点以开头,以结束。每条记录中包括节点的ID、名称、材料属性等信息,格式如图3所示。
  (2)BOM结构描述文件。
  此文件用于记录PDM系统中BOM结构及BOM行属性信息,父级以开头,以结束,子级以开头,以结束,格式如图4所示。
  3.中间服务器
  中间服务器用于部署数据交换记录数据表、SFTP及WebService服务,数据库表记录数据包的编号、所属产品代号、上传时间、下载时间、接收单位和数据包状态等关键属性,如表1所示。SFTP服务提供安全的数据包上传、下载服务,WebService服务为双方PDM平台通过Web方式访问数据表以记录数据交换状态。
  4.数据接收接口模块
  PDM平台(接收)定时以WebService方式访问中�g数据库表,如有新数据包自动启动SFTP服务将数据包下载至本机,并在数据库表相应字段中填写下载记录,通过二次开发程序对数据包进行解析并对数据包的数据进行检查,检查内容如下:数据包中的零组件(文档)是否存在多版本;数据包中是否缺少模型(文档)物理文件;数据包中的产品结构应记录完整,包括父子关系、数量和是否借用等。
  数据包检查通过后,导入程序通过创建零组件(文档)节点、导入属性信息、创建BOM结构和导入物理文件等步骤将数据包中的设计数据完整无误的导入到PDM平台(接收)中。