劉亞峰
中航工業(yè)西安飛行自動控制研究所網絡信息中心,陜西西安 710065
淺談基于Info*Engine的Windchill系統(tǒng)集成應用
劉亞峰
中航工業(yè)西安飛行自動控制研究所網絡信息中心,陜西西安 710065
Windchill PDMLink作為主要的PDM產品之一,在制造業(yè)得到廣泛應用。隨著企業(yè)信息化發(fā)展,Windchill系統(tǒng)與其他管理信息系統(tǒng)間的集成需求越來越得到人們的關注與重視。本文介紹了Windchill系統(tǒng)中Info*Engine組件的基本原理,以及如何利用它實現多系統(tǒng)間的集成,并完成了一個與檔案管理系統(tǒng)集成的實例。
Windchill;PDMLink;Info*Engine;系統(tǒng)集成
產品數據管理系統(tǒng)(Product Data Management,PDM)通過與各種計算機輔助系統(tǒng)的集成,在邏輯上連通了各設計單元的信息化孤島,實現了對產品設計數據的統(tǒng)一管理。但是在企業(yè)運作中產品數據管理會關聯(lián)到多種業(yè)務。因此,要從業(yè)務流程出發(fā)思考PDM與多種管理信息系統(tǒng)的集成,這將有助于優(yōu)化企業(yè)整體業(yè)務流程。
Windchill PDMLink(以下簡稱Windchill)系統(tǒng)是目前市場上主要的PDM產品之一,在航空、船舶、汽車等行業(yè)均有廣泛應用。Windchill系統(tǒng)基于J2EE標準的三層體系架構實現[1]。客戶機層屬于用戶接口部分,服務器層實現了業(yè)務邏輯,數據層包含Oracle數據庫、文件服務器和LDAP服務器,實現了系統(tǒng)服務信息管理和用戶、角色信息管理的數據存儲。
Windchill系統(tǒng)中的Info*Engine組件采用了先進的系統(tǒng)集成思想并能提供較強的技術支持能力。本文將研究Windchill系統(tǒng)與第三方軟件基于Info*Engine實現的集成應用。
Info*Engine是Windchill系統(tǒng)中一個可獨立部署的集成引擎。Info*Engine提供了標準的適配器(Info*Engine Adapter),能夠直接將Windchill應用程序第三方信息系統(tǒng)連接,還可以“插入”到面向服務的體系架構(SOA)或其他企業(yè)集成體系結構設計中。
Info*Engine的主要特點體現在提出了“Hub-and-spoke”架構[2]的系統(tǒng)集成思路,能夠建立一種復雜的多應用集成模式。從而把信息系統(tǒng)間一對一直接集成的網狀關系優(yōu)化為以Info*Engine為中心媒介的星型結構,大大降低了多系統(tǒng)集成的耦合性,提高了多系統(tǒng)集成的可擴展性和可維護性。
Info*Engine Adapter提供了Info*Engine server與信息系統(tǒng)的連接,能夠將Info*Engine server的請求轉換為信息系統(tǒng)請求,因此Adapter是實現信息系統(tǒng)集成的關鍵組件。Info*Engine提供的Adapter包 括 Windchill Adapter、SAP Adapter、DOORS Adapter、Database Adapter等,可分別實現Info*Engine與Windchill、SAP、DOORS、數據庫等系統(tǒng)的集成訪問。
隨著企業(yè)信息化體系的日趨完善,多系統(tǒng)的集成的重要性日益顯現。Info*Engine Adapter為企業(yè)的多信息系統(tǒng)集成提供了一種可行、有效的實現途徑。
Info*Engine的數據管理機制基于5個基本的概念:JSP、Task、Webject、Group和 Virtual Database(VDB)。JSP頁 和 Task定義了Info*Engine如何獲取和顯示信息。Webject則能夠被JSP頁和Task組織起來,具體實現數據的收集、處理和顯示。Group是JSP頁和Task生成的信息塊。VDB是Group的存儲區(qū)域。
Info*Engine的JSP頁面包含Info*Engine的自定義標記,主要封裝了一些可重用的功能,用于簡化JSP頁和Task文件的實現。
Task的基本語法與功能JSP相同,但不包含如HTML標記等顯示組件,因此不提供數據顯示功能。
Webject將特定Info*Engine功能封裝成一條命令,JSP頁和Task可以通過調用這些Webject達到動態(tài)的組織、處理信息的目的。
能夠返回的數據Webject被調用時會創(chuàng)建一個Object Group。Object Group存儲于VDB,并確保具有唯一的命名。
檔案管理系統(tǒng)要求能夠實現對企業(yè)所有歸檔資料的管理和檢索功能,因此檔案管理系統(tǒng)需要從PDM系統(tǒng)中獲取文檔的信息用來建立歸檔記錄。
本集成應用的典型業(yè)務場景如下:
檔案管理員將遵循產品的生命周期過程,在規(guī)定的關鍵技術狀態(tài)節(jié)點進行PDM系統(tǒng)中技術文件的歸檔工作。用戶在檔案管理系統(tǒng)中,通過系統(tǒng)集成應用,從PDM系統(tǒng)中檢索該產品的文檔,獲取的文檔信息包括:文件名稱、編號、版本、狀態(tài)、文件代號、創(chuàng)建者、創(chuàng)建時間、文檔摘要、所屬產品。檢索到的文檔信息返回到檔案管理系統(tǒng),用戶再對反饋信息進行必要的篩選,完成文檔信息的歸檔工作。
系統(tǒng)集成的總體思路是PDM系統(tǒng)向檔案管理系統(tǒng)提供一個Webservice,檔案管理系統(tǒng)通過對該Webservice的調用實現PDM系統(tǒng)文檔的檢索功能。
在技術上主要利用Info*Engine對SOAP(簡單對象訪問協(xié)議)的支持,創(chuàng)建一個Task實現Webservice用于集成應用。文檔信息檢索的具體邏輯會在Java類的檢索方法中實現,Task通過對文檔檢索方法的調用獲得符合條件的文檔信息,然后利用Windchill Adapter實現文檔信息的收集并以xml格式反饋到客戶端。檔案管理系統(tǒng)的開發(fā)環(huán)境為Visual Studio 2008,在該環(huán)境下完成對Webservice的調用并對反饋的xml文件進行解析。
3.3 .1 文檔信息檢索的Java方法
根據輸入參數搜索到符合要求的文檔的集合,抽取出文檔信息,以字符串方式返回。
在Java方法中,Windchill系統(tǒng)首先創(chuàng)建一個基于文檔類的QuerySpec對象表示一個初始的查詢結果集合。然后針對每個檢索條件創(chuàng)建一個SearchCondition對象,QuerySpec對象的appendWhere方法以一個SearchCondition對象為參數實現一次按條件檢索。面對多個SearchCondition對象,QuerySpec對象的appendAnd方法可以實現多條件的邏輯連接,完成查詢。
查詢的結果可以轉換為一個文檔集合。通過對該集合的循環(huán)處理,獲得每個文檔的信息,并將這些信息按照特定的分隔符組合為一個字符串對象,并返回個本方法的調用者。
3.3 .2 實現Webservice的Task文件
在Task文件開始首先要設定輸入參數,這定義了調用Webservice時需要輸入的查詢條件。
然后建立一系列的Java腳本,該腳本直接調用已經定義的Java方法執(zhí)行文檔信息查詢工作。由于文檔名稱中可能存在中文,須進行BASE64編碼轉換,以保證使用HTTP協(xié)議Webservice能夠確保使用正確的字符編碼。
Task文件的最后部分使用了Adapter中定義的部分Webject。創(chuàng)建了一個Group定義了數據的輸出,實際的數據從Java腳本中的Java方法返回值變量獲取,根據預先定義的分隔符分析返回的字符串對象并形成xml文件,該xml文件最后返回到Webservice的請求者。
3.3 .3 創(chuàng)建Info*Engine委派
Info*Engine提供圖形化向導指導完成最終的Webservice設置,最終完成一個基于SOAP的WebService的創(chuàng)建。
3.3 .4 Webservice的調用
在Visual Studio 2008中,可以實現對基于SOAP的WebService調用的圖形化配置,但Windchill系統(tǒng)擁有自身的安全機制,WebService的調用并不能繞過用戶認證的要求。因此,在Visual Studio 2008中,對WebService的調用可進行封裝,解決以下問題:
1)封裝預設的Windchill系統(tǒng)用戶和口令,用以實現其他應用程序對Windchill提供的WebService的自動調用;
2)對調用WebService返回的xml文件進行分析處理,轉換為Visual Studio 2008環(huán)境下的DataTable對象供其他應用程序調用,簡化了Visual Studio 2008環(huán)境下的后續(xù)開發(fā)工作;
3)在封裝過程中增加用戶和客戶端IP的控制機制,防止Windchill的WebServiced被濫用。
4結論
隨著企業(yè)信息化發(fā)展,異構系統(tǒng)間的集成問題越來越得到人們的普遍關注與重視。本文介紹了如何利用Windchill的Info*Engine組件實現多系統(tǒng)間集成的框架并完成了一個與檔案管理系統(tǒng)集成的實例。
[1][美]PTC公司 Windchill9.1 Customizer’s Guide 2008.
[2][美]PTC公司 Info*Engine Administration and Implementation Guide 2008.
[3]李東.周曉宇SOAP及其對Web服務的影響[J].計算機工程與 應用2002(12).
[3]陳文,漆進,劉仕琴.Web Service關鍵技術研究[J].電腦 知識與技術 2009(13).
TP315
A
1674-6708(2010)23-0239-02