随着信息技术的不断发展和企业业务的多样化,企业为了增强自身的竞争优势,在信息化建设中投入了大量的资金和人力。企业使用的软件及拥有的内部系统越来越多,比如PDM系统、CAPP系统、ERP系统等,这些系统之间相互交叉,有着重复的信息和数据,这便催生了EAI(EntERPrise Application Integration)即企业应用集成的产生。其中,PDM和CAPP之间的集成作为企业应用集成的重要组成部分越来越被企业所重视。
传统PDM和CAPP集成方式不外乎点对点集成和基于中间件的集成。点对点集成方案的基础架构较为脆弱,每一个连接都需要单独开发相应的接口程序,缺少灵活性,并且很难保证数据的及时传递和一致性,这种解决方案只能构建在各自系统中,应用之间的藕合度较高,实际应用范围较为狭窄。基于中间件的PDM和CAPP集成在灵活性和扩展性方面都较点对点集成好,利用分布式对象技术也能很好地实现分布式计算,而且也取得了相当大的收益。但是在Internet环境下,由于不同厂商提供的组件各自有一套独立体系结构和私有协议,不同组件之间无法进行直接的数据交换和数据共享,因而组件之间互操作十分不便,实施起来通常会涉及到使用私有集成适配器,这必将导致更高的费用和复杂的连接性,从而限定了它们在Intemet下的广泛应用。
传统的PDM和CAPP集成成本高,而且不具备灵活性,另外,该集成方法也不能很好地支持企业应用系统随着业务需求的变化而自由调整。在不改变原有企业PDM和CAPP应用系统的基础上,基于面向服务架构(SOA)的企业应用集成方案开始为越来越多的IT人员所青睐,本文结合笔者在某航空企业所做的PDM和CAPP集成工作来具体阐述这一方案。
1 基于SOA的PDM/CAPP系统集成架构
SOA的核心理念就是服务,是组织服务的一种架构模式。SOA通过应用组件和传输协议的松散耦合(服务的传输协议透明化),服务的即时绑定(服务位置的透明化),从而实现业务组件虚拟化,造就一个虚拟集成架构或者集成平台服务总线,这样使服务集成不受任何限制,可以以服务组件形式同时集成现有PDM和CAPP系统的各个功能模块,以及集成将来开发的其它新功能模块,同时也可以根据企业的需求随时更换这些服务组件。
为了解决CAPP的某些管理功能与PDM的管理功能之间存在的重叠和冲突,CAPP保留工艺设计、工艺知识管理、工艺过程管理等一些原有功能,而将剩余管理功能部分与PDM系统进行集成,充分利用PDM系统完备而强大的管理功能,在传统PDM和CAPP系统集成的基础上,提出了如图1所示的CAPP与PDM的SOA集成解决方案。
实现基于SOA框架下的PDM和CAPP系统集成,需要在分析企业相关需求的前提下,经过一定量的定制,构建满足企业实际要求的集成架构。基于SOA的PDM/CAPP集成架构需要解决以下几个关键问题:
图1 CAPP与PDM集成的SOA解决方案
(1)CAPP系统需要及时从PDM系统获得产品的结构信息。目前多数企业都是以BOM的形式来描述产品结构,因此CAPP系统需要根据PDM系统BOM的变化及时更新自己的BOM。在之前的CAPP与PDM集成系统当中,CAPP与PDM系统间有特定的接口,一旦PDM系统发生变化,CAPP与PDM系统之间的接口也要根据PDM系统的变化进行相应的修改,繁琐而复杂。采用SOA解决方案以后,CAPP系统要获取PDM系统中的产品BOM,所做的工作就是通过企业的私有服务中心来查找PDM系统发布的产品结构信息服务,然后访问PDM系统的相关模块,并把得到的BOM信息导入到自己的系统中,PDM系统内部的变化不会牵扯到CAPP系统的改变。
(2)CAPP系统还需要及时从PDM系统获得用户信息,以便约束特定用户对CAPP的操作权限。CAPP系统通过企业的私有服务中心来查找PDM系统发布的用户信息服务,然后访问PDM系统的相关模块,并把得到的用户信息导人自己的系统中。
(3)PDM系统需要及时获取CAPP编辑好的工艺文件的信息,例如工艺文件编号,以便更系统地管理CAPP生成的工艺文件。PDM系统根据自己所需通过企业私有服务中心来查找CAPP系统发布的工艺文件信息服务,然后通过该服务访问CAPP系统以获取工艺文件信息。
经过上述分析后,基于SOA来集成PDM和CAPP所做的主要工作就是创建产品结构信息服务、用户信息服务、工艺文件信息服务3个服务模块,然后将这3个模块以“插拔式”方式加入服务总线,给PDM或者CAPP系统调用即可。由于3种服务都是以“插拔式”的方式加入服务总线,所以可以随时更新这些服务。
2 基于XML的BOM描述
PDM和CAPP系统集成需要交互各自的BOM信息,事实上在产品的全生命周期中,BOM贯穿了企业生产活动的始终,通过BOM将同产品相关的数据、过程、人员组织起来,就可以将产品生命周期中不同的阶段和过程进行连接并实现信息和过程的集成。因此,BOM不仅是连接CAPP和PDM系统的桥梁和纽带,而且是制造企业的基础数据,是PDM和CAPP信息集成的主要环节,BOM集成完善以后,剩余的工艺文件信息以及用户信息等,可以根据BOM表轻而易举地组织起来。
BOM是以数据格式来描述产品结构的文件,是定义产品结构的技术文件。PDM系统和CAPP系统有各自的BOM,存在形式不一样,不可能直接拿来交互,为此必须选择一种中间文件作为BOM信息的载体。XML语言由于其良好的灵活性以及独立于具体的操作平台和应用系统,成为了BOM信息载体的首选。选用XML作为BOM信息的数据载体,PDM和CAPP系统各自把自己的BOM数据转换成XML格式,通过集成框架进行数据交换,从而实现CAPP系统与PDM的数据集成。在某航空企业以XML语言书写的BOM结构树导出文件如下:
产品BOM一个典型的特点是其具有层次性,在传统的关系型数据库中存储起来相当复杂,存在大量冗余数据,并且难以保证数据的一致性和完整性,而用XML语言来存储BOM信息就不一样了,XML语言的层次性正好和产品BOM的层次性对应起来,可以保证产品BOM信息的一致性和完整性。用XML语言来存储产品BOM信息时扩充和修改起来也非常方便,因此选用XML语言作为产品BOM信息的载体。
3 基于Web Service和XML的BOM转换模型
将BOM信息用XML语言的形式来表示,解决了在PDM和CAPP系统之间进行BOM交互的基本问题,而SOA是一个概念,一种理念,一种模型,要实现该模型则需要一种与之相对应的技术手段。使用标准XML协议的Web Services技术使服务平台、语言和发布者能够互相独立,并以一种高度灵活和自动化方式组织交互活动,建立起基础牢固的系统应用集成,是系统集成解决方案的一个理想的选择。这也符合SOA的初衷,很好地屏蔽了两种平台的技术细节,实现业务和技术的解耦,PDM与CAPP集成方案中基于Web Service和XML的BOM转换模型如图2所示。
图2 基于Web Service和XML的BOM信息交互模型
为实现BOM信息在PDM系统和CAPP系统之间的交互,需要对PDM系统和CAPP系统的产品结构模块进行Web Service封装,用Web服务描述语言对PDM系统所提供的API接口服务进行描述,形成WSDL接口文件,并将其发布到服务注册中心。
CAPP系统想要从PDM中获取设计BOM,首先要到企业私有服务注册中心查找并发现PDM系统发布的信息服务,此时CAPP作为PDM系统Web Service的服务请求方,通过Web Services平台发送XML格式的SOAP消息给PDM的Web Services平台,PDM的Web Services平台通过数据交换封装接口解析CAPP系统传递过来的XML格式的消息,并转换为PDM内部数据格式,PDM系统根据得到的数据来查找PDM的产品信息数据库,然后通过数据交换封装接口把查询结果由PDM系统内部的数据格式转换成XML格式,并把得到的XML数据通过Web Services封装成SOAP消息传回给CAPP系统的Web Service平台,CAPP系统通过数据交换封装接口,把得到的XML格式的结果转换成CAPP系统内部的数据格式,此时即得到了CAPP系统所需的设计BOM。反之,PDM要获取CAPP的工艺BOM与制造BOM时也是同样的原理,这样就实现了CAPP与PDM在BOM数据上的集成。
4 企业服务总线(ESB)技术
Web Service技术为实现基于SOA的PDM和CAPP的集成提供了一个坚实的基础,然而Web Service技术仅仅是实现了PDM系统和CAPP系统之间服务请求者和服务提供者之间点对点的连接。
图3所示是一种点到点的交互方式,虽然这有别于传统集成的点到点集成方式,克服了传统点到点集成方式耦合度高等缺点,但是在一个拥有多个服务请求者和服务提供者的PDM和CAPP集成系统环境当中,这种点对点的连接方式使集成架构脆弱,灵活性也不高。因此在用SOA架构实现PDM和CAPP系统之间的集成时,还需要一个中间层,它能够帮助实现在SOA架构中不同服务之间的智能化管理,即企业服务总线(ESB)技术,如图4所示。
图3 直接连接
图4 使用ESB连接
ESB在本质上就是一种可以提供可靠的、有保证的消息技术的新型中间件技术。更重要的是,充当“缓冲器”的ESB负责在诸多服务之间转换业务逻辑和数据格式,这种功能使服务逻辑与服务本身之间相分离,从而使不同的应用程序可以同时使用同一服务,不用在应用程序或者数据发生变化时,改动服务代码。ESB在该集成架构中主要完成以下几件工作。
(1)PDM系统和CAPP系统之间相关服务的消息路由,以请求到正确的服务提供者。
(2)对服务提供者进行注册命名,对服务请求者进行寻址管理。
(3)服务请求者与服务之间传输协议的转换。
(4)服务请求者与服务之间消息格式的转换。
(5)处理各自来自不同业务模块的事件。
(6)保证服务质量的安全可靠。
ESB为PDM和CAPP在SOA环境下集成提供了与企业需要保持一致的基础架构,通过ESB,PDM和CAPP之间并不直接交互服务,而是通过一个总线交互,该总线提供虚拟化和管理功能来实现和扩展SOA。结合笔者在某航空企业基于SOA集成PDM和CAPP所做的工作,ESB的基本功能模型如图5所示。
图5 ESB的基本功能模型图
ESB就是在SOA架构中实现服务间智能化集成与管理的中介,它的出现改变了直接连接的PDM和CAPP系统的集成架构,又可以提供比传统中间件产品更为廉价的解决方案,同时还可以消除PDM和CAPP系统之间的技术差异,实现了不同服务之间的通信与整合。
5 结束语
本文针对传统PDM和CAPP集成解决方案中的不足,基于SOA思想,提出了一种面向服务的PDM和CAPP系统集成架构。该架构具有SOA的松散耦合、可重用和高度可集成等特征,能有效地集成企业现有资源,提高业务敏捷能力和消除“信息孤岛”。SOA技术架构是企业应用需求和信息化发展的必然产物,其表现出来的灵活性与优越性毋庸置疑,它也是新兴的PDM和CAPP集成技术方案。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/