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