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系统;对于需要审核的数据则先存人平台,等待审核,审核结束之后才能导入目标系统。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:模具企业CAD与ERP集成系统关键技术