摘要:针对模具行业普遍存在的CAD与ERP系统的实时信息共享问题,提出了面向服务架构的信息集成框架。该框架采用企业服务总线作为主要集成技术,结合Web服务技术、基于数据事件流的数据处理技术以及规则引擎技术,实现CAD与ERP集成系统。该系统解决了CAD与ERP系统间物料清单(Bill of Material)信息的同步共享与更新问题,保证了系统间的数据一致性和信息透明性。
随着计算机集成制造系统(Computer Integrated Manufacturing Systems)技术在国内的推广,CAD软件、ERP软件得到广泛的应用,企业的信息化程度也不断提高。但是在实际应用中,CAD软件和ERP软件分属不同的应用领域,其信息共享问题常常被人忽视,于是企业中存在的CAD数据、ERP数据,成了一个个信息“孤岛”。对于同一产品或零件的信息各自从不同的角度定义,采用不同的数据模型描述,用不同的方式录入、存储、维护,造成大量重复录入以及信息冗余,并得不到同步更新;同时在客观上阻碍了进一步在整个企业中的信息化进程,而形成了新的信息瓶颈。
本文的研究目标就是针对我国模具行业在设计、制造、管理等方面所存在的上述主要问题,从模具企业的数字化设计、制造、管理需求出发,在已有的模具CAD系统、模具生产管理系统等成果基础上,采用面向服务的架构集成相关应用系统。本平台采用ESB作为其基础框架,通过基于数据事件流的处理方式完成数据格式的转换,采用基于Rete算法的规则引擎实现业务逻辑,将各种应用逻辑抽象为服务连接到ESB上,实现数据的无缝集成和实时共享。
1 模具企业的业务分析与建模
1.1 模具企业业务分析
CAD/CAE/CAM/CAPP在模具行业的广泛应用,使得国内模具行业的生产技术能力大幅提高,然而生产管理能力却相对滞后。近年来,一些大中型、竞争力强的模具企业实施了PDM、ERP等信息系统,生产管理能力有了一定程度的提高,也带来了直接的经济效益,但是仍然存在着CAD系统和ERP系统的信息流通不畅的问题[2]。一般来讲,模具设计之后就可以进行采购和工艺设计,采购、工艺设计以及模具制造是可以并行的。采购的材料以及数量是根据模具图纸的BOM信息决定的,BOM的获取效率和准确率直接影响了采购的效率,从而影响整副模具交货期。然而目前普遍的BOM集成是手动完成的,专门的BOM录入人员将设计图纸的BOM信息手动的录入ERP系统中进行统一管理,这样就大大降低了BOM更新的效率,同时由于人为失误会导致BOM信息的不准确,可能造成库存不足或者过量,导致整个制造过程的低效;规模较大的模具企业是在CAD系统中进行BOM表导出的二次开发,这在一定程度上提高了操作效率与精度,但在自动化方面还是非常欠缺。可见CAD系统和ERP系统的BOM信息的高效集成已经十分必要。
1.2 模具企业业务建模
模具企业是十分复杂的系统,包含如企业经营、产品设计、产品生产、物料采购等多个层面;整个业务过程不仅涉及到物流,还有大量的信息流、资金流;同时,模具企业是个动态变化的系统,客户需求的频繁改动使得整个生产过程存在大量的随机因素和不确定性因素。因此,对模具企业的建模显得尤为重要。通过对业务模型的分析,可以发现存在于模具企业的业务瓶颈,为优化和改造业务流程提供了科学依据。
企业建模的方法有很多,根据建模侧重点各有不同,企业模型信息往往由这些反映各个侧面的子模型组成,如功能与信息建模方法,过程建模方法,组织与资源建模方法,动态企业建模方法,集成化企业建模方法等。由于我们关心的重点是模具企业的业务过程,在此采用描述工作流程的过程建模方法进行模具企业的业务流程建模。目前,主流建模方法有集成计算机辅助制造(Integrated Computer Aided Manufacturing,ICAM)DEFinition系列方法、基于统一建模语言(Unified Modeling Language)的建模方法、基于业务流程建模标注(Business Process Modeling Notation)流程图方法等。IDEF族的方法基本上是静态建模,缺少动态的功能,很难表达复杂的逻辑关系和非确定的信息;UML角色工作流建模,是一种以角色为中心的建模方法,建模重点在角色的交互协作上,在流程描述上有所欠缺;基于BPMN的建模方法借鉴了UML活动图,UML EDOC的业务流程图,IDEF等的技术经验,兼顾了复杂的流程语义和角色交互,为描述和研究复杂系统提供了强有力的手段。BPMN由一组图形元素构成,便于开发一个简单的,为大多数业务分析人员熟悉的流程图。对于建模者来说,这些图形都是易于区分和识别的。同时,众多的成员保障了BPMN作为一个业务流程建模语言的标准。由此可见,基于BPMN的建模方法是很好的选择。
通过对模具企业ERP系统和CAD系统的业务分析可得如下基于BPMN的业务流程图。由图1可知,物料信息是CAD系统需要与ERP系统频繁交互的,ERP会根据由CAD系统提交的物料信息决定采购计划。而针对于模具行业的实际业务特点,客户需求的频繁改动时有发生,物料信息也会随之改变。如CAD系统改动的物料信息不能及时的更新到ERP系统中,采购清单就会与实际需求不一致,导致采购不足或者采购过剩,给企业带来不必要的麻烦和损失。因此,物料信息的实时更新和一致性显得尤为重要。平台工作的关键是保证物料数据实时更新,使得物料信息在系统之间保持一致和高度透明,功能要求就是要解决CAD系统和ERP系统的BOM无缝集成的问题。 (图片)
图1 模具企业业务框架 面对业务流程不断变化、多种异构系统重用和集成的问题,面向服务的集成是目前最有效的解决方案。在面向服务的思想下,具体应用程序的功能由一些松耦合并且具有统一接口定义方式的服务组合构建起来的。这些封装良好的原子化的服务仅仅在它们共同的契约里暴露行为,服务外部不能看到服务的内部状态和状态转化。同时,这些服务共享同一个消息总线,对迅速变化的业务环境具有良好适应力。这刚好可以解决模具企业需求多变所带来的问题。通过对模型分析可以得出,集成的最佳时间点是3D模具图纸设计好之后,BOM集成分为两个主要的步骤:(1)从CAD系统读取BOM信息;(2)BOM数据经过转换,导入ERP系统。面向服务的解决方案可以对这两个步骤进行服务的抽象,即一个读取服务,一个写入服务。在“3D设计/审核”环节之后,调用读取服务和写入服务,实现BOM的实时共享和无缝集成。
2 关键技术
2.1 基于ESB的数据集成技术
ESB为面向服务的集成提供了一个完备的基础结构,结合了Web服务、XSLT(Extensible Stylesheet Language Transformations)以及对编排技术的支持等。ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。ESB对信息进行了适当的控制和处理,满足了面向服务架构中安全性、策略性、可靠性和统计需求。使用通信协议负责服务之间所有的信息调控、流向和转换。ESB采用基于XML的消息格式,支持如Web服务、JMS(Java Message Service)等标准,使服务的实现和服务通信相分离,有很好的开放性和可扩展性。集成的各个应用之间可以通过ESB发送和接收消息,异步的产生消息,这些都使得ESB成为面向服务架构、面向消息架构以及事件驱动架构的良好解决方案。
本平台中,首先根据集成需求将各个集成操作抽象成为定义良好的服务,如CAD系统的文件BOM读取服务,ERP系统的目标BOM写入服务,以备ESB调用;其次,集成需要完成异构系统不同数据之间的格式转换,以便共享数据。根据BOM数据格式的要求进行数据处理,将源BOM数据格式转换成目标BOM数据格式,ESB根据转换文件完成数据转换;同时,ESB根据用户需求,通过基于内容的路由机制实现集成逻辑;最终,用户配置的监听机制触发定义好的ESB,实现两系统之间的数据集成和共享。
2.2 基于数据事件流的数据处理
信息共享的一个重要的前提就是数据转换,即将CAD系统和ERP系统中不同数据结构的信息相互转换,这样才能实现数据的一致性和实时共享。然而手工硬编码的方式去完成数据结构的转换是不可取的,既要耗费大量精力又缺乏平台通用性。在这里,采用数据转换引擎进行数据转换,不仅支持基于XSLT的XML格式之间的转换,还支持CSV到XML、XML到CSV、Java到XML、XML到Java等多种数据转换形式,能够为ESB提供灵活的数据转换服务,同时利于平台数据转换功能的扩展。本平台中,数据通信采用的是XML,数据结构的表示和转换采用的是)ML Schema和XSLT。XML Schema可以定义BOM表中的元素、属性,定义子元素的次序及数目,定义元素是否为空,是否可包含文本,定义元素和属性的数据类型以及属性的默认值等。XSLT作为一种基于XML的语言,在数据转换引擎框架的支撑下用于将源BOM的XML文档转换成目标BOM的XML文档。在本平台中,XSLT正是发挥了转换数据的重要作用,使CAD系统和ERP系统中不同结构的BOM信息得以共享。集成数据流如图2所示。(图片)
图2 集成数据流图 数据集成时,系统自动载入双方的Schema文件,生成XSLT转换文件。转换服务启动时,数据转换引擎将结构化的数据流转变成事件流,然后进行分析,生成最终XML结果。
2.3 基于Rete算法的规则引擎与内容路由
本平台采用基于Rete算法的规则引擎分离业务逻辑。Rete算法是目前效率最高的前向链形推理算法,核心思想是将分离的匹配项根据内容动态的构造匹配树,减少重复操作,解决时间冗余的问题,从而大大减少计算量,提高计算效率。Rete算法的状态保存和节点共享机制使其优于传统的模式匹配算法。
平台基于内容的路由采用的是Drools规则引擎,它是一种基于Rete算法的高效规则引擎,配有类似Java语言的规则描述语言,支持非XML的本地语言编写规则,能描述较为复杂的逻辑,并且能用Excel对规则进行管理,大大方便了规则的管理与维护。执行逻辑如图3所示。(图片)
图3 Drools工作模式简图 “规则库”是编好的Drools规则集合,待进行匹配的数据称为“事实”,“模式匹配器”的作用是对新的数据和被修改的数据进行规则的匹配。当一条规则被完全匹配,这条规则和与其匹配的事实将激活被放入“规则执行议程”,由议程来负责安排执行。
进行BOM集成时,业务过程较为复杂,Drools规则引擎将业务逻辑和业务实现完全分离,解决了集成业务的维护和扩展问题。如在平台的实现中,对于不需要审核的BOM信息,存入平台备份并直接导入目标ERP系统;对于需要审核的数据则先存人平台,等待审核,审核结束之后才能导入目标系统。
3 面向服务的CAD与ERP集成系统设计
3.1 集成系统功能架构
通过分析模具企业的业务特点和集成需求,集成平台功能架构如图4所示,主要包括3个功能层,分别是基础功能层、数据集成层和用户管理层。(图片)
图4 集成平台功能架构 基础功能层完成底层原子服务的开发,包括CAD读取服务的开发,ERP写入服务的开发,同时对服务进行管理、发布与维护。CAD读取服务例如UG的PRT文件BOM信息的获取服务,AutoCAD的DWG文件BOM信息的读取服务等。ERP写入服务的开发要基于具体ERP软件的平台接口特点进行定制化开发,如eMan模具管理系统。对这些原子服务进行有效的开发与管理,为数据集成提供底层支持。
数据集成层的核心功能是整合基础功能层提供发布的原子服务,在平台配置完整的前提下完成数据集成。通过基于Rete算法的规则引擎抽象集成业务规则,将业务实现与业务逻辑有效分离,通过解释规则内容完成服务路由;采用基于XSLT的Smooks转换引擎完成对数据事件流的处理,从而将从CAD系统的XML数据格式转换成ERP系统的目标XML数据格式;监听事件提供多种监听方式完成对ESB的触发,包括FTP,JMS,文件系统等。用户管理层的配置功能将为数据集成层做好所需的前件工作,如监听方式的选择、数据事件流处理所需的XSLT文件等。
用户管理层主要是提供一个友好的人机界面,满足用户的定制配置需求。包括ESB组件的配置和部署,CAD适配器的配置以及数据结构配置。用户可以根据业务需求定制开发、部署ESB。在CAD集成模块的设计中,提出了一个重要的概念就是CAD适配器,每种适配器对应一类CAD软件的一类应用,可以说它是一个二元组,包含ESB的监听器,CAD转换服务。一个特定CAD适配器通过一种ESB监听CAD源文件,然后调用特定的服务进行解析,解析的数据通过数据映射,按照不同的需求再导入到需要的系统中,并且导人的过程是人为可控的。同时,平台提供用户界面进行数据结构的配置,以满足不同数据结构在异构系统的共享和信息转换。
3.2 集成系统技术架构
从模具企业BOM集成需求出发,结合面向服务的思想,设计了图5所示的技术架构。本技术架构可以满足数据集成需求。(图片)
图5 集成平台技术架构 平台技术架构包括数据层、企业服务总线集成层、业务逻辑层以及Web界面层。数据层负责结构化/非结构化数据的管理,同时负责Web服务的发布和维护;通过企业服务总线提供的各类适配器,将从ERP系统和CAD系统中抽象出来的服务链接到服务总线上,从而实现数据的传输、转换与路由;而模具企业中所特有的业务规则通过规则引擎进行处理,从而实现业务逻辑与业务实现之间的分离。最终通过统一的web集成界面,为企业用户集成操作提供便利。
4 集成系统案例
本集成平台已经成功集成了UG NX系统和eMan模具生产管理系统,平台根据eMan系统的实际需求定制服务、配置ESB和所需数据结构,完成了BOM信息的转换。具体流程如下:(1)开发UGNX系统的BOM读取服务及eMan系统的BOM录入服务,配置、部署ESB;(2)设计人员将设计好的模具图放到指定文件夹,ESB通过文件系统方式被触发执行;(3)ESB调用UG PRT原生文件的读取服务,将文件信息以一种数据结构读取出来;(4)根据业务逻辑决定服务路由,假如文件信息不需要审核,将信息直接以目标数据结构导入eMan,并存人平台备份;如果需要审核,就暂不存人eMan;(5)对于需要审核的文件,在检查、修改完毕后,将文件信息导入eMan。
4.1 集成适配器配置
适配器是集成的核心部件。适配器即配置好的功能组件,主要是ESB的配置。包括:选择PRT读取服务;选择ESB的监听方式;选择eMan的BOM写入服务;选择是否需要审核等。登陆到适配器界面,系统将查询数据库所有适配器配置。显示如图6所示。(图片)
图6 适配器界面 4.2 集成操作模块实现
平台提供操作界面方便用户查询、备忘已集成BOM信息,集成需审核的BOM信息。集成操作分为已集成模块和未集成模块。用户可以在“已集成”模块中根据各个查询条件对已集成信息进行筛选。在“未集成”模块中,用户可以对筛选出的BOM信息进行修改和审查,同时可以预览即将导入目标系统的信息,审核完毕后将符合要求的数据导入目标ERP系统。
5 结语
平台采用基于服务的方式实现异构系统的集成,方便了系统维护和扩充。对于企业需要集成的遗留系统,不需要做特定接口模块的开发,只需将遗留系统中的功能抽象成为标准的web服务,从而通过集成平台实现系统对接。这样就减少了集成投入,也很好的保护了遗留数据;由于平台的开发是基于各种标准的,具有基于web服务的开放性,各个功能模块之间的耦合程度较低,大大方便了系统功能的扩充。
本文围绕面向服务的模具企业CAD与ERP集成平台的研究,深入分析了模具企业业务特点、生产过程中存在的信息共享问题以及所带来的不良后果,阐明了面向服务集成的优势。本平台中,基于Rete算法的规则引擎实现了业务逻辑与业务实现的分离,基于数据事件流的数据转换引擎解决了异构系统之间的数据转换问题,最终通过ESB将BOM集成中的服务组合成为功能,实现了集成方案。该方案能够快速响应模具企业多变的业务流程,简化模具企业集成操作,提高自动化程度,最终提高模具企业效益。
5/22/2012
|