楊明
摘要:Windchill PLM積累了大量技術(shù)準(zhǔn)備階段的數(shù)據(jù),可以為產(chǎn)品全生命周期階段的其他系統(tǒng)提供有效的實時數(shù)據(jù)服務(wù)。本文旨在通過開發(fā)、配置來實現(xiàn)實時數(shù)據(jù)服務(wù)。
關(guān)鍵詞:Windchill;PLM;微服務(wù)
中圖分類號:TP316 文獻標(biāo)識碼:A 文章編號:1007-9416(2020)03-0130-02
1 背景
Windchill PLM已在公司運行了多年,積累了大量技術(shù)準(zhǔn)備階段的數(shù)據(jù),包括cad圖紙、物料數(shù)據(jù)、BOM結(jié)構(gòu)、文件、工藝等,也具有豐富的功能,完全可以支持在產(chǎn)品全生命周期中的業(yè)務(wù)流轉(zhuǎn)。公司信息化是一個整體性的規(guī)劃,還存在其他的信息系統(tǒng),它們有些場景需要PLM中的實時數(shù)據(jù)提供的有效支撐。所以,Windchill PLM需要提供實時數(shù)據(jù)的微服務(wù)能力。
2 Windchill PLM開發(fā)技術(shù)
Windchill是PTC的產(chǎn)品生命周期管理(PLM)軟件,用于管理產(chǎn)品內(nèi)容和過程。PDMLink是Windchill的基礎(chǔ)模塊,主要提供文檔管理、產(chǎn)品結(jié)構(gòu)管理、工程變更管理、產(chǎn)品配置管理、生命周期管理、工作流程管理、Windchill架構(gòu)、業(yè)務(wù)和系統(tǒng)管理、Office集成等功能。PartsLink是Windchill的零部件分類管理模塊,主要通對零部件的分類庫的建立,提高零部件的標(biāo)準(zhǔn)化、模塊化、通用化,最大限度地提高設(shè)計重用,降低設(shè)計風(fēng)險和產(chǎn)品全生命周期內(nèi)的成本。MPMLink是Windchill的基礎(chǔ)模塊,主要提供制作工藝過程管理、制造資源管理、制造標(biāo)準(zhǔn)管理、設(shè)計產(chǎn)品結(jié)構(gòu)和制造產(chǎn)品結(jié)構(gòu)關(guān)系管理等功能。
3 Windchill開發(fā)模式
Wizards包含一個容器,容器中可以包含一個或多個單獨的步驟,Custom-actions.xml中定義每個單獨的步驟,并且在Wizards框架中定義一個JAVA類,來處理Form里面的數(shù)據(jù),custom-actionModels.xml中定義組合頁面的顯示,資源文件實現(xiàn)國際化。Processor是Wizards最后的確定執(zhí)行。Validator是用來決定組件是否顯示,Validator須繼承com.ptc.core.ui.validation.DefaultUI ComponentValidator。DataUtility為某一列提供顯示內(nèi)容,這些內(nèi)容通常情況下,在對象中并不存在,在該列中可顯示各種不同的控件,例如:文本框,文字、按鈕等。
4 Windchill微服務(wù)實現(xiàn)
4.1 更新最新版本的webservices-api到j(luò)re的運行環(huán)境中
復(fù)制windchill
4.2 生成Truststores與Keystores
% cd
% ant-f jws-stores.xml包括服務(wù)端和客戶端的認證信息。執(zhí)行完成后,會自動創(chuàng)建prog_examples/jws/stores目錄,并且包含client.cer,client.p12server.cer,server.p12,server-keystore.jks,server-truststore.jks幾個文件。
4.3 創(chuàng)建項目目錄結(jié)構(gòu)
在prog_examples/jws/目錄下創(chuàng)建項目文件夾,此次以WCRDMService為例子,在命令行中的windchill目錄下執(zhí)行:
ant-Dproject.dir="D:\ptc\wcrdm\windchill\prog_examples\jws\WCRDMService"
-Dservlet.name=WCRDMService-Dsecurity.policy= webServerAuthenticated
-Dmain.class=ext.rdm.client.RDMServiceClient-Dservice.type=java
-Dservice.class=ext.rdm.service.RDMServiceService-f
bin/adminTools/WebServices/new-project.xml create
其中-Dproject.dir=的參數(shù)值為完整目錄名稱。執(zhí)行完成后,要注意查看是否執(zhí)行成功。執(zhí)行完成后,系統(tǒng)就prog_ examples/jws/RDMService目錄自動創(chuàng)建一個簡單的項目目錄。
(1)src/(web service的基本目錄);
(2)src/build.xml(構(gòu)建和發(fā)布web service的文件);
(3)src_client/(web service client的基本目錄);
(4)src_client/build.xml(構(gòu)建web service的文件)。
4.4 編譯、打包、以及部署
% cd
% ant注意查看編譯結(jié)果,完成后,檢查服務(wù)是否在windchill服務(wù)中正常注冊文件中。重啟Apache,并檢查以下URL是否可以被訪問,如圖1所示。
4.5 邏輯代碼實現(xiàn)
拷貝prog_examples/jws/WCRDM Service/src目錄下的ext.rdm.service.RDMServiceService類到編輯工具中,進行代碼的修改,如圖2所示。
該類的方法是用來供其它集成軟件使用的,對于該類各方法調(diào)用到的其它windchill的程序邏輯,在windchill其他代碼邏輯中實現(xiàn),如圖3所示。
4.6 代碼部署
先將windchill邏輯代碼實現(xiàn)中設(shè)計到的各class類拷貝到windchill的codebase目錄下對應(yīng)的定制代碼包中。然后將web service的類(比如上面的ext.rdm.service.RDMServiceService類)拷貝覆蓋回原來對應(yīng)的web service服務(wù)的目錄下(比如上面的
完成后,然后在windchill shell中執(zhí)行重新編譯的命令。比如:% cd
% ant
重新進行編譯,重新檢查wsdl是否可以被訪問。比如:新的wsdl的顯示效果跟原來的不一樣,證明修改及編譯正常。
4.7 用SoapUI測試接口的正確性
推薦使用SoapUI 5.x版本,填寫好wsdl,用戶名、密碼,如圖4所示。
5 結(jié)語
通過上述微服務(wù)的實現(xiàn),可以更好的發(fā)揮現(xiàn)有PLM中數(shù)據(jù)的價值,體現(xiàn)出產(chǎn)品全生命周期管理的理念。
Abstract:Windchill PLM has accumulated a large amount of data in the technical preparation stage, which can provide effective real-time data services for other systems in the product life cycle stage. This article aims at real-time data services through development and configuration.
Key words:Windchill; PLM; microservices