21世纪以来,产品数据管理(product data management,PDM)系统在我国中小企业中得到了广泛应用,成为制造业产品设计部门不可或缺的利器。随着技术的发展,如今一个完整产品的研发、设计、制造和装配不可能在一个车间完成,往往需要跨部门、跨企业、跨地区的协同作业,企业希望PDM系统既能与企业内部ERP、CAD、CAM等集成,实现企业内部的协同管理;另一方面,在网络时代PDM系统还要向Web技术发展,能在跨地区、跨国的大型企业中实现异地分布式产品设计、协同制造和协同工作,从而实现企业级的管理。
但是,目前企业内外PDM系统的协作存在如下弊端:①企业内部PDM系统与ERP、CAD、CAM等系统不能很好地集成,相互之间资源不能很好地共享;②企业间设计部门沟通不便,各企业的PDM系统形成信息孤岛,无法实现信息资源的共享;③各企业设计标准不同,产品编码、图纸编码等不统一,导致产品整合困难;④异地PDM系统非松散耦合集成,相互依赖性较强;⑤没有通用的PDM系统开发平台。为了解决这些问题,本文提出了基于面向服务架构(service-oriented architecture,SOA)的2层PDM协同系统来实现企业内外的信息共享和业务整合。
1 基于SOA的PDM协同系统框架
为了实现企业内部的信息共享和业务整合,本研究采用SOA思想重新包装企业的各个系统,即将PDM作为企业的服务提供者,把ERP、CAD、CAM等作为服务使用者,在企业内部建立本地UDDI服务注册中心实现服务的查询和发布。另一方面,在企业之间如果建立基于SOA的异地协同PDM系统,它们普遍采用点对点的方式进行服务的互相调用,但是由于每个企业既是服务提供者,又是服务使用者,当协同站点达到一定数量时就会产生网状分布的繁杂连线,造成结构混乱,难以管理.为了避免这种情况,我们在企业之间采用面向SOA的企业服务总线(SOA-oriented enterprise service bus,s-ESB)技术来实现企业间协同PDM系统。基于以上思想,图1给出了基于SOA的PDM协同系统框架。框架主要由企业内部的SOA封装模块和面向SOA的ESB组成,其中ESB内部主要由一个公共UDDI注册中心、服务组件引擎及服务访问组件组成。
图1 基于SOA的PDM协同系统框架
1.1 面向SOA的ESB
建立在SOA基础之上的企业服务总线(ESB)的解决方案通过使用简单的标准适配器和接口,来完成粗粒度应用(服务)和其他组件之间的互操作,能够满足大型异构企业环境的集成需求,它将使企业应用集成更加方便、灵活、可靠,伸缩性也更强.ESB内部主要有3个组成部分(见图1)。
(1)公共UDDI服务注册中心 这是不同企业PDM系统集成框架的核心,为各个PDM系统信息资源提供者提供快速的服务注册和发现功能。标准的UDDI(统一描述、发现和集成协议)是一套基于Web的、分布式的、为Web Service提供的信息注册中心的实现标准规范,它拥有一套标准的XML Schema定义、发布和搜索的编程规范。各企业PDM系统以Web服务的形式把需要协同共享的信息发布到公共UDDI服务注册中心,请求服务的各企业就能通过服务访问组件搜索获取自己所需的信息。
(2)服务组件引擎 在公共UDDI服务注册中心的支持下,提供面向信息资源的智能搜索功能。该搜索机制与传统UDDI服务的不同之处在于,它支持平台最终需要的资源信息本身,而不仅是作为其传输媒介的Web服务。
(3)服务访问组件 为各企业PDM系统提供Web服务的访问功能。其内部包括传输适配器、数据适配器等,以便将不同企业PDM系统提供的Web服务转化为目标系统可以访问的格式,以便不同行业、不同企业、不同系统平台的服务请求者能根据需要获得相应的访问功能,从而获得有用的信息。
1.2 企业内部PDM
SOA使用户可以不受限制地重复使用软件把各种资源互联起来,只要IT人员选用标准接口包装旧的应用程序,把新的应用程序构建成服务,那么其他应用系统就可以很方便地使用这些功能服务。图1中企业通过利用SOA思想重新包装PDM、ERP、CAD等系统接口,从而实现它们之间的通信和整合。
SOA目前最流行的实现方法是Web Service技术,它使用一系列标准和协议实现相关的功能,其中XML作为Web Service技术的基础,是开放环境下描述数据和信息的标准技术。在企业内部,PDM系统作为企业服务提供者可以用WSDL(Web服务描述语言)描述Web服务,然后用UDDI向本地UDDI服务注册中心发布和注册Web服务,服务请求者(企业内部用户层ERP、CAD、CAM、PDM等)通过UDDI进行查询,找到所需的服务后,利用SOAP(简单对象协议)来绑定、调用这些服务。
1.3 企业间协同PDM
如图1,通过采用ESB总线,使不同行业的企业将其提供的服务发布到公共UDDI服务注册中心,当企业要使用其他企业PDM系统提供的服务时,先在公共UDDI服务注册中心中查找服务,如果不存在这项服务,将“无此项服务”的信息传递给服务请求者。如果存在这项服务,就触发服务组件引擎进行智能搜索,找到该服务组件,然后检测Web服务的访问功能是否存在,若存在则直接发回公共UDDI服务注册中心提供给企业服务请求者;若不存在则利用服务访问组件传输适配器和数据适配器,将Web服务访问接口转换为企业所需要的格式,然后将Web服务访问功能传递给公共UDDI服务注册中心提供给企业服务请求者。企业收到所需服务的“有这项服务”和Web服务访问功能后利用SOAP来绑定、调用服务。
2 评述基于SOA的PDM协同系统框架
2.1 基于SOA的协同PDM系统的特点
2.1.1 在企业内部建立基于SOA的系统框架
在企业内部,将PDM系统作为企业内部信息服务提供者,从而实现与ERP、CAD、CAM等的协同,这能带来的好处在于;①通过将PDM系统内部各种服务封装,并采用标准接口为企业内其他系统提供服务,使企业能专注于产品数据信息的共享和利用,而不是关注PDM系统与其他系统如何兼容的问题。②ERP、CAD、CAM系统能有效地利用PDM系统内部的各种服务,而不用建立自己的产品数据中心,减少企业内部信息的存储冗余。
2.1.2 在企业间采用基于SOA的ESB,实现协同PDM系统
ESB提供了一种开放的、基于标准的消息机制,它可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。通过使用ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使企业已有的PDM系统具有全新的服务接口,并能够在部署环境中支持任何标准。更重要的是缓冲器ESB(负责在诸多服务之间转换业务逻辑和数据格式)与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务,而不必在应用程序或者数据发生变化时改动服务代码。由此,基于ESB的协同PDM系统能解决下列问题:①在不改变原有结构的情况下,实现了企业间不同PDM系统的通信与整合,解决了企业间PDM系统“信息孤岛问题”;②对企业已有的PDM系统提供全新的服务接口,支持不同标准,从而解决了各企业设计标准不统一导致的产品整合困难问题;③在ESB中采用SOA思想实现了各企业PDM系统的松散耦合集成,实现了系统之间的独立性;④充当缓冲器ESB与服务逻辑相分离,从而使得不同的应用程序可以同时使用同一服务,而不须变更代码,从而实现PDM系统平台无关性。
2.2 基于SOA的PDM协同系统评述
系统采用企业内部和外部2层PDM系统,两者分开管理,使得协同管理更安全、更有效。一方面能有效地管理企业内部涉及企业商业秘密信息的PDM系统,防止企业内部商业秘密的泄露,增强可靠性、可操作性、安全性及容错性;另一方面,将与企业协同的服务信息发布到公共UDDI服务注册中心,使不同企业能更好地共享PDM信息,有利于企业之间协同设计、协同生产及协同制造等,更有益于提高企业竞争力。
3 结语
本文仅给出了基于SOA的2层PDM协同系统来实现企业内外的信息共享和业务整合的基本思想,包括面向SOA的ESB、企业内部的PDM和企业间协同PDM。对于制造业来说,基于SOA的PDM协同系统还有待深入研究,目前的研究有基于SOA的多层PDM协同系统的应用,但理论探讨的较多,尚有待实际系统的应用推广。要真正实现基于SOA的PDM协同系统是有一定难度的,不仅在技术上、方法上、工具上要集成,还有标准化的问题,在管理上要有新思路,要改造传统的管理模式,使企业的服务功能更具体、更完善。应该看到,基于SOA思想的PDM系统也带来了一些新的问题,如企业不愿意共享内部PDM系统信息、增加了构建SOA服务接口的成本、如何防止黑客利用协同系统获取企业商业秘密等,这些都是下一步亟需解决的问题。不管怎样,基于SOA的PDM协同系统的应用前景是相当广阔的。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/