APP下载

基于ESB的BOM集成研究

2013-11-06代婷婷

机械设计与制造工程 2013年6期
关键词:监听消息数据中心

代婷婷

(中国空空导弹研究院,河南 洛阳 471009)

随着企业信息化建设的深入,许多企业都逐步建立了各类应用信息系统,其中PDM(Product Data Management,产品数据管理)系统主要是围绕产品设计展开信息组织和资源管理,因此是设计BOM(EBOM)的主要管理平台[1];ERP(Enterprise Resource Planning,企业资源计划)系统主要是围绕企业的物流、信息流、资金流对企业内外部资源进行管理[2],它重点关注制造 BOM(MBOM)。在制造与装配行业,BOM结构复杂、BOM间的转换与调整较为频繁,所以实现不同系统间BOM数据传递以及数据集成是企业BOM管理的重点。本文探讨了PDM与ERP两个异构系统如何基于ESB实现BOM集成。

1 总体框架

ESB(Enterprise Service Bus,企业服务总线)是一个灵活地用于集成各种应用和各种服务的连接基础架构。企业服务总线能够通过简化应用和服务之间接口的数量、接口大小及接口复杂度等方法使客户面向服务的架构(SOA)更加强大。ESB可以提供以下功能:路由消息;在请求者与服务者之间转换传输协议;在请求者与服务者之间转换消息格式;处理来自于各种异构源的业务事件[3]。

梳理业务系统数据,在数据中心统一建立主题数据库,PDM、ERP系统通过统一转码后将数据写入主题数据库中;在ESB上对PDM、ERP系统接口进行注册,各接口之间通过ESB充当消息传递媒介,进行数据传递。基于企业服务总线的系统集成结束了业务系统之间混乱的点对点模式,开始走向业务系统—数据中心—业务系统的集成,构建企业的全域数据库,实现数据的统一管理。

2 实现过程

2.1 实现思路

图1 BOM传递过程

BOM数据传递由PDM系统发起,通过ESB的消息服务实现数据同步及消息通知,并通过数据中心进行数据交换。ERP系统通过监听程序监听ESB消息服务机构发送的消息,有消息时接收消息,自动解析,并根据消息内容从数据中心提取数据插入ERP系统相应的表中。BOM传递过程如图1所示:(1)当PDM系统中的BOM数据具备发布条件时,手动提交需要传递的BOM数据到数据中心。(2)同时向ESB发送本次传递对应的消息,ESB负责监听BOM传递的服务,接收到BOM传递的消息后自动将消息转发给事前注册的消费者(即接收BOM信息的业务系统)。(3)ERP系统实时监听ESB,当有消息发送过来后,实时获取消息并对内容进行解析。(4)ERP 系统根据消息解析结果,自动从数据中心获取BOM数据并存储到数据库中,从而完成数据的传递。

2.2 技术实现

具体实现过程分为以下4步:(1)利用PDM系统的API接口开发出应用菜单,进行BOM结构的遍历和信息的提取;(2)利用中间件产品Inforsuite的API接口开发消息的发送、监听和接收;(3)对数据中心进行数据的写入、读取、更新和删除;(4)在ERP系统中进行BOM结构的展开、搭建和删除。

2.2.1 集成信息定义

集成过程中PDM系统需要向ERP系统传递的信息包括物料基础信息及BOM信息,该信息存储于数据中心。

BOM结构的描述方法总体上可以分为矩阵型、邻接表型、层次型、父子型以及二叉树型等。矩阵型、邻接表型和层次型设计这3种描述方法在保证BOM数据的一致性、重用性方面存在很多问题,但搜索性能较好;父子型和二叉树型BOM描述方法在保证BOM数据的一致性、重用性方面表现良好,但搜索性能一般[4]。本文重点研究父子型的BOM结构,具体如图2所示。

图2 父子型的BOM结构

2.2.2 PDM 系统实现过程

PDM系统主要包括信息获取模块和信息传递模块。其中信息获取模块主要任务是把需要的PDM系统中BOM信息提取出来存储到临时缓存中,信息传递模块主要负责把临时缓存中的信息写入数据中心中,并向ESB中间件发送JMS消息。PDM系统实现过程如图3所示。

图3 PDM系统实现过程

a.用户在PDM系统的产品结构管理模块中打开要传递的产品BOM后,通过选择“传递BOM”的命令菜单触发信息获取模块。

b.系统获取当前产品结构管理模块中的根节点对应BOMLine,获取BOMLine对应Item下主属性表中的代号、类型、名称、版本、物料编码、关重件标识等属性。

c.将上一步获取到的信息存储到ItemProperty类型临时堆栈中。

d.遍历根节点对应BOMLine的子节点,获取每个子节点与根节点的配对数量关系。

e.如果某个子节点BOMLine有替代件,需要获取替代件的基本信息,并将编码、名称等信息与子节点BOMLine进行关联。

f.将根节点BOMLine的组成信息以结构化的形式存储到ItemRelation类型临时堆栈中。

g.进行递归调用,对每一个子节点BOMLine执行b步操作。

h.连接数据中心,判断ItemProperty类型临时堆栈中物料是否已存在,存在则更新物料信息,不存在则插入物料信息。

i.自动生成当前BOM的批次号,将ItemRelation类型临时堆栈中的BOM关系信息写入数据中心。

j.向ESB发送消息,告知数据传递完毕。

2.2.3 ERP 系统实现过程

ERP系统负责监听ESB转发的来自PDM系统的JMS信息,并依据消息从数据中心读取BOM数据,导入到系统中,搭建新BOM。

a.消息监听。

通过部署在接收端的JMS监听器监听ESB,有消息时自动接收发送过来的消息,消息以XML格式进行传输,监听方按照约定的格式对其进行解析。消息中包含:被操作表、操作表所属主题、操作类型(分为增加/修改/删除标记)等参数信息。

b.BOM数据导入。

消息解析成功后,ERP系统依据消息中传递的参数信息调用后台包进行处理,导入BOM数据。处理逻辑为:消息中操作类型为增加时,ERP系统从数据中心读取BOM数据,插入BOM表中搭建新BOM;消息中操作类型为修改时,ERP系统自动找到需修改的数据,删除原数据,重新插入,搭建新版本BOM。消息中操作类型为删除时,ERP系统自动找到需删除的数据,删除并搭建新版本BOM。

3 结束语

目前,企业内PDM、ERP等各种系统的应用已经比较普遍,随着应用的不断深入,异构系统的集成已经成为企业信息化建设的关键点。本文研究的基于ESB的松耦合集成方式,能够较好地解决PDM与ERP系统之间的BOM数据集成问题,快速响应企业频繁的BOM转化与调整,缩短BOM维护周期,提高企业管理效率,同时该方案对企业各系统之间的综合集成具有借鉴和参考价值。

[1] 童秉枢,李建明.产品数据管理(PDM)技术[M].北京:清华大学出版社,2000.

[2] 陈启申.ERP——从内部集成起步[M].北京:电子工业出版社,2004.

[3] 华竹轩,王桂荣,徐楠,等.基于企业服务总线中间件的评估模型[J].计算机工程,2012,38(2):63-68.

[4] 郝广科,何卫平,闫慧,等.PLM环境下BOM多视图映射技术研究[J].现代制造工程,2007(12):16-18,81.

猜你喜欢

监听消息数据中心
酒泉云计算大数据中心
浅析数据中心空调节能发展趋势
千元监听风格Hi-Fi箱新选择 Summer audio A-401
一张图看5G消息
网络监听的防范措施
应召反潜时无人机监听航路的规划
基于云计算的交通运输数据中心实现与应用
消息
消息
消息