酈仕云 林揚帆 湯洪濤
(浙江工業(yè)大學 杭州310014)
隨著信息技術(shù)的飛速發(fā)展,當前我國船舶企業(yè)已開始探索使用船舶產(chǎn)品全生命周期管理(PLM,Product Lifecycle Management)系統(tǒng)和圖紙打印系統(tǒng)(DPS,Document Print System)對圖紙的設(shè)計、打印、發(fā)放、回收等各個方面進行全面的數(shù)字化管理。通過PLM系統(tǒng),設(shè)計人員對電子圖紙進行有效管理,實現(xiàn)對圖紙的版本、操作權(quán)限等進行系統(tǒng)地管理和控制[1];通過DPS系統(tǒng),設(shè)計人員實現(xiàn)了對紙質(zhì)圖紙的打印、發(fā)放、回收、銷毀、借閱等業(yè)務進行有效控制和管理[2-3]。
PLM系統(tǒng)是PDM系統(tǒng)的延伸和擴展,其管理的基本對象為圖紙的整個電子文件,一般很少對電子圖紙的具體每頁進行管理和控制。作為電子文檔管理系統(tǒng),PLM系統(tǒng)一般不參與紙質(zhì)圖紙的打印、發(fā)放、回收等環(huán)節(jié)的管理工作[4]。因此設(shè)計人員難以在PLM系統(tǒng)中直接獲得紙質(zhì)圖紙的打印、發(fā)放、回收等流轉(zhuǎn)信息。此外圖紙打印系統(tǒng)需要從PLM系統(tǒng)中獲取電子圖紙以實現(xiàn)圖紙的打印。因此PLM系統(tǒng)和圖紙打印系統(tǒng)需要從數(shù)據(jù)和流程上實現(xiàn)集成,通過數(shù)據(jù)集成圖紙打印系統(tǒng)可高效準確地從PLM系統(tǒng)中獲取必要的電子圖紙的打印信息,同時通過流程集成PLM系統(tǒng)可快速準確地從圖紙打印系統(tǒng)中獲取紙質(zhì)圖紙的打印、發(fā)放等狀態(tài)信息,從而有效解決人工手動操作引起的信息傳輸效率低、周期長、成本高、信息錯誤率高等問題,為此研究和開發(fā)PLM系統(tǒng)和圖紙打印系統(tǒng)的集成接口有較高的工程價值和意義。
文中對PLM系統(tǒng)與圖紙打印系統(tǒng)的集成業(yè)務需求進行了詳細分析,以出圖單的集成為例,設(shè)計了集成的數(shù)據(jù)流程,采用基于Webservice的異構(gòu)系統(tǒng)集成技術(shù),通過PLM系統(tǒng)和圖紙打印系統(tǒng)的接口開發(fā),實現(xiàn)了打印業(yè)務過程和數(shù)據(jù)流的集成。
面向設(shè)計部門的船舶產(chǎn)品PLM系統(tǒng)主要管理的業(yè)務對象包括:圖紙、出圖單、修改單、工作聯(lián)系單、送退審業(yè)務數(shù)據(jù)等;圖紙打印系統(tǒng)是船舶企業(yè)的設(shè)計部門將電子數(shù)據(jù)轉(zhuǎn)換為紙質(zhì)材料、并對其進行跟蹤的主要系統(tǒng),因此PLM系統(tǒng)是圖紙打印系統(tǒng)的數(shù)據(jù)源,兩者集成需要從業(yè)務數(shù)據(jù)和流程進行分析。本文將以出圖單為例進行詳細分析。
出圖單是設(shè)計部門內(nèi)部實現(xiàn)電子數(shù)據(jù)轉(zhuǎn)換、紙質(zhì)圖紙流轉(zhuǎn)和圖紙發(fā)放給外部的重要載體,其承載的信息包括圖紙信息、圖紙發(fā)放部門、圖紙曬印數(shù)量、曬印要求時間等一系列信息。出圖單的主要流程包括審核、打印、下發(fā)、領(lǐng)用等,詳細流程如圖1所示。
(1)申請、審核出圖單
根據(jù)圖紙實際完成情況和施工部門的圖紙需求情況,申請各部門具體需要圖紙的曬印份數(shù)。專業(yè)主任審核出圖單所曬印的圖紙是否滿足曬印下發(fā)狀態(tài)。
圖1 出圖單業(yè)務流程圖
(2)曬印圖紙
打印人員根據(jù)出圖單上的圖紙和數(shù)量信息,曬印相關(guān)圖紙,曬印完成后通知發(fā)圖員前來領(lǐng)圖。
(3)圖紙發(fā)放
發(fā)圖員根據(jù)曬圖單中的各部門圖紙情況,按部門整理圖紙,再通知施工部門前來簽領(lǐng)圖紙。
根據(jù)出圖單的業(yè)務功能分析,出圖單是圖紙發(fā)布的重要環(huán)節(jié),因此在PLM系統(tǒng)內(nèi)建立出圖單模塊是符合船舶產(chǎn)品PLM系統(tǒng)業(yè)務需求的。此外,為方便設(shè)計人員隨時跟蹤圖紙曬印進度,PLM系統(tǒng)中還需記錄圖紙曬印過程的各類關(guān)鍵信息。
根據(jù)上述出圖單的業(yè)務描述,PLM系統(tǒng)為實現(xiàn)出圖和數(shù)據(jù)記錄功能,除PLM系統(tǒng)中自身所存儲的圖紙信息外,還需要部門信息、圖紙份數(shù)信息、圖紙曬印記錄(業(yè)務、人員和時間)和圖紙發(fā)放記錄(業(yè)務、人員和時間)。
結(jié)合出圖單的業(yè)務功能和PLM系統(tǒng)對出圖信息的需求,圖紙打印系統(tǒng)主要為實現(xiàn)出圖單的圖紙的曬印和發(fā)放等業(yè)務功能。
為實現(xiàn)圖紙的曬印和發(fā)放功能,圖紙打印系統(tǒng)需要圖紙發(fā)送部門名稱、圖紙名稱、圖紙編號、出圖份數(shù)、圖紙的電子文件、版本信息、曬印要求(曬印類型、曬印日期)、發(fā)放日期等。
為滿足上述業(yè)務需求,PLM系統(tǒng)實現(xiàn)管理出圖基本業(yè)務,可從系統(tǒng)內(nèi)部得到必要的圖紙電子文件等信息,并可在出圖單編輯頁面中獲得必要的圖紙曬印部門數(shù)量信息。圖紙打印系統(tǒng)管理電子圖紙轉(zhuǎn)換成紙質(zhì)圖紙以及圖紙流轉(zhuǎn)過程,因此可從系統(tǒng)內(nèi)部獲得打印狀態(tài)變遷信息和圖紙流轉(zhuǎn)狀態(tài)變遷信息。
結(jié)合出圖單業(yè)務流程,系統(tǒng)集成后出圖單的程序流程應如圖2所示。
從圖2中可以看出,為實現(xiàn)信息交互,PLM系統(tǒng)需要從DPS調(diào)用以下服務:出圖單打印服務(PrintDocPrintInfo)、內(nèi)部修改單傳輸服務(InnerModifyDocInfo)、內(nèi)部修改單審核服務(InnerModifyDocCheck);而DPS需 要 從PLM系統(tǒng)調(diào)用:打印開始記錄服務(StartPrint)、打印完成記錄服務(FinishPrint)、發(fā)圖員領(lǐng)用記錄服務(SenderGot)、交接開始記錄服務(ReceiveStart)、交接結(jié)束記錄服務(ReceiveOver)。各服務功能如下:
PrintDocPrintInfo:出圖單審核完成后,調(diào)用該服務,向圖紙打印系統(tǒng)傳遞打印需要的出圖單信息等。
StartPrint:出圖單及圖紙打印開始時,發(fā)給PLM系統(tǒng)一個反饋信息,說明開始時間、負責人、處理事務等。
圖2 系統(tǒng)集成后出圖單程序流程圖
InnerModifyDocInfo:若在圖紙歸檔前,設(shè)計用戶發(fā)現(xiàn)出圖單或者圖紙信息錯誤,需向打印系統(tǒng)發(fā)出修改指令,這個指令通過內(nèi)部改圖單說明,該服務用于傳遞改圖單具體內(nèi)容數(shù)據(jù),同時控制DPS使其暫停打印。
InnerModifyDocCheck:用于傳輸內(nèi)部修改單審核結(jié)果數(shù)據(jù),該數(shù)據(jù)可以決定改圖內(nèi)容是否執(zhí)行,同時啟動打印。
FinishPrint:出圖單及圖紙打印結(jié)束時,發(fā)給PLM系統(tǒng)一個反饋信息,需要記錄的數(shù)據(jù)包括單據(jù)編號、完成時間、負責人、單據(jù)類型。改圖單打印完成時,記錄信息同樣調(diào)用該服務。
SenderGot: 發(fā)圖員完成圖紙領(lǐng)用時,發(fā)給PLM系統(tǒng)一個反饋信息,需要記錄的數(shù)據(jù)和FinishPrint服務類似。
ReceiveStart:船廠交接用戶開始領(lǐng)用圖紙時(即一份出圖單對應的任意一份圖紙完成船廠用戶的交接),發(fā)給PLM系統(tǒng)一個反饋信息,需要記錄的數(shù)據(jù)包括單據(jù)編號、開始時間、單據(jù)類型、歸檔標識。
ReceiveOver:一份出圖單對應所有交接全部完成時,發(fā)給PLM系統(tǒng)一個反饋信息,需要記錄的數(shù)據(jù)包括單據(jù)編號、開始時間、單據(jù)類型。
本文中所指的PLM系統(tǒng)和圖紙打印系統(tǒng)均利用JAVA語言開發(fā),并采用B/S結(jié)構(gòu),因此采用Webservice進行接口開發(fā)。
為實現(xiàn)不同系統(tǒng)的數(shù)據(jù)傳輸,需定義數(shù)據(jù)傳輸協(xié)議。為提高數(shù)據(jù)的可讀性、結(jié)構(gòu)性、可擴展性及可重用性,同時考慮到XML是一種獨立于平臺的純文本,擁有以上提到的優(yōu)秀屬性[5-6],適合描述結(jié)構(gòu)復雜的數(shù)據(jù)。因此本文采用XML格式為數(shù)據(jù)傳輸協(xié)議格式。
根據(jù)業(yè)務分析,需要傳輸?shù)闹饕獢?shù)據(jù)包括單據(jù)信息、圖紙信息、圖紙流轉(zhuǎn)狀態(tài)信息等,其中單據(jù)信息等又包含部門及相應圖紙信息,數(shù)據(jù)相互交叉,結(jié)構(gòu)相對復雜。
數(shù)據(jù)傳輸協(xié)議包括協(xié)議消息頭部信息和業(yè)務參數(shù)。
消息頭部信息描述公共數(shù)據(jù)信息。根據(jù)消息的用途(請求或響應),頭部分為業(yè)務請求消息頭(msgreqheader)和業(yè)務響應消息頭 (msgrspheader)兩種。請求信息中, 協(xié)議消息頭的具體格式以請求類型協(xié)議為例: 業(yè)務參數(shù)存放在協(xié)議的 其中 接口服務程序框架、調(diào)用接口的地址實現(xiàn),接口XML調(diào)用,接口程序片段等來展示所采用的技術(shù)。 3.2.1 Webservice接口程序框架 一個接口代表一個Web服務,以DPS提供Web服務為例,PLM系統(tǒng)調(diào)用接口,將XML格式的數(shù)據(jù)傳輸給DPS,Web服務功能在DPS中實現(xiàn)。接口程序框架如圖3所示。 3.2.2 調(diào)用接口實現(xiàn) 要實現(xiàn)PLM調(diào)用Webservice,DPS需要定義一個Webservice地址,地址信息包括IP和調(diào)用方法名。本文借助Axis(Apache extensible Interaction system)生成Webservice,實例一個通過Axis根據(jù)wsdl生成的對象,然后根據(jù)定位器獲取端口類型并調(diào)用里面的方法,獲取返回值。部分實現(xiàn)代碼如下: 圖3 接口程序框架 String address = "http://10.8.10.169:8080/DPS/services/PrintDocPrintInfo"; PrintDocPrintLocator locator = new PrintDocPrint InfoLocator(); PrintDocPrintPortType soap = locator.getPrintDoc PrintInfoHttpSoap11Endpoint(new URL(address)); String returnMsg = soap.PrintDocPrintInfo(xml); 3.2.3 協(xié)議解析和功能實現(xiàn) 以DPS調(diào)用StartPrint服務為例,當打印開始時,DPS將需要記錄的信息以XML文本形式傳輸給到PLM系統(tǒng)。由PLM系統(tǒng)對其進行處理,代碼如圖4所示。 圖4 協(xié)議解析功能實現(xiàn)代碼 本文以出圖單為例演示系統(tǒng)集成功能的實現(xiàn)。設(shè)計人員在PLM系統(tǒng)中編制好出圖單后,系統(tǒng)調(diào)用DPS系統(tǒng)的PrintDocPrintInfo服務,DPS系統(tǒng)自動根據(jù)協(xié)議內(nèi)容從PLM系統(tǒng)獲取圖紙電子文件,并在系統(tǒng)內(nèi)根據(jù)項目、專業(yè)和圖紙屬性信息等存儲數(shù)據(jù),同時啟動打印發(fā)放流程,發(fā)放過程中自動將過程數(shù)據(jù)通過Webservice服務接口反饋給PLM系統(tǒng)。 圖5為DPS存儲數(shù)據(jù)界面,圖6為DPS中圖紙流轉(zhuǎn)信息記錄(發(fā)放到內(nèi)業(yè)部門),圖7為PLM系統(tǒng)所記錄的圖紙打印、發(fā)放過程數(shù)據(jù)。 圖5 DPS存儲數(shù)據(jù)界面 圖6 圖紙流轉(zhuǎn)信息記錄 圖7 PLM中歸檔后出圖單詳細信息 針對船舶企業(yè)使用PLM系統(tǒng)和圖紙打印系統(tǒng)時,采用人工手動傳遞數(shù)據(jù)情況,本文從系統(tǒng)集成角度,分析PLM系統(tǒng)和圖紙打印系統(tǒng)的業(yè)務需求,采用基于Webservice技術(shù)解決PLM系統(tǒng)和圖紙打印系統(tǒng)之間的數(shù)據(jù)傳遞問題。經(jīng)實例驗證表明采用Webservice技術(shù)和基于XML格式的數(shù)據(jù)傳輸協(xié)議較好地實現(xiàn)了PLM系統(tǒng)和圖紙打印系統(tǒng)的數(shù)據(jù)和流程集成,由于基于XML格式的數(shù)據(jù)傳輸協(xié)議具有良好的可擴展性、結(jié)構(gòu)性、可理解性、可重用性,該技術(shù)可廣泛應用于企業(yè)管理系統(tǒng)間的數(shù)據(jù)、流程集成,具有較好的工程應用價值。當前系統(tǒng)未考慮對延遲下發(fā)的項目進行提醒和報警的功能,有待在未來開發(fā)中進一步研究。 [1] 張璐.企業(yè)工程圖紙管理系統(tǒng)的研究與實現(xiàn)[D].吉林大學.2012. [2] 續(xù)愛民,王曉鏑,徐建榮.船舶企業(yè)電子圖檔管理系統(tǒng)研究[J].上海造船,2010(4):63-72. [3] 付仕鄖.工程圖集中打印管理系統(tǒng)的設(shè)計與實現(xiàn)[D].華中科技大學.2005. [4] 陳軍民.檔案圖紙文件打印接口在PLM系統(tǒng)中的開發(fā)應用[J].上海檔案,2011(7):20-21. [5] ArborText Inc.W3C XML Specification DTD[EB/OL].[2013-07-01].http://www.w3.org/XML/1998/06/xmlspecreport-19980910.htm. [6] ZHOU E Z.XML and Data Exchange for Power System Analysis [J].IEEE Power Engineering Review,2000,20(4):66-68.3.2 Webservice服務接口程序?qū)崿F(xiàn)
3.3 系統(tǒng)集成實例
4 結(jié) 論