隨著信息技術(shù)的不斷發(fā)展和企業(yè)信息化的不斷進(jìn)步,根據(jù)不同的應(yīng)用需要,越來越多的企業(yè)開始實施各種信息系統(tǒng),如PDM、ERP、MES、TDM及SDM等。由于受早期信息化技術(shù)限制和各軟件公司利益影響,各種信息化系統(tǒng)之間很少考慮與其他軟件的集成問題,導(dǎo)致了企業(yè)在實施各種信息化系統(tǒng)的同時,出現(xiàn)了“信息孤島”的現(xiàn)象。隨著各業(yè)務(wù)系統(tǒng)應(yīng)用的不斷深入,如何實現(xiàn)各業(yè)務(wù)系統(tǒng)之間的信息共享已經(jīng)成為企業(yè)信息化實施過程中亟待解決的問題。
PDM(產(chǎn)品數(shù)據(jù)管理)是以產(chǎn)品為中心,通過計算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)庫技術(shù),把企業(yè)生產(chǎn)過程中與產(chǎn)品相關(guān)的信息和過程集成起來,統(tǒng)一管理,使產(chǎn)品數(shù)據(jù)在其生命周期內(nèi)保持一致和安全,從而縮短產(chǎn)品開發(fā)周期,降低成本,提高質(zhì)量。
TDM(試驗數(shù)據(jù)管理)通過建立有效的數(shù)字化試驗數(shù)據(jù)管理平臺,做到統(tǒng)一試驗數(shù)據(jù)傳遞的標(biāo)準(zhǔn)、統(tǒng)一數(shù)據(jù)管理體系、統(tǒng)一數(shù)據(jù)入庫規(guī)范,在同一試驗數(shù)據(jù)管理體系的支撐下管理和處理試驗數(shù)據(jù)。
PDM系統(tǒng)主要管理了工程技術(shù)人員或其他人員產(chǎn)生的與產(chǎn)品相關(guān)信息及與產(chǎn)品信息相關(guān)的開發(fā)過程信息,而TDM系統(tǒng)管理產(chǎn)品的試驗信息和試驗數(shù)據(jù)等。PDM和TDM的側(cè)重點(diǎn)不同,但是PDM與TDM系統(tǒng)之間存在著共享數(shù)據(jù)和過程的需求,TDM系統(tǒng)中與產(chǎn)品相關(guān)的試驗數(shù)據(jù)等信息可以作為設(shè)計人員設(shè)計時的參考,因此,需要通過兩個系統(tǒng)之間的集成,實現(xiàn)在PDM中實時查詢TDM系統(tǒng)中信息的功能。
實現(xiàn)不同軟件系統(tǒng)之間的集成,需要根據(jù)所涉及到的軟件系統(tǒng)本身的系統(tǒng)架構(gòu)以及應(yīng)用需求而采取不同的方式。本文中討論的PDM系統(tǒng)為Siemens公司的TeamCenter,TDM系統(tǒng)為Newtera公司的Newtera TDM系統(tǒng),PDM系統(tǒng)需要輸入查詢以瀏覽TDM系統(tǒng)的信息;而TDM系統(tǒng)不需要查詢、瀏覽PDM系統(tǒng)的信息。通過分析兩個軟件本身的架構(gòu),采用Web Service技術(shù)可以滿足應(yīng)用的需求。
一、Web Service技術(shù)
Web Service是解決應(yīng)用程序之間互相通信的一項技術(shù)。嚴(yán)格地說,其是描述一系列操作的接口。它使用標(biāo)準(zhǔn)的、規(guī)范的XML描述接口,包括了與服務(wù)進(jìn)行交互所需要的全部細(xì)節(jié),包括消息格式、傳輸協(xié)議和服務(wù)位置。而在對外的接口中隱藏了服務(wù)實現(xiàn)的細(xì)節(jié),僅提供一系列可執(zhí)行的操作,這些操作獨(dú)立于軟、硬件平臺和編寫服務(wù)所用的編程語言。
Web Service采用SOA(面向服務(wù)的架構(gòu),Service Oriented Architecture)模型作為體系結(jié)構(gòu)。根據(jù)SOA分層體系結(jié)構(gòu),Web Service的技術(shù)堆棧由XML、SOAP、WSDL、WSFL、UDDI、ebXML、HTTP、SMTP、FTP和IIOP等技術(shù)規(guī)范構(gòu)成,但是其核心技術(shù)構(gòu)成是SOAP、WSDL和UDDI。在Web Service實現(xiàn)的體系結(jié)構(gòu)中,有3個主角色,分別是UDDI注冊中心、服務(wù)提供者和服務(wù)請求者,其業(yè)務(wù)流程為:服務(wù)提供者在UDDI注冊服務(wù),服務(wù)請求者在UDDI查找服務(wù),請求者調(diào)用提供者提供的服務(wù)。這些業(yè)務(wù)流程通過SOAP、WSDL和UDDI實現(xiàn),其關(guān)系如圖1所示。
圖1 Web服務(wù)角色、操作和構(gòu)建
SOAP為不同系統(tǒng)之間的交互定義了一套基本的規(guī)則和跨平臺的消息機(jī)制。WSDL是描述Web Service服務(wù)和接口的語言,為服務(wù)提供者提供XML格式的服務(wù)描述。UDDI是分布式Web服務(wù)的信息注冊規(guī)范,向服務(wù)提供者和服務(wù)請求者提服務(wù)的注冊和查找功能。
由于Web Service的架構(gòu)特點(diǎn),Web Service被應(yīng)用于跨越防火墻的通信、應(yīng)用程序集成、B2B的集成和軟件重用等方面時可展現(xiàn)其顯著的優(yōu)勢。
二、集成思路
TeamCenter Engneering9.0系統(tǒng)為C/S架構(gòu),客戶端為Java語言開發(fā)的portal。Newtera TDM系統(tǒng)為B/S架構(gòu),系統(tǒng)專門提供了用于系統(tǒng)集成的Web Service的WSDL接口,是采用.Net Web Service技術(shù)實現(xiàn)的。由于Java和.Net實現(xiàn)Web Service的不同,如何在PDM系統(tǒng)的客戶端使用Java語言調(diào)用TDM系統(tǒng)使用.Net提供的Web Service服務(wù),方便無縫地實現(xiàn)相互之間的調(diào)用還是有一定的困難。好在XML的機(jī)器可讀性以及雙方都遵守的WSDL標(biāo)準(zhǔn),我們可以利用一些開放源代碼的工具實現(xiàn)快速開發(fā)。例如,可以使用Apache Axis框架中帶的JAVA2WSDL工具在Java客戶端調(diào)用.Net Web Service的Proxy。
具體地,在TDM系統(tǒng)的基礎(chǔ)服務(wù)層進(jìn)行開發(fā)提供查詢使用的Web Service服務(wù),然后在PDM系統(tǒng)應(yīng)用層客戶端中開發(fā)數(shù)據(jù)查詢模塊,通過這個模塊生成查詢組合條件并提交發(fā)送給TDM系統(tǒng)Web Service服務(wù),接收TDM系統(tǒng)Web Service服務(wù)返回的查詢結(jié)果,并將.Net Web Service數(shù)據(jù)格式的查詢結(jié)果數(shù)據(jù)轉(zhuǎn)換成Java可識別的XML格式數(shù)據(jù),將查詢結(jié)果展示到PDM客戶端中,如圖2所示。
圖2 PDM客戶端集成示意圖
三、集成過程實現(xiàn)
1.接口定義及描述
根據(jù)需求,要完成PDM系統(tǒng)與TDM系統(tǒng)的集成,需要TDM系統(tǒng)的Web Service按照規(guī)范提供WSDL文檔和接口規(guī)范,供PDM客戶端請求服務(wù)時使用。本次集成TDM系統(tǒng)需要通過接口向PDM系統(tǒng)提供的基礎(chǔ)數(shù)據(jù)包括:部門信息、研制階段信息、型號信息、組件信息和試驗基礎(chǔ)信息,對應(yīng)的服務(wù)接口有GetBuMenList、GetJieDuanList、GetXingHaoList、GetZuJianList和GetData_Class,介紹如表所示。
2.服務(wù)接口定義與實現(xiàn)
由于在微軟的VS 2005中簡化了Web Service的開發(fā),使在使用VS 2005進(jìn)行Web Service開發(fā)時復(fù)雜度大大降低,一般過程如下。
(1)在VS 2005中創(chuàng)建一個新的類庫工程,添加引用System.Web.Service.dll動態(tài)鏈接庫用戶建立Web Service服務(wù),同時添加Newtera的bin目錄下的Newtera.Data.Dll和Newtera.Common.Dll兩個動態(tài)鏈接庫,這樣就可以使用Newtera提供的SDK來操作Newtera數(shù)據(jù)庫中的數(shù)據(jù)。
(2)修改新建的類文件,實現(xiàn)數(shù)據(jù)查詢功能,并自定義返回的數(shù)據(jù)格式。
一般Web Service服務(wù)的代碼建立過程如下。
首先,聲明Web Service的命名空間。
表1 TDM系統(tǒng)提供的Web Service接口簡介
第二步,定義Web Service提供的方法的URL及實現(xiàn)。
(3)編譯寫好的類文件,生成工程。然后把生成的DLL文件拷貝到Newtera的bin目錄下。最后編寫*.asmx文件以發(fā)布Web Service供其他任何客戶端調(diào)用。當(dāng)Web Service發(fā)布以后,可通過訪問Web Service的.asmx文件的url查看該服務(wù)提供的方法描述,根據(jù)這些描述,Web Service的服務(wù)請求者可以知道如何調(diào)用相應(yīng)的方法。
至此,Web Service的服務(wù)已經(jīng)建立并可供其他系統(tǒng)進(jìn)行服務(wù)的請求與方法的調(diào)用了。
3.客戶端進(jìn)行接口調(diào)用
客戶端的開發(fā)軟件環(huán)境采用JDK1.6、Eclipse SDK3.3.2和Apache Axis 1.4(Web Service開發(fā)包),以及jdom1.0(xml開發(fā)工具包)。調(diào)用Web Service服務(wù)的過程如下。
(1)建立一個客戶端,并設(shè)置調(diào)用的Web Service服務(wù)及方法使用的URL等參數(shù)。
其中在初始化Call時所用到的Web Service服務(wù)的各方法參數(shù)可以從上文提到的.asmx的URL處查詢到。
(2)設(shè)置返回類型。
(3)設(shè)置傳入?yún)?shù)類型。
(4)調(diào)用服務(wù)并返回查詢結(jié)果。
(5)TDM系統(tǒng)接收的查詢結(jié)果XML結(jié)構(gòu)設(shè)計。
通過以上步驟,可實現(xiàn)PDM客戶端調(diào)用TDM系統(tǒng)的Web Service服務(wù)查詢信息并展示功能。該模塊操作簡單,界面友好,獨(dú)立性強(qiáng),也可以作為獨(dú)立的客戶端或者集成到其他有類似需求的系統(tǒng)中。
四、集成應(yīng)用效果
中航工業(yè)某研究所早期分別建設(shè)了PDM系統(tǒng)和TDM系統(tǒng),并在企業(yè)進(jìn)行了推廣應(yīng)用,分別管理了大量的科研設(shè)計和試驗數(shù)據(jù)。隨著應(yīng)用的不斷深入,為了提高設(shè)計過程中的協(xié)同研發(fā)水平,首先要解決系統(tǒng)間的數(shù)據(jù)集成問題,因此對兩個系統(tǒng)間的集成提出了新的需求。
以往設(shè)計人員在開展設(shè)計工作時若想了解相關(guān)試驗情況,需要另外登陸TDM進(jìn)行查詢。企業(yè)在實施了統(tǒng)一身份認(rèn)證系統(tǒng)后,實現(xiàn)了PDM系統(tǒng)和TDM系統(tǒng)的單點(diǎn)登陸,再通過PDM系統(tǒng)與TDM系統(tǒng)集成,使設(shè)計人員可在PDM系統(tǒng)中隨時通過查詢模塊,按照所選擇的產(chǎn)品、負(fù)責(zé)部門、產(chǎn)品型號和試驗類型等條件方便地查詢到相關(guān)的試驗信息,共享了型號研發(fā)業(yè)務(wù)中設(shè)計過程和試驗過程的數(shù)據(jù),避免了設(shè)計業(yè)務(wù)和試驗業(yè)務(wù)間的信息孤島現(xiàn)象,可有效提高設(shè)計人員工作效率(圖3)。
圖3 TDM系統(tǒng)信息查詢對話框
五、結(jié)語
如何實現(xiàn)企業(yè)應(yīng)用系統(tǒng)之間的集成是目前大部分企業(yè)信息化過程中面臨的一個重要問題,Web Service技術(shù)由于其標(biāo)準(zhǔn)、規(guī)范的XML描述接口,以及可以獨(dú)立于軟、硬件平臺和編寫服務(wù)所使用的編程語言,而成為解決系統(tǒng)集成時的一項重要技術(shù)。本文對TDM系統(tǒng)與PDM系統(tǒng)之間的集成進(jìn)行了研究,并采用Web Service技術(shù)進(jìn)行實現(xiàn)。但是并不是所有的系統(tǒng)之間的集成都可以使用Web Service技術(shù)來實現(xiàn),需要應(yīng)用系統(tǒng)本身架構(gòu)的支持,所以企業(yè)在實施信息化系統(tǒng)之初應(yīng)把要實施的信息化系統(tǒng)本身架構(gòu)是否支持與其他系統(tǒng)方便的集成作為一項重要的指標(biāo)來考慮。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于Web Service的PDM與TDM系統(tǒng)集成
本文網(wǎng)址:http://www.ezxoed.cn/html/solutions/1401939593.html