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