隨著企業(yè)信息化建設(shè)的深入,許多企業(yè)都逐步建立了各類應(yīng)用信息系統(tǒng),其中PDM(Product Data Management,產(chǎn)品數(shù)據(jù)管理)系統(tǒng)主要是圍繞產(chǎn)品設(shè)計(jì)展開信息組織和資源管理,因此是設(shè)計(jì)BOM(EBOM)的主要管理平臺;ERP(EntERPrise Resource Planning,企業(yè)資源計(jì)劃)系統(tǒng)主要是圍繞企業(yè)的物流、信息流、資金流對企業(yè)內(nèi)外部資源進(jìn)行管理,它重點(diǎn)關(guān)注制造BOM(MBOM)。在制造與裝配行業(yè),BOM結(jié)構(gòu)復(fù)雜、BOM間的轉(zhuǎn)換與調(diào)整較為頻繁,所以實(shí)現(xiàn)不同系統(tǒng)間BOM數(shù)據(jù)傳遞以及數(shù)據(jù)集成是企業(yè)BOM管理的重點(diǎn)。本文探討了PDM與ERP兩個異構(gòu)系統(tǒng)如何基于ESB實(shí)現(xiàn)BOM集成。
1 總體框架
ESB(Enterprise Service Bus,企業(yè)服務(wù)總線)是一個靈活地用于集成各種應(yīng)用和各種服務(wù)的連接基礎(chǔ)架構(gòu)。企業(yè)服務(wù)總線能夠通過簡化應(yīng)用和服務(wù)之間接口的數(shù)量、接口大小及接口復(fù)雜度等方法使客戶面向服務(wù)的架構(gòu)(SOA)更加強(qiáng)大。ESB可以提供以下功能:路由消息;在請求者與服務(wù)者之間轉(zhuǎn)換傳輸協(xié)議;在請求者與服務(wù)者之間轉(zhuǎn)換消息格式;處理來自于各種異構(gòu)源的業(yè)務(wù)事件。
梳理業(yè)務(wù)系統(tǒng)數(shù)據(jù),在數(shù)據(jù)中心統(tǒng)一建立主題數(shù)據(jù)庫,PDM、ERP系統(tǒng)通過統(tǒng)一轉(zhuǎn)碼后將數(shù)據(jù)寫入主題數(shù)據(jù)庫中;在ESB上對PDM、ERP系統(tǒng)接口進(jìn)行注冊,各接口之間通過ESB充當(dāng)消息傳遞媒介,進(jìn)行數(shù)據(jù)傳遞;谄髽I(yè)服務(wù)總線的系統(tǒng)集成結(jié)束了業(yè)務(wù)系統(tǒng)之間混亂的點(diǎn)對點(diǎn)模式,開始走向業(yè)務(wù)系統(tǒng)一數(shù)據(jù)中心一業(yè)務(wù)系統(tǒng)的集成,構(gòu)建企業(yè)的全域數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一管理。
2 實(shí)現(xiàn)過程
2.1 實(shí)現(xiàn)思路
BOM數(shù)據(jù)傳遞由PDM系統(tǒng)發(fā)起,通過ESB的消息服務(wù)實(shí)現(xiàn)數(shù)據(jù)同步及消息通知,并通過數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交換。ERP系統(tǒng)通過監(jiān)聽程序監(jiān)聽ESB消息服務(wù)機(jī)構(gòu)發(fā)送的消息,有消息時(shí)接收消息,自動解析,并根據(jù)消息內(nèi)容從數(shù)據(jù)中心提取數(shù)據(jù)插入ERP系統(tǒng)相應(yīng)的表中。BOM傳遞過程如圖1所示:(1)當(dāng)PDM系統(tǒng)中的BOM數(shù)據(jù)具備發(fā)布條件時(shí),手動提交需要傳遞的BOM數(shù)據(jù)到數(shù)據(jù)中心。(2)同時(shí)向ESB發(fā)送本次傳遞對應(yīng)的消息,ESB負(fù)責(zé)監(jiān)聽BOM傳遞的服務(wù),接收到BOM傳遞的消息后自動將消息轉(zhuǎn)發(fā)給事前注冊的消費(fèi)者(即接收BOM信息的業(yè)務(wù)系統(tǒng))。(3)ERP系統(tǒng)實(shí)時(shí)監(jiān)聽ESB,當(dāng)有消息發(fā)送過來后,實(shí)時(shí)獲取消息并對內(nèi)容進(jìn)行解析。(4)ERP系統(tǒng)根據(jù)消息解析結(jié)果,自動從數(shù)據(jù)中心獲取BOM數(shù)據(jù)并存儲到數(shù)據(jù)庫中,從而完成數(shù)據(jù)的傳遞。
圖1 BOM傳遞過程
2.2 技術(shù)實(shí)現(xiàn)
具體實(shí)現(xiàn)過程分為以下4步:(1)利用PDM系統(tǒng)的API接口開發(fā)出應(yīng)用菜單,進(jìn)行BOM結(jié)構(gòu)的遍歷和信息的提取;(2)利用中間件產(chǎn)品Inforsuite的API接口開發(fā)消息的發(fā)送、監(jiān)聽和接收;(3)對數(shù)據(jù)中心進(jìn)行數(shù)據(jù)的寫入、讀取、更新和刪除;(4)在ERP系統(tǒng)中進(jìn)行BOM結(jié)構(gòu)的展開、搭建和刪除。
2.2.1 集成信息定義
集成過程中PDM系統(tǒng)需要向ERP系統(tǒng)傳遞的信息包括物料基礎(chǔ)信息及BOM信息,該信息存儲于數(shù)據(jù)中心。
BOM結(jié)構(gòu)的描述方法總體上可以分為矩陣型、鄰接表型、層次型、父子型以及二叉樹型等。矩陣型、鄰接表型和層次型設(shè)計(jì)這3種描述方法在保證BOM數(shù)據(jù)的一致性、重用性方面存在很多問題,但搜索性能較好;父子型和二叉樹型BOM描述方法在保證BOM數(shù)據(jù)的一致性、重用性方面表現(xiàn)良好,但搜索性能一般。本文重點(diǎn)研究父子型的BOM結(jié)構(gòu),具體如圖2所示。
圖2 父子型的BOM結(jié)構(gòu)
2.2.2 PDM系統(tǒng)實(shí)現(xiàn)過程
PDM系統(tǒng)主要包括信息獲取模塊和信息傳遞模塊。其中信息獲取模塊主要任務(wù)是把需要的PDM系統(tǒng)中BOM信息提取出來存儲到臨時(shí)緩存中,信息傳遞模塊主要負(fù)責(zé)把臨時(shí)緩存中的信息寫入數(shù)據(jù)中心中,并向ESB中間件發(fā)送JMS消息。PDM系統(tǒng)實(shí)現(xiàn)過程如圖3所示。
圖3 PDM系統(tǒng)實(shí)現(xiàn)過程
a.用戶在PDM系統(tǒng)的產(chǎn)品結(jié)構(gòu)管理模塊中打開要傳遞的產(chǎn)品BOM后,通過選擇“傳遞BOM”的命令菜單觸發(fā)信息獲取模塊。
b.系統(tǒng)獲取當(dāng)前產(chǎn)品結(jié)構(gòu)管理模塊中的根節(jié)點(diǎn)對應(yīng)BOMLine,獲取BOMLine對應(yīng)Item下主屬性表中的代號、類型、名稱、版本、物料編碼、關(guān)重件標(biāo)識等屬性。
c.將上一步獲取到的信息存儲到ItemProperty類型臨時(shí)堆棧中。
d.遍歷根節(jié)點(diǎn)對應(yīng)BOMLine的子節(jié)點(diǎn),獲取每個子節(jié)點(diǎn)與根節(jié)點(diǎn)的配對數(shù)量關(guān)系。
e.如果某個子節(jié)點(diǎn)BOMLine有替代件,需要獲取替代件的基本信息,并將編碼、名稱等信息與子節(jié)點(diǎn)BOMLine進(jìn)行關(guān)聯(lián)。
f.將根節(jié)點(diǎn)BOMLine的組成信息以結(jié)構(gòu)化的形式存儲到ItemRelation類型臨時(shí)堆棧中。
g.進(jìn)行遞歸調(diào)用,對每一個子節(jié)點(diǎn)BOMLine執(zhí)行b步操作。
h.連接數(shù)據(jù)中心,判斷ItemProperty類型臨時(shí)堆棧中物料是否已存在,存在則更新物料信息,不存在則插人物料信息。
i.自動生成當(dāng)前BOM的批次號,將ItemRelation類型臨時(shí)堆棧中的BOM關(guān)系信息寫入數(shù)據(jù)中心。
j.向ESB發(fā)送消息,告知數(shù)據(jù)傳遞完畢。
2.2.3 ERP系統(tǒng)實(shí)現(xiàn)過程
ERP系統(tǒng)負(fù)責(zé)監(jiān)聽ESB轉(zhuǎn)發(fā)的來自PDM系統(tǒng)的JMS信息,并依據(jù)消息從數(shù)據(jù)中心讀取BOM數(shù)據(jù),導(dǎo)入到系統(tǒng)中,搭建新BOM。
a.消息監(jiān)聽。
通過部署在接收端的JMS監(jiān)聽器監(jiān)聽ESB,有消息時(shí)自動接收發(fā)送過來的消息,消息以XML格式進(jìn)行傳輸,監(jiān)聽方按照約定的格式對其進(jìn)行解析。消息中包含:被操作表、操作表所屬主題、操作類型(分為增加/修改/刪除標(biāo)記)等參數(shù)信息。
b.BOM數(shù)據(jù)導(dǎo)入。
消息解析成功后,ERP系統(tǒng)依據(jù)消息中傳遞的參數(shù)信息調(diào)用后臺包進(jìn)行處理,導(dǎo)入BOM數(shù)據(jù)。處理邏輯為:消息中操作類型為增加時(shí),ERP系統(tǒng)從數(shù)據(jù)中心讀取BOM數(shù)據(jù),插入BOM表中搭建新BOM;消息中操作類型為修改時(shí),ERP系統(tǒng)自動找到需修改的數(shù)據(jù),刪除原數(shù)據(jù),重新插入,搭建新版本BOM。消息中操作類型為刪除時(shí),ERP系統(tǒng)自動找到需刪除的數(shù)據(jù),刪除并搭建新版本BOM。
3 結(jié)束語
目前,企業(yè)內(nèi)PDM、ERP等各種系統(tǒng)的應(yīng)用已經(jīng)比較普遍,隨著應(yīng)用的不斷深入,異構(gòu)系統(tǒng)的集成已經(jīng)成為企業(yè)信息化建設(shè)的關(guān)鍵點(diǎn)。本文研究的基于ESB的松耦合集成方式,能夠較好地解決PDM與ERP系統(tǒng)之間的BOM數(shù)據(jù)集成問題,快速響應(yīng)企業(yè)頻繁的BOM轉(zhuǎn)化與調(diào)整,縮短BOM維護(hù)周期,提高企業(yè)管理效率,同時(shí)該方案對企業(yè)各系統(tǒng)之間的綜合集成具有借鑒和參考價(jià)值。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于ESB的BOM集成研究
本文網(wǎng)址:http://www.ezxoed.cn/html/consultation/10820611126.html