黃 薇,蘇清華
(1.荊州理工職業(yè)學(xué)院 照明與電氣工程系,湖北 荊州434000,2.長江大學(xué)信息與數(shù)學(xué)學(xué)院,湖北 荊州434000)
現(xiàn)代造船業(yè)是多部門共同作業(yè)的大型業(yè)務(wù),從合同的簽訂、產(chǎn)品設(shè)計(jì)、材料選擇、工藝制作及最后的產(chǎn)品交互,需要經(jīng)歷很長時(shí)間,并且整個(gè)過程涉及到船舶設(shè)計(jì)研究機(jī)構(gòu)、設(shè)備制造公司、造船廠以及后續(xù)的監(jiān)測部門等多個(gè)單位,如何在所有單位之間建立船舶全周期信息系統(tǒng),以實(shí)現(xiàn)數(shù)據(jù)的分析及共享事關(guān)整個(gè)造船周期的效率及經(jīng)濟(jì)效應(yīng),同時(shí)對船舶的質(zhì)量進(jìn)行嚴(yán)格控制。
在以往的船舶全周期信息系統(tǒng)中,一般采用EAI技術(shù),包括DCOM、CORBA[1-2]等實(shí)現(xiàn)方式,這些方式的系統(tǒng)嚴(yán)重依賴單一廠商的技術(shù)實(shí)現(xiàn)及后續(xù)維護(hù),系統(tǒng)結(jié)構(gòu)異常復(fù)雜,并且后續(xù)的維護(hù)成本昂貴,不利于所有廠商對船舶全周期信息的數(shù)據(jù)共享維護(hù)。
利用現(xiàn)在互聯(lián)網(wǎng)技術(shù)提供的統(tǒng)一平臺(tái),能夠解決傳統(tǒng)船舶全周期信息系統(tǒng)的以上缺點(diǎn)。本文研究了傳統(tǒng)船舶生命周期數(shù)據(jù)共享技術(shù)的優(yōu)缺點(diǎn),結(jié)合現(xiàn)有的數(shù)據(jù)共享技術(shù)及Web 技術(shù),設(shè)計(jì)了全新的基于Web的船舶生命周期數(shù)據(jù)的共享及管理系統(tǒng),并且設(shè)計(jì)了通用標(biāo)志符的展示方法及針對二維數(shù)據(jù)交換對生命周期數(shù)據(jù)進(jìn)行映射。
現(xiàn)有的Web 服務(wù)應(yīng)用多是基于分布式架構(gòu)系統(tǒng),利用HTML 技術(shù)實(shí)現(xiàn)在Internet 網(wǎng)上的數(shù)據(jù)傳輸及展示,由于在分布式系統(tǒng)中,所有終端所使用的協(xié)議一致,所以能夠在所有廠商中構(gòu)建統(tǒng)一平臺(tái),從而降低了船舶生命周期數(shù)據(jù)共享系統(tǒng)的成本。
現(xiàn)有的Web 服務(wù)及應(yīng)用程序通常使用分布式數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)的冗余備份,基于此種方式的信息存儲(chǔ)架構(gòu)較復(fù)雜,并且不利于后面的系統(tǒng)擴(kuò)建升級。在本文提出了一種通用標(biāo)志符UID (Universal Identifier)[3]的數(shù)據(jù)備份方法來存儲(chǔ)及展示所有廠商的內(nèi)部數(shù)據(jù),同時(shí)針對二維數(shù)據(jù)交換對生命周期數(shù)據(jù)進(jìn)行映射,優(yōu)化了系統(tǒng)復(fù)雜度。
基于Web的服務(wù)應(yīng)用程序,其接口需要符合XML 標(biāo)準(zhǔn)協(xié)議,所有軟件之間文件描述、數(shù)據(jù)編碼、數(shù)據(jù)發(fā)送及最終都需要符合此協(xié)議。
由于Web 應(yīng)用已經(jīng)形成了標(biāo)準(zhǔn)組協(xié)議,其各廠商開發(fā)的船舶信息共享系統(tǒng)只需要符合標(biāo)準(zhǔn)協(xié)議即可實(shí)現(xiàn)各軟件之間的數(shù)據(jù)共享,具有很好的通用性,有利于分別進(jìn)行系統(tǒng)開發(fā),降低了開發(fā)的復(fù)雜度,并且具有很好的經(jīng)濟(jì)效應(yīng)。
圖1 為基于Web 開發(fā)模型圖。
圖1 基于Web的系統(tǒng)開發(fā)模型Fig.1 The system development model based on Web
1)數(shù)據(jù)共享的作用
由于現(xiàn)代海上運(yùn)輸業(yè)的發(fā)展,船舶大型化越來越明顯,同時(shí)由于環(huán)保觀念的深入人心,環(huán)保設(shè)施也增加了系統(tǒng)的復(fù)雜性。而現(xiàn)代造船產(chǎn)業(yè)競爭已經(jīng)非常充分,如何在較短時(shí)間交付出質(zhì)量較高的成品是現(xiàn)在造船企業(yè)競爭的核心所在。所以在整個(gè)造船環(huán)節(jié)中,包括結(jié)構(gòu)設(shè)計(jì)、設(shè)備元器件的選型、生產(chǎn)制造、航行測試及后續(xù)的檢測維修,能夠提供船舶整個(gè)生命周期的信息共享就顯得尤為重要,包括船舶設(shè)計(jì)研究機(jī)構(gòu)、設(shè)備制造公司、造船廠以及后續(xù)的監(jiān)測部門互相看到對方的信息數(shù)據(jù),從而對自身的設(shè)計(jì)生產(chǎn)進(jìn)行優(yōu)化改進(jìn)。
2)全周期信息共享的最終目標(biāo)[4]
船舶全周期信息共享系統(tǒng)一個(gè)中間平臺(tái),船舶生產(chǎn)過程中的各家企業(yè)可以通過平臺(tái)把船舶數(shù)據(jù)進(jìn)行共享,所以此平臺(tái)的意義在于對所有廠商共享數(shù)據(jù)進(jìn)行實(shí)時(shí)的動(dòng)態(tài)管理,以方便各廠商的數(shù)據(jù)分析。
由于船舶全周期信息系統(tǒng)關(guān)系到各家廠商的相互協(xié)調(diào),所以在具體的信息技術(shù)標(biāo)準(zhǔn)方面需要達(dá)到以下要求:
①新的船舶全周期信息系統(tǒng)必須向下兼容各家企業(yè)現(xiàn)在的信息平臺(tái),因?yàn)楝F(xiàn)有平臺(tái)已經(jīng)包含了多年數(shù)據(jù)積累。同時(shí)在后續(xù)管理中,可以通過平臺(tái)的各項(xiàng)功能逐漸代替現(xiàn)有平臺(tái)的功能。
②在新的功能和業(yè)務(wù)上,需要和平臺(tái)的各終端進(jìn)行統(tǒng)一架構(gòu)。
③能夠動(dòng)態(tài)實(shí)時(shí)的對平臺(tái)功能進(jìn)行擴(kuò)展,并且公共邏輯也需要具有伸縮性。
④需要滿足企業(yè)的信息安全機(jī)制,能夠?qū)?shù)據(jù)進(jìn)行安全加密。
利用Web 方式實(shí)現(xiàn)的船舶全周期信息集成模型采用了客戶端/服務(wù)端的方式,這個(gè)架構(gòu)的應(yīng)用系統(tǒng),其客戶端的所有程序都是獨(dú)立存在的一種應(yīng)用,同時(shí)這些服務(wù)應(yīng)與服務(wù)器端在設(shè)計(jì)之前都明確了之間的接口規(guī)范及消息傳遞方式,可以對這些接口進(jìn)行排列以形成一系列的業(yè)務(wù)流程。整個(gè)平臺(tái)的架構(gòu)如圖2所示。
上述系統(tǒng)的關(guān)鍵是實(shí)現(xiàn)船舶行業(yè)協(xié)會(huì)定義的UDDI 及對各級單位之間的接口進(jìn)行規(guī)范。當(dāng)上述完成后,企業(yè)即可對自身已有的數(shù)據(jù)信息系統(tǒng)進(jìn)行封裝來實(shí)現(xiàn)WEB 服務(wù),通過在系統(tǒng)中按照UDDI 進(jìn)行注冊。UDDI 其實(shí)就是行業(yè)協(xié)會(huì)規(guī)定的企業(yè)編號(hào)集,集中包含的企業(yè)注冊完成后,即可根據(jù)WSDL來開發(fā)全周期信息集成系統(tǒng)的Web 服務(wù)功能,并可以動(dòng)態(tài)的進(jìn)行管理、更新。
而針對原先并沒有自身信息數(shù)據(jù)系統(tǒng)的單位,僅需要滿足UDDI 注冊,通過規(guī)定好的接口,同樣可以從基于Web 方式實(shí)現(xiàn)的船舶全周期信息集成系統(tǒng)獲取其他企業(yè)的數(shù)據(jù)。
圖2 基于WEB的船舶全周期信息集成系統(tǒng)框架Fig.2 The structure of ship life-cycle information integration system based on WEB
而系統(tǒng)同樣需要考慮自身數(shù)據(jù)安全的問題,整個(gè)平臺(tái)構(gòu)架了2個(gè)不同優(yōu)先級的UDDI 注冊模塊,一個(gè)是行業(yè)級別的注冊(B2bi),提供對外的數(shù)據(jù)服務(wù),外部單位只能通過此種注冊進(jìn)行有權(quán)限的數(shù)據(jù)訪問;另外一個(gè)是企業(yè)級別的注冊(EAI),提供企業(yè)內(nèi)部的數(shù)據(jù)服務(wù),內(nèi)部單位可以分享所有有用數(shù)據(jù)。通過這種有差別的注冊機(jī)制,實(shí)現(xiàn)了內(nèi)外分離,保證了一些機(jī)密數(shù)據(jù)的安全。
最后,整個(gè)平臺(tái)WEB 服務(wù)應(yīng)用的開發(fā)是基于JAVA 組件,此種實(shí)現(xiàn)方式的優(yōu)點(diǎn)是可以利用其中的EJB 組件的會(huì)話協(xié)調(diào)協(xié)議,同時(shí)將應(yīng)用服務(wù)進(jìn)行按類型進(jìn)行分類管理,組成不同的邏輯單元。當(dāng)接收到SOAP 消息時(shí),解析SOAP 消息中的服務(wù)類型關(guān)鍵字,并按照順序調(diào)用不同的后臺(tái)服務(wù)器進(jìn)程。如果服務(wù)器進(jìn)程返回錯(cuò)誤,則需要對請求的事務(wù)進(jìn)行回滾,保證數(shù)據(jù)的一致性。
企業(yè)內(nèi)部信息處理流程如圖3所示。
由于整個(gè)造船行業(yè)中,不同類型的企業(yè)需要的船舶圖形類型不同,例如船舶的設(shè)計(jì)機(jī)構(gòu)需要的是船舶結(jié)構(gòu)及動(dòng)力學(xué)圖形、生產(chǎn)制造企業(yè)需要的則是比較細(xì)節(jié)的制造圖形,而維修企業(yè)則需要的則是船舶維修圖形。雖然這些圖形之間的結(jié)構(gòu)完全不同,但是有些數(shù)據(jù)可以共享,所有這些圖形具有很強(qiáng)的關(guān)聯(lián)性及互補(bǔ)性。如果能夠?qū)崿F(xiàn)這些圖像之間的相互映射,則對提高整個(gè)船舶生產(chǎn)效率具有明顯的作用。如維修企業(yè)的船舶維修視圖,反應(yīng)了船舶運(yùn)行時(shí)的出錯(cuò)數(shù)據(jù)以及維修數(shù)據(jù),若前端船舶的設(shè)計(jì)機(jī)構(gòu)及生產(chǎn)制造企業(yè)能夠提取這些出錯(cuò)維修數(shù)據(jù),應(yīng)用于自身過程及流程的改進(jìn),將會(huì)提升整個(gè)船舶質(zhì)量。
圖3 內(nèi)部信息系統(tǒng)交換流程Fig.3 Internal information exchange process
由于不同企業(yè)針對視圖的編碼類型不同,如果需要在各企業(yè)間共享各自的視圖數(shù)據(jù),完成視圖間的映射,則需要完成數(shù)據(jù)間編碼信息的轉(zhuǎn)換及各自糾冗余信息的異構(gòu)。在本文,利用約定的通過標(biāo)志符UID 及利用二層數(shù)據(jù)交換來完成映射過程。第1 層數(shù)據(jù)交換解決同一單位內(nèi)部不同部門之間的數(shù)據(jù)冗余及服務(wù)歸并,生成對外的統(tǒng)一數(shù)據(jù)調(diào)度接口。第2 層數(shù)據(jù)交換統(tǒng)一船舶制造協(xié)會(huì)制定的交互接口,各單位把各自的數(shù)據(jù)通過統(tǒng)一交互接口進(jìn)行封裝。而原先沒有自身信息數(shù)據(jù)庫的企業(yè)則直接進(jìn)行第2 步的數(shù)據(jù)交換步驟。這種通過各企業(yè)內(nèi)部完成的視圖信息數(shù)據(jù)的分封及交換,有效地降低了對中心平臺(tái)的使用率,提高了整個(gè)船舶全周期信息系統(tǒng)的可擴(kuò)展性。
圖4 為此種方式的船舶各企業(yè)數(shù)據(jù)轉(zhuǎn)換流程。
圖4 視圖映射結(jié)構(gòu)圖Fig.4 The structure diagram of view mapping
本文利用J2EE的開放平臺(tái)[5]進(jìn)行系統(tǒng)的設(shè)計(jì),架構(gòu)采用STRUCTS的MAC 框架,頁面部分采用SERVLET 及JSP 技術(shù)實(shí)現(xiàn)。
基于STRUCTS的船舶全周期信息系統(tǒng)架構(gòu)如圖5所示。
圖5 基于J2EE的開發(fā)模型Fig.5 The development model based on J2EE
1)系統(tǒng)瀏覽器
來自各企業(yè)的客戶端,通過瀏覽器發(fā)送HTTP請求來進(jìn)行數(shù)據(jù)請求。
2)服務(wù)控制端
服務(wù)器端接收來自企業(yè)客戶端的請求,并進(jìn)行消息的解析,并最終發(fā)送給目的終端。利用STRUCTS 結(jié)構(gòu)實(shí)現(xiàn),Structs-config.xml 對服務(wù)器端進(jìn)行屬性配置操作。
3)業(yè)務(wù)邏輯
業(yè)務(wù)邏輯功能實(shí)現(xiàn),對應(yīng)用程序的邏輯進(jìn)行管理。
4)視圖模塊
對于J2EE 開放平臺(tái)而言,其為JSP的文件,視圖本身沒有業(yè)務(wù)邏輯及信息屬性,可以利用框架模型進(jìn)行數(shù)據(jù)的提取。
現(xiàn)代化的造船行業(yè)對于造船的效率及質(zhì)量要求越來越高,在傳統(tǒng)的基于EAI 技術(shù)的船舶生命周期數(shù)據(jù)的系統(tǒng)中,各企業(yè)單獨(dú)對自身的數(shù)據(jù)進(jìn)行存儲(chǔ)及維護(hù),系統(tǒng)架構(gòu)復(fù)雜,維護(hù)成本較高,并且不利用各企業(yè)之間的信息共享。
本文研究了傳統(tǒng)的船舶生命周期數(shù)據(jù)的共享技術(shù)的優(yōu)缺點(diǎn),結(jié)合現(xiàn)有的數(shù)據(jù)共享技術(shù)及Web 技術(shù),設(shè)計(jì)了全新的基于Web的船舶生命周期數(shù)據(jù)的共享及管理系統(tǒng),并且設(shè)計(jì)了通用標(biāo)志符的展示方法及針對二維數(shù)據(jù)交換對生命周期數(shù)據(jù)進(jìn)行映射。
[1]SOLUTIONS A,Web services architect,Part 3:Is Web services the reincarnation of CORBA[EB/OL].http://www-900.ibm.com/developerWorks/cn/webservices/wsarc/part3 /index_eng.shtml,July,2001.
[2]HOLT A,DAN G,JAMES S,et al.Best practices for Web services[EB/OL].http://www- 900.ibm.com/developerWorks/cn/webservices/ws-best,September,2002.
[3]GREIDANUS H,LEMOINE G,KOURTI N.Satellite ship detection for fishery control[C]//NURC International Symposium Remote Sensing Applications to support NATO Expeditionary Operations.Lerici.Italy,2005.
[4]張祖國.船舶行業(yè)企業(yè)信息化建設(shè)目前面臨的問題[J].艦船科學(xué)技術(shù),2008,30(7):2-4.ZHANG Zu-guo.Challenges to the shipbuilding industry informationization[J].Ship Science and Technology,2008,30(7):2-5.
[5]孫曉軍.造船生產(chǎn)現(xiàn)場管理的信息化應(yīng)用方向[J].艦船科學(xué)技術(shù),2009,31(11):3-6.SUN Xiao-jun.A direction of informationization of shipbuilding field management[J].Ship Science and Technology,2009,31(11):3-6.