技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 無線射頻識別RFID中間件技術(shù)(二)

無線射頻識別RFID中間件技術(shù)(二)

時間:2007-09-03 11:08:00來源:lihan

導(dǎo)語:?介紹了無線射頻識別RFID中間件技術(shù)
3.2門面模式、工廠模式對外部暴露API接口 為了避免后臺應(yīng)用系統(tǒng),即中間件的客戶端過分耦合,采用門面模式(Facade)對系統(tǒng)內(nèi)部、外部實現(xiàn)清晰的隔離。處理流程可參見圖6所示的序列圖。客戶端僅僅與Facade類建立聯(lián)系,如果Facade接口定義得足夠清晰,客戶端可以對中間件的內(nèi)部實現(xiàn)一無所知,這體現(xiàn)了面向?qū)ο笾械姆庋b性。
類的設(shè)計參見源代碼示例,從中可以看出,采用簡單工廠模式(Simple Factory)能夠在客戶端不知情的情況下,靈活地替換API實現(xiàn)類的版本。中間件API接口清晰地定義了中間件提供的操作,客戶端只須知道工廠類(APIFactory)能夠得到中間件API接口的實例即可。 中間件API接口MiddlewareAPI: publicinterfaceMiddlewareAPI{ void define(String specName, ECSpec spec); void undefine(String specName); void subscribe(String specName, String uri); void unsubscribe(String specName, String uri); EPCReports poll(String specName); EPCReports immediate(ECSpec spec); &nnbsp; } 工廠類APIFactory: publicclassAPIFactory{ publicstaticMiddlewareAPIgetAPIInstance(){ } } API的 實現(xiàn)類A: publicclassClient{ publicstaticvoidmain(String[] args) { MiddlewareAPI api = APIFactory.getAPIInstance(); api.define("a new spec", new EPCSpec()); } } 3.3狀態(tài)模式模擬規(guī)則的狀態(tài)機 規(guī)則在其生命周期中擁有不同的狀態(tài),在每個狀態(tài)對一系列操作都有著不同的表現(xiàn),于是可以利用狀態(tài)模式(state)來模擬規(guī)則的狀態(tài)機,將不同狀態(tài)的不同表現(xiàn)作為可變化因素封裝起來,參見代碼示例。 規(guī)則狀態(tài)接口ECState: publicinterfaceECState{ voidsubscribe(StringspecName,String uri); voidunsubscribe(StringspecName,String uri); EPCReportspoll(StringspecName); } 未被請求狀態(tài)類ECStateUnrequested:   publicclassECStateUnrequestedimplements ECState { } 已被請求狀態(tài)類ECStateRequested: publicclassECStateRrequestedimplements ECState { } 激活狀態(tài)類ECStateActive: ; publicclassECStateActiveimplements ECState { } 規(guī)則類ECSpec: publicclassECSpec{ privateECStatestate; publicECStategetState(){ return state; } publicvoidsetState(ECStatestate) { this.state = state; } } 這樣,在針對規(guī)則實施相應(yīng)操作的時候,就可以直接把相應(yīng)操作委派給其狀態(tài)屬性(ECState)去做即可。比如,ECSpec的subscribe操作,只需一行代碼“state.suscribe(specName, uri);”即可。其中,specName、uri為臨時變量,具體取值在方法調(diào)用之前確定。 由面向?qū)ο蟮亩鄳B(tài)性特征,根據(jù)state字段目前所指向的對象來動態(tài)確定由ECState接口的哪一個具體的實現(xiàn)類的代碼來完成工作。ECState接口的實現(xiàn)類根據(jù)實際情況確定是否需要在處理過程中修改ECSpec對象的狀態(tài)屬性(state),此處在應(yīng)用狀態(tài)模式時,需要設(shè)計多個定時器類來輔助狀態(tài)機的跳轉(zhuǎn)[3]。 3.4策略模式切換多種報告上傳、命令下發(fā)方式 事件周期結(jié)束之后,中間件需要組裝報告上傳給規(guī)則的預(yù)訂者,即應(yīng)用系統(tǒng)。上傳的方式有多種,如HTTP、Socket、JMS等等。中間件的核心邏輯處理模塊不應(yīng)該關(guān)心具體的上傳技術(shù),相應(yīng)工作應(yīng)交給報告上傳模塊來做,核心邏輯處理模塊只須完成自己的工作,然后把一定格式的數(shù)據(jù)通過報告上傳模塊發(fā)送,參見代碼示例。 報告發(fā)送接口ReportSender: publicinterfaceReportSender{ & nbsp; voidsendReport(ECReportsreports); } 通過Http方式發(fā)送報告的ReportSender接口實現(xiàn)類ReportSenderByHttp: publicclassReportSenderByHttpimplements ReportSender { public void sendReport(ECReports reports) { } } 通過Socket方式發(fā)送報告的ReportSender接口實現(xiàn)類ReportSenderBySocket: publicclassReportSenderBySocketimplements ReportSender { publicvoidsendReport(ECReportsreports) { } } 通過JMS方式發(fā)送報告的ReportSender接口實現(xiàn)類ReportSenderByJms: publicclassReportSenderByJmsimplements ReportSender { publicvoidsendReport(ECReportsreports) { }   } 報告發(fā)送示例客戶端類 SendReportWorker: publicclassSendReportWorker{ privateReportSendersender; privateECReportsreports; & nbsp; publicvoidsetReports(ECReportsreports) { this.reports = reports; } publicstaticvoidmain(String[] args) { SendReportWorker worker = new SendReportWorker(); worker.sender.sendReport(reports); } publicvoidsetSender(ReportSendersender) { this.sender = sender; } } 這樣,發(fā)送消息的工人類可通過設(shè)置ReportSender的實例來靈活設(shè)置其發(fā)送方式。 同樣,中間件的清點命令下發(fā),即中間件與閱讀器之間的接口,也存在多種方式,如Socket、SOAP等,也可采用類似的設(shè)計。 3.5觀察者模式處理上報消息 閱讀器的消息上報轉(zhuǎn)換為消息對象,對消息對象的接收、分發(fā)可采用經(jīng)典的觀察者模式實現(xiàn)。 4 中間件發(fā)展方向 4.1與閱讀器管理系統(tǒng)的融合 中間件是閱讀器與后臺應(yīng)用系統(tǒng)之間的橋梁,而閱讀器通常有設(shè)備管理需求,比如軟件版本下載、設(shè)備告警管理、參數(shù)配置等等,閱讀器管理系統(tǒng)也是直接與閱讀器交互的軟件模塊。于是,如何處理好中間件與閱讀器管理系統(tǒng)之間的關(guān)系成為一個亟待解決的問題。 從軟件部署(部署在同一臺主機上)、軟件模塊重用(重用閱讀器通信模塊)等角度考慮,中間件與閱讀器管理系統(tǒng)的融合勢必成為中間件本身的一個優(yōu)勢。 4.2對多標(biāo)準(zhǔn)標(biāo)簽的支持 RFID技術(shù)在國內(nèi)外的發(fā)展和應(yīng)用方興未艾,國際上多個標(biāo)準(zhǔn)組織都試圖統(tǒng)一RFID標(biāo)準(zhǔn),但在一定的時期內(nèi),勢必出現(xiàn)多標(biāo)簽并存的情況。于是,對多標(biāo)準(zhǔn)標(biāo)簽的支持也是中間件系統(tǒng)的一個發(fā)展方向。 4.3對多廠商閱讀器的支持 中間件與閱讀器之間的接口、通信方式以及信息格式,也無法做到統(tǒng)一標(biāo)準(zhǔn)。對多廠商閱讀器的支持、至少對少數(shù)幾家主流廠商的閱讀器的支持,已經(jīng)是對中間件所提出的基本要求。

標(biāo)簽:

點贊

分享到:

上一篇:無線射頻識別RFID中間件技術(shù)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號