基于Windchill PLM实时数据微服务的研究与实现

2020-06-04 12:55杨明
数字技术与应用 2020年3期
关键词:微服务

杨明

摘要:Windchill PLM积累了大量技术准备阶段的数据,可以为产品全生命周期阶段的其他系统提供有效的实时数据服务。本文旨在通过开发、配置来实现实时数据服务。

关键词:Windchill;PLM;微服务

中图分类号:TP316 文献标识码:A 文章编号:1007-9416(2020)03-0130-02

1 背景

Windchill PLM已在公司运行了多年,积累了大量技术准备阶段的数据,包括cad图纸、物料数据、BOM结构、文件、工艺等,也具有丰富的功能,完全可以支持在产品全生命周期中的业务流转。公司信息化是一个整体性的规划,还存在其他的信息系统,它们有些场景需要PLM中的实时数据提供的有效支撑。所以,Windchill PLM需要提供实時数据的微服务能力。

2 Windchill PLM开发技术

Windchill是PTC的产品生命周期管理(PLM)软件,用于管理产品内容和过程。PDMLink是Windchill的基础模块,主要提供文档管理、产品结构管理、工程变更管理、产品配置管理、生命周期管理、工作流程管理、Windchill架构、业务和系统管理、Office集成等功能。PartsLink是Windchill的零部件分类管理模块,主要通对零部件的分类库的建立,提高零部件的标准化、模块化、通用化,最大限度地提高设计重用,降低设计风险和产品全生命周期内的成本。MPMLink是Windchill的基础模块,主要提供制作工艺过程管理、制造资源管理、制造标准管理、设计产品结构和制造产品结构关系管理等功能。

3 Windchill开发模式

Wizards包含一个容器,容器中可以包含一个或多个单独的步骤,Custom-actions.xml中定义每个单独的步骤,并且在Wizards框架中定义一个JAVA类,来处理Form里面的数据,custom-actionModels.xml中定义组合页面的显示,资源文件实现国际化。Processor是Wizards最后的确定执行。Validator是用来决定组件是否显示,Validator须继承com.ptc.core.ui.validation.DefaultUI ComponentValidator。DataUtility为某一列提供显示内容,这些内容通常情况下,在对象中并不存在,在该列中可显示各种不同的控件,例如:文本框,文字、按钮等。

4 Windchill微服务实现

4.1 更新最新版本的webservices-api到jre的运行环境中

复制windchill/srclib/webservices-api.jar和srclib\tool\Annotations.jar到该windchill实例所使用的jre的目录下:${JAVA_HOME}/jre/lib/endorsed。

4.2 生成Truststores与Keystores

% cd /prog_examples/jws

% ant-f jws-stores.xml包括服务端和客户端的认证信息。执行完成后,会自动创建prog_examples/jws/stores目录,并且包含client.cer,client.p12server.cer,server.p12,server-keystore.jks,server-truststore.jks几个文件。

4.3 创建项目目录结构

在prog_examples/jws/目录下创建项目文件夹,此次以WCRDMService为例子,在命令行中的windchill目录下执行:

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=的参数值为完整目录名称。执行完成后,要注意查看是否执行成功。执行完成后,系统就prog_ examples/jws/RDMService目录自动创建一个简单的项目目录。

(1)src/(web service的基本目录);

(2)src/build.xml(构建和发布web service的文件);

(3)src_client/(web service client的基本目录);

(4)src_client/build.xml(构建web service的文件)。

4.4 编译、打包、以及部署

% cd /prog_examples/jws/WCRDMService/src/

% ant注意查看编译结果,完成后,检查服务是否在windchill服务中正常注册文件中。重启Apache,并检查以下URL是否可以被访问,如图1所示。

4.5 逻辑代码实现

拷贝prog_examples/jws/WCRDM Service/src目录下的ext.rdm.service.RDMServiceService类到编辑工具中,进行代码的修改,如图2所示。

该类的方法是用来供其它集成软件使用的,对于该类各方法调用到的其它windchill的程序逻辑,在windchill其他代码逻辑中实现,如图3所示。

4.6 代码部署

先将windchill逻辑代码实现中设计到的各class类拷贝到windchill的codebase目录下对应的定制代码包中。然后将web service的类(比如上面的ext.rdm.service.RDMServiceService类)拷贝覆盖回原来对应的web service服务的目录下(比如上面的/prog_examples/jws/WCRDMService/src/)

完成后,然后在windchill shell中执行重新编译的命令。比如:% cd /prog_examples/jws/WCRDMService/src/

% ant

重新进行编译,重新检查wsdl是否可以被访问。比如:新的wsdl的显示效果跟原来的不一样,证明修改及编译正常。

4.7 用SoapUI测试接口的正确性

推荐使用SoapUI 5.x版本,填写好wsdl,用户名、密码,如图4所示。

5 结语

通过上述微服务的实现,可以更好的发挥现有PLM中数据的价值,体现出产品全生命周期管理的理念。

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

猜你喜欢
微服务
数字文化馆建设中的“微服务”
微服务架构及相应云平台解析
微信公众平台在医院图书馆的应用现状调查
从单一模式系统架构往微服务架构迁移转化技术研究
微媒体时代高校图书馆阅读推广微服务探析