随着信息技术的不断发展和企业信息化的不断进步,根据不同的应用需要,越来越多的企业开始实施各种信息系统,如PDM、ERP、MES、TDM及SDM等。由于受早期信息化技术限制和各软件公司利益影响,各种信息化系统之间很少考虑与其他软件的集成问题,导致了企业在实施各种信息化系统的同时,出现了“信息孤岛”的现象。随着各业务系统应用的不断深入,如何实现各业务系统之间的信息共享已经成为企业信息化实施过程中亟待解决的问题。
PDM(产品数据管理)是以产品为中心,通过计算机网络和数据库技术,把企业生产过程中与产品相关的信息和过程集成起来,统一管理,使产品数据在其生命周期内保持一致和安全,从而缩短产品开发周期,降低成本,提高质量。
TDM(试验数据管理)通过建立有效的数字化试验数据管理平台,做到统一试验数据传递的标准、统一数据管理体系、统一数据入库规范,在同一试验数据管理体系的支撑下管理和处理试验数据。
PDM系统主要管理了工程技术人员或其他人员产生的与产品相关信息及与产品信息相关的开发过程信息,而TDM系统管理产品的试验信息和试验数据等。PDM和TDM的侧重点不同,但是PDM与TDM系统之间存在着共享数据和过程的需求,TDM系统中与产品相关的试验数据等信息可以作为设计人员设计时的参考,因此,需要通过两个系统之间的集成,实现在PDM中实时查询TDM系统中信息的功能。
实现不同软件系统之间的集成,需要根据所涉及到的软件系统本身的系统架构以及应用需求而采取不同的方式。本文中讨论的PDM系统为Siemens公司的TeamCenter,TDM系统为Newtera公司的Newtera TDM系统,PDM系统需要输入查询以浏览TDM系统的信息;而TDM系统不需要查询、浏览PDM系统的信息。通过分析两个软件本身的架构,采用Web Service技术可以满足应用的需求。
一、Web Service技术
Web Service是解决应用程序之间互相通信的一项技术。严格地说,其是描述一系列操作的接口。它使用标准的、规范的XML描述接口,包括了与服务进行交互所需要的全部细节,包括消息格式、传输协议和服务位置。而在对外的接口中隐藏了服务实现的细节,仅提供一系列可执行的操作,这些操作独立于软、硬件平台和编写服务所用的编程语言。
Web Service采用SOA(面向服务的架构,Service Oriented Architecture)模型作为体系结构。根据SOA分层体系结构,Web Service的技术堆栈由XML、SOAP、WSDL、WSFL、UDDI、ebXML、HTTP、SMTP、FTP和IIOP等技术规范构成,但是其核心技术构成是SOAP、WSDL和UDDI。在Web Service实现的体系结构中,有3个主角色,分别是UDDI注册中心、服务提供者和服务请求者,其业务流程为:服务提供者在UDDI注册服务,服务请求者在UDDI查找服务,请求者调用提供者提供的服务。这些业务流程通过SOAP、WSDL和UDDI实现,其关系如图1所示。
图1 Web服务角色、操作和构建
SOAP为不同系统之间的交互定义了一套基本的规则和跨平台的消息机制。WSDL是描述Web Service服务和接口的语言,为服务提供者提供XML格式的服务描述。UDDI是分布式Web服务的信息注册规范,向服务提供者和服务请求者提服务的注册和查找功能。
由于Web Service的架构特点,Web Service被应用于跨越防火墙的通信、应用程序集成、B2B的集成和软件重用等方面时可展现其显著的优势。
二、集成思路
TeamCenter Engneering9.0系统为C/S架构,客户端为Java语言开发的portal。Newtera TDM系统为B/S架构,系统专门提供了用于系统集成的Web Service的WSDL接口,是采用.Net Web Service技术实现的。由于Java和.Net实现Web Service的不同,如何在PDM系统的客户端使用Java语言调用TDM系统使用.Net提供的Web Service服务,方便无缝地实现相互之间的调用还是有一定的困难。好在XML的机器可读性以及双方都遵守的WSDL标准,我们可以利用一些开放源代码的工具实现快速开发。例如,可以使用Apache Axis框架中带的JAVA2WSDL工具在Java客户端调用.Net Web Service的Proxy。
具体地,在TDM系统的基础服务层进行开发提供查询使用的Web Service服务,然后在PDM系统应用层客户端中开发数据查询模块,通过这个模块生成查询组合条件并提交发送给TDM系统Web Service服务,接收TDM系统Web Service服务返回的查询结果,并将.Net Web Service数据格式的查询结果数据转换成Java可识别的XML格式数据,将查询结果展示到PDM客户端中,如图2所示。
图2 PDM客户端集成示意图
三、集成过程实现
1.接口定义及描述
根据需求,要完成PDM系统与TDM系统的集成,需要TDM系统的Web Service按照规范提供WSDL文档和接口规范,供PDM客户端请求服务时使用。本次集成TDM系统需要通过接口向PDM系统提供的基础数据包括:部门信息、研制阶段信息、型号信息、组件信息和试验基础信息,对应的服务接口有GetBuMenList、GetJieDuanList、GetXingHaoList、GetZuJianList和GetData_Class,介绍如表所示。
2.服务接口定义与实现
由于在微软的VS 2005中简化了Web Service的开发,使在使用VS 2005进行Web Service开发时复杂度大大降低,一般过程如下。
(1)在VS 2005中创建一个新的类库工程,添加引用System.Web.Service.dll动态链接库用户建立Web Service服务,同时添加Newtera的bin目录下的Newtera.Data.Dll和Newtera.Common.Dll两个动态链接库,这样就可以使用Newtera提供的SDK来操作Newtera数据库中的数据。
(2)修改新建的类文件,实现数据查询功能,并自定义返回的数据格式。
一般Web Service服务的代码建立过程如下。
首先,声明Web Service的命名空间。
表1 TDM系统提供的Web Service接口简介
第二步,定义Web Service提供的方法的URL及实现。
(3)编译写好的类文件,生成工程。然后把生成的DLL文件拷贝到Newtera的bin目录下。最后编写*.asmx文件以发布Web Service供其他任何客户端调用。当Web Service发布以后,可通过访问Web Service的.asmx文件的url查看该服务提供的方法描述,根据这些描述,Web Service的服务请求者可以知道如何调用相应的方法。
至此,Web Service的服务已经建立并可供其他系统进行服务的请求与方法的调用了。
3.客户端进行接口调用
客户端的开发软件环境采用JDK1.6、Eclipse SDK3.3.2和Apache Axis 1.4(Web Service开发包),以及jdom1.0(xml开发工具包)。调用Web Service服务的过程如下。
(1)建立一个客户端,并设置调用的Web Service服务及方法使用的URL等参数。
其中在初始化Call时所用到的Web Service服务的各方法参数可以从上文提到的.asmx的URL处查询到。
(2)设置返回类型。
(3)设置传入参数类型。
(4)调用服务并返回查询结果。
(5)TDM系统接收的查询结果XML结构设计。
通过以上步骤,可实现PDM客户端调用TDM系统的Web Service服务查询信息并展示功能。该模块操作简单,界面友好,独立性强,也可以作为独立的客户端或者集成到其他有类似需求的系统中。
四、集成应用效果
中航工业某研究所早期分别建设了PDM系统和TDM系统,并在企业进行了推广应用,分别管理了大量的科研设计和试验数据。随着应用的不断深入,为了提高设计过程中的协同研发水平,首先要解决系统间的数据集成问题,因此对两个系统间的集成提出了新的需求。
以往设计人员在开展设计工作时若想了解相关试验情况,需要另外登陆TDM进行查询。企业在实施了统一身份认证系统后,实现了PDM系统和TDM系统的单点登陆,再通过PDM系统与TDM系统集成,使设计人员可在PDM系统中随时通过查询模块,按照所选择的产品、负责部门、产品型号和试验类型等条件方便地查询到相关的试验信息,共享了型号研发业务中设计过程和试验过程的数据,避免了设计业务和试验业务间的信息孤岛现象,可有效提高设计人员工作效率(图3)。
图3 TDM系统信息查询对话框
五、结语
如何实现企业应用系统之间的集成是目前大部分企业信息化过程中面临的一个重要问题,Web Service技术由于其标准、规范的XML描述接口,以及可以独立于软、硬件平台和编写服务所使用的编程语言,而成为解决系统集成时的一项重要技术。本文对TDM系统与PDM系统之间的集成进行了研究,并采用Web Service技术进行实现。但是并不是所有的系统之间的集成都可以使用Web Service技术来实现,需要应用系统本身架构的支持,所以企业在实施信息化系统之初应把要实施的信息化系统本身架构是否支持与其他系统方便的集成作为一项重要的指标来考虑。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/