PDM与CAD集成的设计与实现

发布时间:18-11-22


   摘要:PDM是一门用来管理所有与产品相关信息(包括零件信息、配置、文档、CAD文件、结构、权限信息等)和所有与产品相关过程的技术。它提供了对企业的产品数据进行静态的存储管理和动态的过程管理。
 
   CAD集成是PDM系统的根基所在。工程设计人员设计大量的CAD图档,如何将这些图档以及图档上的数据进行有效的管理,并保持同PDM系统数据一致,是PDM系统的设计和开发的一个重要课题。
 
   本文介绍的PDM系统利用XML技术和Web服务技术,将CAD软件同PDM系统集成在一起,实现了BOM数据和模型文件的传输,同时利用PDM系统中的生命周期和工作流管理机制实现了对CAD图档的校阅、审批等流程的客户化定制。
关键词:PDM/CAD集成Web服务




 
1概述
   PDM(Product Data Management)系统已经渐渐发展成为一种企业信息管理的集成平台,管理的企业数据主要包括两大类:文档和BOM(Bill of Material)数据。文档主要以CAD(Computer Aided Design)产生的图档为主,内部包含了BOM所需的基本信息。BOM作为企业产品开发和生产的数据组织核心,贯穿了产品的整个生命周期,因此,要保证CAD图档与PDM的数据一致,只有依靠PDM与CAD的充分集成。目前大多数的PDM系统都是基于J2EE架构和Web应用技术开发的,体系结构可分为五个层次,每层间的逻辑关系如图1所示。
 
图1PDM系统的总体框架
 

   CAD与PDM集成模块属于PDM系统中的一个应用模块。在PDM中,每个零部件都是受版本管理的,产品之间的使用数量和单位通过对象之间的关联记录,如图2所示。
 
图2PDM产品结构设计
 

   零部件通过检入、检出机制进行修改,每变更一次,零部件的版本发生一次迭代,记载了本次变更的相关信息,实现了对变更过程的“有痕”记录。当零部件有若干个版本时,在产品结构中具体使用的版本由产品配置的约束条件来控制。PDM中,零部件与对应的CAD图档之间建立了关联关系,CAD图档在Oracle数据库中作为BLOB数据存储。
 
   CAD系统和PDM系统之间的信息集成在PDM系统内开发,主要实现读取CAD系统的产品结构和零部件信息并负责将CAD系统内的装配结构信息和零部件信息导人PDM系统,实现了在CAD系统内可以直接在PDM系统中创建并维护零部件以及产品结构信息,从而保证CAD系统和PDM系统数据的一致性。
 
   我们采用了VisualC十+语言对CAD系统的客户端进行开发,在用户界面上增加了PDM与CAD集成的操作人口(菜单),利用VisualC++的动态链接库DLL(Dynamic Link Library)技术建立客户端CAD集成的公共部分组件,同时利用Web服务(Web Services)技术建立了基于HTTP协议的Web服务层,并通过Web服务层访问基于EJB技术开发的PDM与CAD集成的服务。




 
2Web服务技术和CAD集成
   CAD系统的客户端开发采用的是VisualC++语言,而PDM系统是采用Java语言开发的,那么在两种语言交互的时候,数据传输的格式就成了困扰的问题。两种语言采用了不同的编码方式,不同的运行环境,如何实现只通过方法的调用进行两种开发语言之间的访问是整个集成的关键所在。这样能够使CAD软件和PDM系统之间的集成趋于无缝集成。
 
   Web服务技术就很好的解决了异构之间的交互。通过服务端提供的服务接口,利用标准的访问协议(SOAP协议),能够将不同语言开发的客户端和服务端联系起来,使得客户端轻松地访问到服务端。Web服务是一种分布式的计算技术,在Internet或者Intranet上通过标准的XML信息格式来发布和访问商业应用服务。它使用的是开放的Internet标准,通过Web服务描述语言WSDL及统一描述、发现和集成规范UDDI进行服务的描述、发布和集成。通过简单对象访问协议SOAP实现对服务的调用。
 
   WSDL是一种XML格式,用于将网络服务描述为一组端口(Port)的集合,这些端口对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上,以便定义端口。相关的多个端口的组合即成为抽象端口(服务)。
 
   在WSDL中。由于端点和消息的抽象定义已从具体的网络部署或数据格式绑定中分离出来,因此可以对抽象定义进行再次使用,其中消息(Message)是指对交换数据的抽象描述;而端口类型(Port Type)是指操作的抽象集合。用于特定端口类型的具体协议和数据格式规范构成了可以再次使用的绑定(Binding)。将网络地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。
 
   Web服务的主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。它与Web的应用技术不同,Web服务解决的问题是如何使计算机系统可以使用Web应用服务器所能提供的服务。




 
3PDM与CAD集成的服务端设计
   PDM与CAD集成的服务端是进入到PDM系统最后的门户,服务端对客户端传人的数据进行操作,根据不同的数据信息完成不同的操作,并最终将PDM系统中记录的信息进行刷新,同时将需要保存的信息保存在后台数据库中。
 
   PDM与CAD集成的服务也是作为PDM的一个基本服务出现的。最终将生成一个CAD Integration.jar部署在服务器上的。在CAD Integration Service EJB类中实现了CAD集成服务所有服务的方法,是整个服务的逻辑实现所在。
 
   遵循在J2EE框架下的开发规范,Base Service继承了EJB Local Object类,而CAD Integration继承于Base Service类。通过利用本地接口,提高了服务端访问CAD Integration EJB对象的效率,这样在服务端各个EJB之间互相访问的时候,不是采用远程接口,利用RMI进行访问,而是通过本地对象和本地接口进行本地对象的访问。
 
   这样在服务端进行部署配置的时候,需要配置本地部署描述符,这样只需简单地进行JNDI查找并进行适当的类型定型,就可以访问到CAD集成服务的EJB,不仅提高了效率,而且代码也比用来获取远程接口的代码更直观易懂。服务端获取CAD集成服务是采用了业务代理的设计模式。这样设计可以减少表示层和业务层的耦合。隐藏业务服务的各种复杂实现细节。




 
4结论
   PDM系统与CAD集成利用面向服务技术的Web Services技术、EJB技术以及XML技术,采用了Java语言结合Web Logic服务器建立了Web服务,在客户访问端采用了C++语言的DLL技术,解决了异构开发平台之间的数据交换问题,突破了传统的PDM系统依托于特种CAD软件的问题,减少了彼此之间的相互限制,实现了真正彼此集成。整个设计充分利用了重用的技术、接口技术和DLL的动态加载,减轻了模块之间的耦合。