分享

基于ESB的BOM集成研究

 youxd 2016-11-01



1 总体框架


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


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


2 实现过程


    2.1 实现思路

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


图1 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数据的一致性、重用性方面表现良好,但搜索性能一般。本文重点研究父子型的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维护周期,提高企业管理效率,同时该方案对企业各系统之间的综合集成具有借鉴和参考价值。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多