肖若輝
在信息化社會中,以信息化帶動工業(yè)化、以信息化服務(wù)工業(yè)化、以信息化推進工業(yè)化,走新型工業(yè)化道路,是提高企業(yè)核心競爭力的必由之路。本文以MES系統(tǒng)與ERP系統(tǒng)進行對接嘗試,闡述跨平臺對接技術(shù)的研究。
當(dāng)今流行的兩個系統(tǒng)的接口技術(shù)主要有RBI Experts采用的RBMI系統(tǒng),完成與ERP系統(tǒng)對接[1],但是此接口每次都須要利用RBMI系統(tǒng)的數(shù)據(jù)表記錄數(shù)據(jù),而且還須對數(shù)據(jù)進行核查,時間較長;另外一種采用同步機制的RFC通信進程方式,通過執(zhí)行已經(jīng)在ERP R/3定義好的功能函數(shù),但RFC不能被ERP以文件形式支持,只能以ABAP程序內(nèi)嵌入到ERP當(dāng)中;另外還有一種接口方式是ERP R/3 BAPI利用RFC功能模塊調(diào)用特定的服務(wù)模式[2]-[4]。以上三種ERP接口方式都能很好地與 ERP系統(tǒng)進行有效的數(shù)據(jù)交互,但要處理大量的MES實時提供的數(shù)據(jù)采用以上三種方式實驗效果不是特別好,在實際系統(tǒng)的實現(xiàn)過程中更不能達到系統(tǒng)所需要的性能指標(biāo)。因此,利用中間件設(shè)計的思想,提出一種基于中間件的接口設(shè)計方式,有效解決了 MES系統(tǒng)與ERP系統(tǒng)數(shù)據(jù)交互量大、數(shù)據(jù)形式復(fù)雜、數(shù)據(jù)操作類型多樣的問題。
接口中間件是根據(jù)定義協(xié)議,設(shè)計出獨立的服務(wù)軟件,分布式的應(yīng)用軟件用這種軟件在不同的平臺、技術(shù)之間共享資源,實現(xiàn)數(shù)據(jù)集的交互。
(1)數(shù)據(jù)結(jié)構(gòu):
協(xié)議類型+開始符+接口類型+參數(shù)列表1+參數(shù)列表2+協(xié)議結(jié)束符
(2)參數(shù)列表結(jié)構(gòu):
協(xié)議類型+開始符+參數(shù)名1+分隔符+參數(shù)值1+分隔符+參數(shù)名2+數(shù)據(jù)分隔符+參數(shù)值2。有關(guān)參數(shù)定義見表1。
表1 參數(shù)定義
(1) 數(shù)據(jù)結(jié)構(gòu):
接口代號+命令分隔符+協(xié)議類型+開始符+接口類型+參數(shù)列表1+參數(shù)列表2+協(xié)議結(jié)束符
(2) 參數(shù)列表結(jié)構(gòu):
接口代號+命令分隔符+協(xié)議類型+開始符+參數(shù)名1+ 分隔符+參數(shù)值 1+分隔符+參數(shù)名 2+數(shù)據(jù)分隔符+ 參數(shù)值2
接口程序是基于跨平臺的背景設(shè)計,接口的中間件設(shè)計時,采用分層設(shè)計思想和兩端模式進行,負(fù)責(zé)將請求隊列中的需求,通過DLL調(diào)用ERP的接口函數(shù),將ERP接口函數(shù)返回的數(shù)據(jù)進行分析處理,同時報告調(diào)用的執(zhí)行情況。
為了滿足系統(tǒng)間的無縫對接與實時數(shù)據(jù)處理等要求,接口中間件程序中設(shè)計了兩個請求隊列,一個為定時請求隊列,另一個為實時請求隊列。定時請求隊列:定時從接口請求需求,通過設(shè)置對接時間和參數(shù);滿足不同企業(yè)對數(shù)據(jù)的處理要求;實時請求隊列:響應(yīng)接口客戶端的請求,數(shù)據(jù)進入實時請求隊列,接口從此隊列中讀寫實時信息進行響應(yīng)。接口結(jié)構(gòu)圖如圖1所示:
圖1 接口結(jié)構(gòu)
所謂跨平臺設(shè)計模式即是在跨平臺的接口中間件中,使用不同平臺的程序?qū)崿F(xiàn)數(shù)據(jù)操作功能,根據(jù)跨平臺已定義的協(xié)議進行相互傳遞操作結(jié)果,在跨平臺不同的系統(tǒng)里,數(shù)據(jù)通過轉(zhuǎn)換后能被其它系統(tǒng)認(rèn)知。該設(shè)計模式能統(tǒng)一不同平臺上的數(shù)據(jù)格式,對跨平臺數(shù)據(jù)的操作進行統(tǒng)一,根據(jù)協(xié)議內(nèi)容,能夠滿足對“海量”數(shù)據(jù)、實時數(shù)據(jù)處理等數(shù)據(jù)交互要求。
(1)接口函數(shù)設(shè)計
在 ERP中增加開發(fā)針對其它所需要的數(shù)據(jù)交互的ABAP接口函數(shù),由跨平臺接口服務(wù)程序或跨平臺接口調(diào)用客戶端進行調(diào)用,完成ERP系統(tǒng)的讀取或?qū)懭牍δ堋?/p>
(2)接口調(diào)用服務(wù)程序設(shè)計
負(fù)責(zé)將請求隊列中的需求,通過調(diào)用跨平臺的接口函數(shù),將跨平臺接口函數(shù)返回的數(shù)據(jù)進行分析處理。
基于中間件的跨平臺接口服務(wù)程序,實踐應(yīng)用證明,實現(xiàn)了全天24小時不間斷運行、海量數(shù)據(jù)交互、網(wǎng)絡(luò)帶寬限制等測試,從測試數(shù)據(jù)可以看到,其中接口調(diào)用頻率見表2所示,每天的接口數(shù)據(jù)量統(tǒng)計數(shù)據(jù)如圖2所示:
表2 接口調(diào)用頻率
圖2 數(shù)據(jù)庫統(tǒng)計數(shù)據(jù)(條/天)
利用中間件思想,結(jié)合跨平臺設(shè)計模式,使用 ERP系統(tǒng)開發(fā)的語言和面向?qū)ο蟪绦蛟O(shè)計語言開發(fā)的接口服務(wù)程序,滿足了 ERP系統(tǒng)與其它系統(tǒng)的數(shù)據(jù)實時交互要求,該系統(tǒng)已投入實際運行并取得了良好的效果,對跨平臺、實時交互數(shù)據(jù)接口設(shè)計具有一定的參考價值。
[1]王成橋,喬非.ERP與MES集成模式方法研究[J].工業(yè)工程.2006,(2):68-72.
[2]關(guān)宇平.ERP R/3系統(tǒng)客戶化接口程序的開發(fā)方法及實現(xiàn)[J].計算機系統(tǒng)應(yīng)用. 2007,(2):49-52.
[3]戴潔,曹翀,劉強.ERP接口技術(shù)的實施[J].山東理工大學(xué)學(xué)報(自然科學(xué)版).2007,(6):66-68.
[4]趙常思.ERP中商業(yè)組件 BAPI的應(yīng)用研究[J].計算機輔助工程.2004,(3):56-59.
[5]姚利娜,薛霄.非線性系統(tǒng)輸出反饋控制[J].微計算機信息.2008年24卷13期:25-26.
[6]李小芹,李延頻,陳貴生.現(xiàn)場總線與水電廠計算機監(jiān)控系統(tǒng)[J].微計算機信息.2008年24卷13期:10-11.