浅谈基于Info*Engine的Windchill系统集成应用
摘要 Windchill PDMLink作为主要的PDM产品之一,在制造业得到广泛应用。随着企业信息化发展,Windchill系统与其他管理信息系统间的集成需求越来越得到人们的关注与重视。本文介绍了Windchill系统中Info*Engine组件的基本原理,以及如何利用它实现多系统间的集成,并完成了一个与档案管理系统集成的实例。
关键词 Windchill;PDMLink;Info*Engine;系统集成
中图分类号TP315文献标识码A文章编号1674-6708(2010)23-0239-02
0 引言
产品数据管理系统(Product Data Management,PDM)通过与各种计算机辅助系统的集成,在逻辑上连通了各设计单元的信息化孤岛,实现了对产品设计数据的统一管理。但是在企业运作中产品数据管理会关联到多种业务。因此,要从业务流程出发思考PDM与多种管理信息系统的集成,这将有助于优化企业整体业务流程。
Windchill PDMLink(以下简称Windchill)系统是目前市场上主要的PDM产品之一,在航空、船舶、汽车等行业均有广泛应用。Windchill系统基于J2EE标准的三层体系架构实现[1]。客户机层属于用户接口部分,服务器层实现了业务逻辑,数据层包含Oracle数据库、文件服务器和LDAP服务器,实现了系统服务信息管理和用户、角色信息管理的数据存储。
Windchill系统中的Info*Engine组件采用了先进的系统集成思想并能提供较强的技术支持能力。本文将研究Windchill系统与第三方软件基于Info*Engine实现的集成应用。
1 Info*Engine概述
Info*Engine是Windchill系统中一个可独立部署的集成引擎。Info*Engine提供了标准的适配器(Info*Engine Adapter),能够直接将Windchill应用程序第三方信息系统连接,还可以“插入”到面向服务的体系架构(SOA)或其他企业集成体系结构设计中。
Info*Engine的主要特点体现在提出了“Hub-and-spoke”架构[2]的系统集成思路,能够建立一种复杂的多应用集成模式。从而把信息系统间一对一直接集成的网状关系优化为以Info*Engine为中心媒介的星型结构,大大降低了多系统集成的耦合性,提高了多系统集成的可扩展性和可维护性。
Info*Engine Adapter提供了Info*Engine server与信息系统的连接,能够将Info*Engine server的请求转换为信息系统请求,因此Adapter是实现信息系统集成的关键组件。Info*Engine提供的Adapter包括Windchill Adapter、SAP Adapter、DOORS Adapter、Database Adapter等,可分别实现Info*Engine与Windchill、SAP、DOORS、数据库等系统的集成访问。
随着企业信息化体系的日趋完善,多系统的集成的重要性日益显现。Info*Engine Adapter为企业的多信息系统集成提供了一种可行、有效的实现途径。
2 Info*Engine的数据管理
Info*Engine的数据管理机制基于5个基本的概念:JSP、Task、Webject、Group和Virtual Database(VDB)。JSP页和Task定义了Info*Engine如何获取和显示信息。Webject则能够被JSP页和Task组织起来,具体实现数据的收集、处理和显示。Group是JSP页和Task生成的信息块。VDB是Group的存储区域。
Info*Engine的JSP页面包含Info*Engine的自定义标记,主要封装了一些可重用的功能,用于简化JSP页和Task文件的实现。
Task的基本语法与功能JSP相同,但不包含如HTML标记等显示组件,因此不提供数据显示功能。
Webject将特定Info*Engine功能封装成一条命令,JSP页和Task可以通过调用这些Webject达到动态的组织、处理信息的目的。
能够返回的数据Webject被调用时会创建一个Object Group。Object Group存储于VDB,并确保具有唯一的命名。
3 Windchill系统与档案管理系统的集成
3.1需求说明
档案管理系统要求能够实现对企业所有归档资料的管理和检索功能,因此档案管理系统需要从PDM系统中获取文档的信息用来建立归档记录。
本集成应用的典型业务场景如下:
档案管理员将遵循产品的生命周期过程,在规定的关键技术状态节点进行PDM系统中技术文件的归档工作。用户在档案管理系统中,通过系统集成应用,从PDM系统中检索该产品的文档,获取的文档信息包括:文件名称、编号、版本、状态、文件代号、创建者、创建时间、文档摘要、所属产品。检索到的文档信息返回到档案管理系统,用户再对反馈信息进行必要的筛选,完成文档信息的归档工作。
3.2设计思路
系统集成的总体思路是PDM系统向档案管理系统提供一个Webservice,档案管理系统通过对该Webservice的调用实现PDM系统文档的检索功能。
在技术上主要利用Info*Engine对SOAP(简单对象访问协议)的支持,创建一个Task实现Webservice用于集成应用。文档信息检索的具体逻辑会在Java类的检索方法中实现,Task通过对文档检索方法的调用获得符合条件的文档信息,然后利用Windchill Adapter实现文档信息的收集并以xml格式反馈到客户端。档案管理系统的开发环境为Visual Studio 2008,在该环境下完成对Webservice的调用并对反馈的xml文件进行解析。
3.3功能实现
3.3.1 文档信息检索的Java方法
根据输入参数搜索到符合要求的文档的集合,抽取出文档信息,以字符串方式返回。
在Java方法中,Windchill系统首先创建一个基于文档类的QuerySpec对象表示一个初始的查询结果集合。然后针对每个检索条件创建一个SearchCondition对象,QuerySpec对象的appendWhere方法以一个SearchCondition对象为参数实现一次按条件检索。面对多个SearchCondition对象,QuerySpec对象的appendAnd方法可以实现多条件的逻辑连接,完成查询。
查询的结果可以转换为一个文档集合。通过对该集合的循环处理,获得每个文档的信息,并将这些信息按照特定的分隔符组合为一个字符串对象,并返回个本方法的调用者。
3.3.2 实现Webservice的Task文件
在Task文件开始首先要设定输入参数,这定义了调用Webservice时需要输入的查询条件。
然后建立一系列的Java脚本,该脚本直接调用已经定义的Java方法执行文档信息查询工作。由于文档名称中可能存在中文,须进行BASE64编码转换,以保证使用HTTP协议Webservice能够确保使用正确的字符编码。
Task文件的最后部分使用了Adapter中定义的部分Webject。创建了一个Group定义了数据的输出,实际的数据从Java脚本中的Java方法返回值变量获取,根据预先定义的分隔符分析返回的字符串对象并形成xml文件,该xml文件最后返回到Webservice的请求者。
3.3.3 创建Info*Engine委派
Info*Engine提供图形化向导指导完成最终的Webservice设置,最终完成一个基于SOAP的WebService的创建。
3.3.4 Webservice的调用
在Visual Studio 2008中,可以实现对基于SOAP的WebService调用的图形化配置,但Windchill系统拥有自身的安全机制,WebService的调用并不能绕过用户认证的要求。因此,在Visual Studio 2008中,对WebService的调用可进行封装,解决以下问题:
1)封装预设的Windchill系统用户和口令,用以实现其他应用程序对Windchill提供的WebService的自动调用;
2)对调用WebService返回的xml文件进行分析处理,转换为Visual Studio 2008环境下的DataTable对象供其他应用程序调用,简化了Visual Studio 2008环境下的后续开发工作;
3)在封装过程中增加用户和客户端IP的控制机制,防止Windchill的WebServiced被滥用。
4结论
随着企业信息化发展,异构系统间的集成问题越来越得到人们的普遍关注与重视。本文介绍了如何利用Windchill的Info*Engine组件实现多系统间集成的框架并完成了一个与档案管理系统集成的实例。
参考文献
[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).
推荐访问: 浅谈 系统集成 Engine Info Windchill