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