基于CORBA的RFID倉儲信息系統(tǒng)集成研究
發(fā)布時間:2014-11-04 21:05
摘要:無線射頻識別(radiofrequencyidentification,RFID)倉儲管理信息系統(tǒng)與原有條形碼系統(tǒng)基于不同核心技術構建而成,兩者間難以實現(xiàn)資源共享和代碼復用。在對基于公共對象請求代理體系結構(commonobjectrequestbrokerarchitecture,CORBA)技術系統(tǒng)集成的優(yōu)點和RFID倉儲管理信息系統(tǒng)集成進行分析的基礎上,提出一種利用CORBA技術對RFID倉儲管理信息系統(tǒng)和原條碼系統(tǒng)進行集成的新方法,并以具體實例說明基于CORBA技術的信息系統(tǒng)集成的設計思路和基本步驟。方案有效地實現(xiàn)了對原有條形碼系統(tǒng)的復用,既降低了系統(tǒng)建設成本,又能保證2種技術的有機結合以提高倉儲管理效率,表現(xiàn)出良好的實際應用價值。
關鍵詞:公共對象請求代理體系結構(CORBA);系統(tǒng)集成;無線射頻識別(RFID)
0引言
隨著計算機網絡和信息采集技術的迅速發(fā)展,
傳統(tǒng)的條形碼信息系統(tǒng)已無法滿足企業(yè)物流信息化的需求,因此,集成條形碼信息系統(tǒng)和RFID(radiofrequencyidentification)倉儲管理信息系統(tǒng)能從根本上改變信息傳遞方式,提高企業(yè)物流信息化水平。但是,由于RFID倉儲管理信息系統(tǒng)和條形碼信息系統(tǒng)所采用的開發(fā)工具和后臺數(shù)據(jù)庫不一致,使得2個系統(tǒng)之間難以實現(xiàn)資源共享和代碼復用。
在面向對象技術還不成熟之前,已經有很多軟件組織開發(fā)了分布式系統(tǒng),但移植性和重用性比較差。對象管理組織(objectmanagementgroup,OMG)提出了公共對象請求代理體系結構(commonobjectrequestbrokerarchitecture,CORBA)[1]。CORBA面向對象,以數(shù)據(jù)為中心進行設計,極大地提高了系統(tǒng)的可擴展性和復用能力,與傳統(tǒng)軟件相比具有以下優(yōu)點:①易于理解,具有完整的語義特征;②易于擴充和修改,具有較高的通用性和適應性;③易于構造組裝,具有規(guī)范的外部接口。只要遵循統(tǒng)一的CORBA標準,不同平臺、不同操作系統(tǒng)、不同編程語言、不同程序設計風格的系統(tǒng)都能進行交流和合作。
近幾年來,CORBA在系統(tǒng)集成方面得到廣泛應用。文獻[2]提出了基于CORBA的對等網絡動態(tài)系統(tǒng)集成方法,從而實現(xiàn)擴展和改善對等網絡框架下動態(tài)系統(tǒng)集成機制;文獻[3]提出了基于CORBA的多Agent系統(tǒng)集成架構,并通過概念模型驗證該系統(tǒng)集成架構的可行性和有效性;文獻[4]提出了基于CORBA技術對企業(yè)電子商務與第三方物流企業(yè)信息系統(tǒng)的集成模式,將遺留系統(tǒng)集成到現(xiàn)行系統(tǒng)中去,使企業(yè)資源獲得充分利用。本文針對目前條形碼信息系統(tǒng)和RFID倉儲管理信息系統(tǒng)間存在的問題,提出了一種有效的基于CORBA技術進行系統(tǒng)集成的方法,實現(xiàn)了系統(tǒng)間的資源共享和代碼復用,既降低了系統(tǒng)建設成本,又提高了倉儲管理效率。
1CORBA與RFID概述
CORBA的全稱是公共對象請求代理體系結構,是由OMG提出的應用軟件體系結構和對象技術規(guī)范,其核心是一套標準的語言、接口和協(xié)議,以支持異構分布式應用程序間的互操作性及獨立于平臺和編程語言的對象重用。
CORBA主要有3個關鍵組成部分:
1)接口定義語言(interfacedefinitionlanguage,IDL),它描述對象接口,根據(jù)對象操作定義對象類型,并可映射到特定的編程語言或對象系統(tǒng);
2)對象請求代理(objectrequestbroker,ORB),它規(guī)定了分布對象的接口和語言映射,實現(xiàn)對象間的互聯(lián)、互通與互操作。
3)通用ORB間協(xié)議(generalinter-ORBprotocol,GIOP),它可以映射到任何滿足一系列最少假設的面向連接的傳輸協(xié)議[1]。
圖1所示為對象請求代理結構[1,5]。通過COBAR的規(guī)范,CORBA允許應用程序和其他的應用程序通訊,而不論他們在什么地方或者由誰來設計。
RFID是一種非接觸式的自動識別技術,它通過射頻信號自動識別目標對象并獲取相關數(shù)據(jù),其最大的優(yōu)點就是非接觸識別、標簽內容可讀寫、存儲容量大。它通過射頻信號自動識別目標對象并獲取相關數(shù)據(jù),識別工作無須人工干預,可工作于各種惡劣環(huán)境。RFID技術可識別高速運動物體并可同時識別多個標簽,操作快捷方便。RFID是一種簡單的無線系統(tǒng),只有2個基本器件,該系統(tǒng)用于控制、檢測和跟蹤物體。系統(tǒng)由一個詢問器(閱讀器)和很多應答器(標簽)組成。
圖1對象請求接口結構
Fig.1Objectrequestbrokerarchitecture
2RFID倉儲管理信息系統(tǒng)集成的分析設計
現(xiàn)有的倉儲管理系統(tǒng)主要是由傳統(tǒng)的條形碼管理系統(tǒng)與人工記憶相結合,圖2為原有條形碼系統(tǒng)盤點的用例圖。管理員可以進行清點庫存和更新數(shù)據(jù)的操作。清點庫存是掃描庫存的條形碼,更新數(shù)據(jù)是通過采集到的數(shù)據(jù),調用條形碼系統(tǒng)來更新數(shù)據(jù)。
圖2原有條形碼系統(tǒng)盤點用例圖
Fig.2Usecaseoftheoriginalbarcodesystem
這種方式不僅費時費力,而且容易出錯,使得貨品倉儲環(huán)節(jié)效率低下,給企業(yè)帶來不可估量的損失,且識別距離有限,受環(huán)境變化影響劇烈。要改善倉儲管理的效果,降低物流環(huán)節(jié)的成本,必須從根本的信息采集技術入手,從而改變倉儲管理中的信息傳遞方式,以提高物流信息化水平。因此,在倉儲管理領域條形碼技術廣泛應用的今天,引入RFID技術能從根本上改變企業(yè)基礎信息采集方式落后、準確率不高、效率低下的現(xiàn)狀,提高倉儲管理的物流信息化水平,在市場競爭中占據(jù)主動。
因為現(xiàn)階段標簽的價格遠遠高于條形碼,為了在提高倉儲管理信息系統(tǒng)效率的同時,適當?shù)乜刂埔驑撕灦鴰淼念~外成本,我們提出了基于CORBA的RFID倉儲管理信息系統(tǒng)與條形碼信息系統(tǒng)集成的方案。此方案在保留原有條形碼信息系統(tǒng)功能的基礎上,使RFID倉儲管理信息系統(tǒng)能有效地復用條形碼系統(tǒng)的部分功能,在現(xiàn)階段不僅能有效地解決倉儲管理信息系統(tǒng)中成本與效率間的矛盾,還有利于推廣RFID技術在倉儲信息系統(tǒng)應用中的普及。圖3為改進的系統(tǒng)盤點用例圖,用戶在清點庫存的時候,自動掃描條形碼和RFID標簽。相應地,更新數(shù)據(jù)有2種方式,一種是通過獲得的條形碼數(shù)據(jù)更新數(shù)據(jù)庫;另一種是通過獲得的標簽數(shù)據(jù)更新數(shù)據(jù)庫。前者的工作原理與原有條形碼系統(tǒng)一致,而后者通過COBRA技術,實現(xiàn)了改進系統(tǒng)與原有條形碼系統(tǒng)之間的通訊,最終調用原有條形碼系統(tǒng)來實現(xiàn)數(shù)據(jù)更新,達到節(jié)約成本、復用系統(tǒng)的目的。
圖3改進的系統(tǒng)盤點用例圖
Fig.3Usecaseoftheimprovementsystem
3RFID倉儲管理信息系統(tǒng)集成的實現(xiàn)
基于RFID倉儲管理信息系統(tǒng)和原有條形碼系統(tǒng)功能的分析,本文以建立盤點后數(shù)據(jù)更新API(applicationprogramminginterface)接口為例介紹基于CORBA技術的信息系統(tǒng)的實現(xiàn),編程中涉及的文件如圖4所示。
1)分析與設計,根據(jù)實際情況確定相關程序方法,然后建立IDL(interfacedescriptionlanguage)接口文件。IDL用來定義CORBA對象使用的、應用組件之間的接口。用IDL相關編譯器可以將它映射為其他常用的語言,如C++,Java等。
原有的條形碼系統(tǒng)的數(shù)據(jù)盤點功能函數(shù)為check_updateDB(),該函數(shù)的輸入參數(shù)有Rnumber(物品編號)、Rname(物品名稱)、Rbatch(物品批次)、Rquantity(物品數(shù)量)、Rprice(物品價格)、Rpost(貨位信息)、Snumber(供應商編號)、Sname
(供應商名稱)等。
根據(jù)上述信息,盤點后數(shù)據(jù)更新操作的IDL如下:
//UpdateDB_App.idlmoduleUpdateDB_App{interfaceCheck_updateDB_App{voidcheck_updateDB(instringRnumber,instringRname,instringRbatch,inlongRquantity,inlongRprice,instringRpost,instringSnumber,instringSname);
};
};
2)編譯IDL接口文件,產生能夠實現(xiàn)遠程通信的stub(碼根)和skeleton(服務器框架)及相關支持文件。stub和skeleton實際上都是程序代碼,stub接受來自客戶端程序的請求,將它編組后,交給ORB核心,服務器端操作結果返回后,stub又將結果解組返回給客戶;skeleton從作用上講,就像一個位于服務器端的碼根。
本例中條形碼系統(tǒng)是以C++開發(fā)的,因此,使用BorlandVisiBroker編譯器對IDL進行編譯,生成了相關文件(見圖4)。RFID信息系統(tǒng)采用Java語言進行開發(fā),因此,采用Java軟件自帶的idltojava編譯器編譯IDL文件,編譯后生成相關文件(見圖4)。
3)編寫服務器端代碼,編譯生成服務器端的可執(zhí)行程序。根據(jù)服務器端所使用的編程語言和實現(xiàn)方式,從而確定服務器端代碼的具體編寫情況。
在該實例中,以C++語言構建的服務器端代碼使用繼承的方式來實現(xiàn)。服務器端的實現(xiàn)類將繼承UpdateDB_App_s.hh中定義的Check_UpdateDB_AppImpl類,Check_UpdateDB_AppImpl類中實現(xiàn)與條形碼系統(tǒng)check_updateDB方法的連接。
4)編寫客戶端代碼并編譯成客戶端可執(zhí)行程序。
客戶端首先要獲取對ORB的初始化引用;然后在當前網絡環(huán)境中定位服務對象并對服務對象進行綁定,從而獲取對服務對象的引用;實例化對象接口并建立與ORB的連接;最后調用相應方法實現(xiàn)功能操作。因為采用了COBRA之后,客戶端和服務器端不需要采用一樣的語言,故本例中采用常用的java語言來編寫客戶端。
5)啟動對象請求代理,運行程序。
4結束語
在目前RFID應用成本還較高、大量推廣存在一定困難,已建立的條碼應用系統(tǒng)不能簡單地棄之不用的背景下,本文在對CORBA技術和基于COR-
BA技術的信息系統(tǒng)集成進行分析和研究的基礎上,闡述了RFID倉儲管理信息系統(tǒng)集成的必要性,提出一種充分利用已有資源將二者有機結合起來的新方法,并給出了基于CORBA的RFID倉儲管理信息系統(tǒng)集成的設計思路和實現(xiàn)。實踐表明,用CORBA技術來實現(xiàn)RFID倉儲管理信息系統(tǒng)集成,可以使RFID倉儲管理信息系統(tǒng)能有效地復用條形碼系統(tǒng)的部分功能,在現(xiàn)階段有利于推廣RFID技術在倉儲信息系統(tǒng)應用中的普及。
參考文獻(略)
本文編號:9968
本文鏈接:http://sikaile.net/guanlilunwen/wuliuguanlilunwen/9968.html
最近更新
教材專著