- 浏览: 122064 次
- 性别:
- 来自: 武汉
-
最新评论
作者:刘亚峰
0 引言
产品数据管理系统(Product Data Management,PDM)通过与各种计算机辅助系统的集成,在逻辑上连通了各设计单元的信息化孤岛,实现了对产品设计数据的统一管理。但是在企业运 作中产品数据管理会关联到多种业务。因此,要从业务流程出发思考PDM 与多种管理信息系统的集成,这将有助于优化企业整体业务流程。
Windchill PDMLink(以下简称Windchill)系统是目前市场上主要的PDM 产品之一,在航空、船舶、汽车等行业均有广泛应用。Windchill 系统基于J2EE 标准的三层体系架构实现。客户机层属于用户接口部分,服务器层实现了业务逻辑,数据层包含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”架构的系统集成思路,能够建立一种复杂的多应用集成模式。从而把信息系统间一对一直接集成的网状关 系优化为以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 结论
发表评论
-
How to deactivate a user in Windchill?
2012-10-17 22:09 1035Introduction Procedure base ... -
How to shorten display time for the inline message in Windchill 10.0
2012-09-03 00:24 1256标题 How to shorten display ... -
How to perform SaveAs on WTPart using API in Windchill PDMLink 10.0
2012-04-05 18:38 1568标题 How to perform SaveAs ... -
Manual Installation Steps For Archive Client Installation on Red Hat Linux 4.0
2012-03-31 19:18 1022On Red hat Linus 4.0 (64-Bit), ... -
Windchill单点登录方案
2012-03-31 00:20 3213Windchill SSO 单点登录 可下载附件查看。 ... -
如何在Windchill PDMLink 9.1设定多个Background Method Server去执行特定的工作流
2012-03-31 00:17 2701标题 如何在Windchill PDMLink 9.1 ... -
通过IE8访问Windchill PDMLink 10.0,出现警告提示"Windchill 只支持标准模式下的浏览器".
2012-03-31 00:15 3089标题 通过IE8访问Windchill PDMLink ... -
JSP Authentication with the Method Server
2012-02-07 20:31 3101During development for a cus ... -
Solution for searching the latest revision object
2012-02-01 11:44 1048// Implement your query ... -
Solution for search object with IBA Attribute
2012-02-01 11:39 1513QuerySpec qs = new Quer ... -
Required Ports for Windchill
2011-10-29 18:53 1090Windchill utilizes multiple por ... -
[WIP] How to see the document creator full name instead of the login name in DTI
2011-09-07 14:23 887标题 [WIP] How to see the doc ... -
Windchill Project Daily Build
2011-08-26 22:54 725下载软件: ant svnant sliksvn htt ... -
How to set schedule for Synchronization from Replica to Master?
2011-08-23 10:17 1133To do this, please follow these ... -
copy user from team administrator to workflow team.
2011-07-16 12:14 1677The code can be used directly i ... -
How to Disallow Anonymous Access to Aphelion LDAP?
2011-06-12 17:34 1682Description This TPI add ... -
MethodServer Exits Prematurely With the Error *com.ptc.windchill.upgrade.history
2011-06-11 23:39 2943Description ---------------- ... -
从Aphelion迁移至WindchillDS
2011-06-11 23:00 960假设: 1. Aphelion ... -
How to Configure Windchill with Active Directory
2011-06-09 22:28 3811说明 This article describe ... -
Taking the Windchill System Offline
2011-06-09 22:20 1227Description This documen ...
相关推荐
基于 Info*Engine 的 Windchill 系统集成应用 本文介绍了 Windchill 系统中 Info*Engine 组件的基本原理,以及如何利用它实现多系统间的集成,并完成了一个与档案管理系统集成的实例。 1. Info*Engine 概述 Info*...
在本文中,我们将浅谈基于Info*Engine的Windchill系统集成应用,探讨如何利用这种技术优化企业信息化体系。 1. Info*Engine Adapter概述 Info*Engine Adapter是一种中间件,它通过提供标准化的接口,使得Info*...
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答