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