趙振杰 閆月輝 王浩 王錦程



在多廠所、跨域聯合進行航天產品的協同研制模式下,基于異構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系統中零組件(或文檔)節點的屬性及關聯數據集信息,可以包含多條記錄,頂層節點以
(2)BOM結構描述文件。
此文件用于記錄PDM系統中BOM結構及BOM行屬性信息,父級以
3.中間服務器
中間服務器用于部署數據交換記錄數據表、SFTP及WebService服務,數據庫表記錄數據包的編號、所屬產品代號、上傳時間、下載時間、接收單位和數據包狀態等關鍵屬性,如表1所示。SFTP服務提供安全的數據包上傳、下載服務,WebService服務為雙方PDM平臺通過Web方式訪問數據表以記錄數據交換狀態。
4.數據接收接口模塊
PDM平臺(接收)定時以WebService方式訪問中間數據庫表,如有新數據包自動啟動SFTP服務將數據包下載至本機,并在數據庫表相應字段中填寫下載記錄,通過二次開發程序對數據包進行解析并對數據包的數據進行檢查,檢查內容如下:數據包中的零組件(文檔)是否存在多版本;數據包中是否缺少模型(文檔)物理文件;數據包中的產品結構應記錄完整,包括父子關系、數量和是否借用等。
數據包檢查通過后,導入程序通過創建零組件(文檔)節點、導入屬性信息、創建BOM結構和導入物理文件等步驟將數據包中的設計數據完整無誤的導入到PDM平臺(接收)中。