當(dāng)前位置:工程項目OA系統(tǒng) > 泛普服務(wù)體系 > 泛普博客
RFID中間件系統(tǒng)關(guān)鍵模塊設(shè)計與實現(xiàn)
引言
射頻識別技術(shù)是一種利用射頻通信實現(xiàn)的非接觸式自動識別技術(shù)(以下通稱RFID技術(shù))。RFID技術(shù)成功的關(guān)鍵除了標(biāo)簽的價格、天線的設(shè)計、波段的標(biāo)準(zhǔn)化、設(shè)備的認(rèn)證之外,最重要的是要有關(guān)鍵的應(yīng)用軟件才能迅速推廣。而中間件可稱為RFID技術(shù)運(yùn)作的中樞,因為它可以促進(jìn)關(guān)鍵應(yīng)用的問世。J2EE是一個標(biāo)準(zhǔn)中間件體系結(jié)構(gòu),旨在簡化和規(guī)范多層分布式企業(yè)應(yīng)用系統(tǒng)的開發(fā)和部署。本文將介紹RFID中間件系統(tǒng)的設(shè)計和關(guān)鍵模塊的實現(xiàn)方法,根據(jù)系統(tǒng)可移植性、可擴(kuò)展性、可維護(hù)性和易集成性的要求,以J2EE技術(shù)作為開發(fā)平臺,基于三層B/S模式,闡述了分布式RFID中間件中關(guān)鍵模塊的實現(xiàn)方法,采用面向?qū)ο蟮姆椒ㄟM(jìn)行設(shè)計和開發(fā)。
1 RFID中間件系統(tǒng)概述
企業(yè)在實施RFID項目改造期間,發(fā)現(xiàn)最耗時、耗力、復(fù)雜度和難度最高的問題是如何保證RFID數(shù)據(jù)正確導(dǎo)入企業(yè)的管理系統(tǒng),為此企業(yè)做大量的工作以保證RFID數(shù)據(jù)的正確性的。經(jīng)企業(yè)和研究機(jī)構(gòu)的多方研究、論證、實驗,最終找到了一個比較好的解決方法,即RFID中間件。
RFID中間件是實現(xiàn)RFID硬件設(shè)備與應(yīng)用系統(tǒng)之間數(shù)據(jù)傳輸、過濾、數(shù)據(jù)格式轉(zhuǎn)換的一種中間程序,將RFID讀寫器讀取的各種數(shù)據(jù)信息,經(jīng)過中間件提取、解密、過濾、格式轉(zhuǎn)換、導(dǎo)入企業(yè)的管理信息系統(tǒng),并通過應(yīng)用系統(tǒng)反應(yīng)在程序界面上,供操作者瀏覽、選擇、修改、查詢。中間件技術(shù)也降低了應(yīng)用開發(fā)的難度,使開發(fā)者不需要直接面對底層架構(gòu),而通過中間件進(jìn)行調(diào)用。
RFID中間件是一種消息導(dǎo)向的軟件中間件,信息是以消息的形式從一個程序模塊傳遞到另一個或多個程序模塊。消息可以非同步的方式傳送,所以傳送者不必等待回應(yīng)。RFID中間件在原有的企業(yè)應(yīng)用中間件發(fā)展的基礎(chǔ)之上,結(jié)合自身應(yīng)用特性進(jìn)一步擴(kuò)展并深化了企業(yè)應(yīng)用中間件在企業(yè)中的應(yīng)用。其主要特點是:
(1)獨(dú)立性,RFID中間件獨(dú)立并介于RFID讀寫器與后端應(yīng)用程序之間,不依賴于某個RFID系統(tǒng)和應(yīng)用系統(tǒng),并且能夠與多個RFID讀寫器以及多個后端應(yīng)用程序連接,以減輕架構(gòu)與維護(hù)的復(fù)雜性。
(2)數(shù)據(jù)流,RFID中間件最重要的組成部分,它的主要任務(wù)在于將實體對象格式轉(zhuǎn)換為信息環(huán)境下的虛擬對象,因此數(shù)據(jù)處理是RFID最重要的功能。RFID中間件具有數(shù)據(jù)的采集、過濾、整合與傳遞等特性,以便將正確的對象信息傳到企業(yè)后端的應(yīng)用系統(tǒng)。
(3)處理流,RFID中間件是一個消息中間件,功能是提供順序的消息流,具有數(shù)據(jù)流設(shè)計與管理的能力。在系統(tǒng)中需要維護(hù)數(shù)據(jù)的傳輸路徑,數(shù)據(jù)路由和數(shù)據(jù)分發(fā)規(guī)則。同時在數(shù)據(jù)傳輸中對數(shù)據(jù)的安全性進(jìn)行管理,包括數(shù)據(jù)的一致性,保證接收方收到的數(shù)據(jù)和發(fā)送方一致。同時還要保證數(shù)據(jù)傳輸中的安全性。
2 系統(tǒng)總體設(shè)計
2.1 系統(tǒng)結(jié)構(gòu)
(1)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。本文所設(shè)計的RFID中間件系統(tǒng)包括兩部分,系統(tǒng)管理服務(wù)器和數(shù)據(jù)采集端。數(shù)據(jù)采集端的計算機(jī)連接著讀寫器,系統(tǒng)管理服務(wù)器端對數(shù)據(jù)采集端的讀寫器進(jìn)行控制,讀寫器采集到的原始RFID數(shù)據(jù)首先傳遞到數(shù)據(jù)采集端,經(jīng)過初步的處理后,傳送到系統(tǒng)管理服務(wù)器進(jìn)行進(jìn)一步的處理。
(2)系統(tǒng)軟件結(jié)構(gòu)。系統(tǒng)管理服務(wù)器端、數(shù)據(jù)采集端的功能模塊如圖2所示。
2.2 軟件基本組成模塊
RFID中間件在應(yīng)用中的作用主要是RFID標(biāo)簽數(shù)據(jù)處理、數(shù)據(jù)處理組件管理和RFID讀寫器的監(jiān)控管理等功能。通過這幾個功能模塊完成了對系統(tǒng)所要處理的各種對象的管理,同時,這幾個分散的系統(tǒng)本身也需要管理。通過系統(tǒng)管理模塊可以將這幾個管理模塊統(tǒng)一起來,使得整個分布式RFID中間件系統(tǒng)渾然一體。
2.2.1 RFID中間件系統(tǒng)管理模塊
系統(tǒng)管理模塊采用Browser/Server模式的MvC框架,即表示層、控制層和模型層。表示層是用戶與系統(tǒng)的接口,是用戶工作的界面。對RFID中間件的管理、讀寫器的控制和監(jiān)控、標(biāo)簽數(shù)據(jù)查詢、數(shù)據(jù)處理模塊的管理等都是通過表示層發(fā)送請求。控制層主要負(fù)責(zé)請求的分發(fā),接收用戶發(fā)送的所有請求,并按照特定的邏輯分發(fā)給其他模塊作進(jìn)一步處理。模型層主要負(fù)責(zé)業(yè)務(wù)流程、狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。
2.2.2 讀寫器監(jiān)控和管理模塊
讀寫器監(jiān)控和管理模塊基于JMX管理框架,將讀寫器開發(fā)包用統(tǒng)一接口進(jìn)行封裝,并將接口方法作為RMI遠(yuǎn)程方法發(fā)布。對讀寫器的控制是在管理服務(wù)器中進(jìn)行的,將對讀寫器的遠(yuǎn)程方法調(diào)用封裝為一個MBean組件,注冊到服務(wù)器中的JMBeanServer中,這樣可以通過JMX管理框架來監(jiān)控管理讀寫器。通過封裝,以編程的方式彌補(bǔ)了不同廠商讀寫器開發(fā)包不同的差異,將對讀寫器的控制封裝成接口統(tǒng)一的MBean組件。另外,JMX管理框架還提供時間服務(wù)、通知服務(wù)、監(jiān)視服務(wù)和角色服務(wù)等服務(wù)。JMX管理框架如圖3所示。
2.2.3 數(shù)據(jù)消息處理模塊
數(shù)據(jù)消息處理模塊基于JMS消息服務(wù)體系,這種組件體系結(jié)構(gòu)將支持任意數(shù)據(jù)處理過程。業(yè)務(wù)分析人員可以對數(shù)據(jù)處理過程進(jìn)行建模。一個數(shù)據(jù)處理過程實際上就是一些步驟的聚集。這些步驟包括數(shù)據(jù)過濾、格式轉(zhuǎn)換、路由等。每一個類別將被抽象,并且建模成為一個JMX組件,如圖4所示的消息處理組件的流程。
3 系統(tǒng)關(guān)鍵模塊實現(xiàn)
本系統(tǒng)基于J2EE技術(shù)開發(fā),其中組件管理基于JMX管理框架,包括:讀寫器組件、數(shù)據(jù)采集端組件、數(shù)據(jù)處理組件等;RFID數(shù)據(jù)消息的傳遞基于JMs消息服務(wù)體系。
本文的RIFD中間件系統(tǒng)開發(fā)工具采用Eclipse3.2,應(yīng)用服務(wù)器軟件采用JBOSS4.0,其中JBOSS4.0自帶Web容器為Tomcat5.5。管另服務(wù)器端采用了基于Struts的MVC多層次結(jié)構(gòu)框架,數(shù)據(jù)服務(wù)層則采用MySQL5.0數(shù)據(jù)庫。SFID中間件系統(tǒng)中的關(guān)鍵模塊是具有典型開發(fā)意義的讀寫器管理組件和數(shù)據(jù)處理組件,下面對讀寫器管理組件中時間服務(wù)的實現(xiàn)和數(shù)據(jù)處理組件的實現(xiàn)進(jìn)行描述。
3.1 讀寫器模塊時間服務(wù)
JMx(Java Management Extensions,Java管理擴(kuò)展)是一個為應(yīng)用程序、設(shè)備、系統(tǒng)等植入管理功能的框架。在JMX規(guī)范中,管理組件是一個能代表管理資源的Java對象,遵從一定的設(shè)計模式,實現(xiàn)該規(guī)范定義的特定的接口。該定義保證了所有的管理組件以一種標(biāo)準(zhǔn)的方式來表示被管理資源。管理接口就是被管理資源暴露出的一些信息,通過對這些信息的修改就能控制被管理資源。管理接口包括:能被接觸的屬性值;能夠執(zhí)行的操作;能發(fā)出的通知事件等。
在本系統(tǒng)中將每個讀寫器模塊的遠(yuǎn)程方法調(diào)用封裝為一個管理組件(MBean)作為JMX服務(wù)器的實例注冊到JMX服務(wù)器中。通過JMX框架對讀寫器進(jìn)行監(jiān)控和管理,使RFID中間件系統(tǒng)能提供管理、監(jiān)控讀寫器的功能。本部分描述為讀寫器管理組件添加時間服務(wù),以達(dá)到定時控制讀寫器的目的。JMX時間服務(wù)在指定的日期和時間觸發(fā)消息;也可以在一個固定間隔重復(fù)觸發(fā)消息。時間服務(wù)由一個MBean實現(xiàn)并可以管理,能夠發(fā)送它指定的TimerNotification類的消息實例。javax.management.NotificationListener由想要接收通知的對象來實現(xiàn),實現(xiàn)方法handleNotification。對于定期通知,則使用固定延遲執(zhí)行方案,如在Timer中指定的那樣。為了使用固定速率執(zhí)行方案,要使用addNotification方法。圖5為讀寫器時間服務(wù)的UML設(shè)計圖。
3.2 數(shù)據(jù)消息處理組件
JMS(Java Message Service)是訪問企業(yè)消息系統(tǒng)的標(biāo)準(zhǔn)API,定義了Java中訪問消息中間件的接口,但JMS只是接口,并沒有給予實現(xiàn),實現(xiàn)JMS接口的消息中間件稱為JMS提供者(JMS Provider)。JBoss JMS的服務(wù)體系結(jié)構(gòu)中,JMS Provider叫做JbossMQ。
在JMS框架中運(yùn)轉(zhuǎn)的方法如下:
(1)得到一個J-NDI初始化上下文(Context)。
(2)根據(jù)上下文來查找一個連接工廠。
(3)從連接工廠得到一個連接(Connect)。
(4)通過連接來建立一個會話(Session)。
(5)查找目的地(Topic/Queue)。
(6)根據(jù)會話以及目的地來建立消息制造者(TopicPublisher/QueueSender)和消費(fèi)者(TopicSubscrib.er/QueueReceiver)。
JBossMQ是通過xml文件 bossmq.destinations.service.xml進(jìn)行配置的。以下是獲得JBOSS JNDI初始化上下文(Context)的代碼:
Hashtable props=new Hashtable();
props.put(Context.INITIAL_CONTEXT_FACTORY,
”org.jnp.interfaces.NamingContextFactory“);
props.put(Context.PROVIDER —URL,ip+”:1099“);
props.put(”java.naming.rmi.security.manager“,”yes“);
props.put(Context.URL—PKG—PREFIXES,”org.jboss.naming“);
Context context=new InitialContext(props)
下面將描述創(chuàng)建一個MBean來實現(xiàn)一個數(shù)據(jù)處理節(jié)點。消息組件可以按照MBean來部署。消息處理組件執(zhí)行功能:從源隊列中獲取消息,對消息執(zhí)行處理,然后將結(jié)果消息放置到目標(biāo)隊列。圖6顯示了這個組件的UML設(shè)計。
通過應(yīng)用JMX體系結(jié)構(gòu),可以公開類方法,這樣他們可以在運(yùn)行時被發(fā)現(xiàn)和部署。通過一個簡單的可處理接口,可以在JMS的MessageProcessor消息邏輯和OrderProcessor類的數(shù)據(jù)處理邏輯之間創(chuàng)建一個關(guān)注點分離。這就降低了JMS以及數(shù)據(jù)處理邏輯類之間的耦合度,并增加了消息代碼的可重用性。OrderProcessor類是數(shù)據(jù)處理邏輯,其中包括過濾、格式轉(zhuǎn)換、加解密、路由等。
4 結(jié)束語
RFID中間件是RFID系統(tǒng)中的重要組成。本文針對REID中間件的功能需求,從REID中間件、系統(tǒng)總體結(jié)構(gòu)、軟件設(shè)計與實現(xiàn)等方面系統(tǒng)地闡述了一種基于J2EE的分布式RFID中間件的構(gòu)建方法,實現(xiàn)了J2EE技術(shù)與RFID技術(shù)的結(jié)合;綜合應(yīng)用JMX,JMS,Struts技術(shù),設(shè)計并實現(xiàn)了RFID中間件系統(tǒng)中的關(guān)鍵模塊,具有一定的工程指導(dǎo)和借鑒作用。(CIO時代網(wǎng))
- 1金融危機(jī)使SaaS向電子商務(wù)過渡
- 2企業(yè)持久增長須做好五件事
- 3淘寶發(fā)布微博 回應(yīng)國家工商總局假貨調(diào)查結(jié)論
- 4有計劃有目的的去一步一步應(yīng)用OA
- 5調(diào)查稱美國近半用戶稱離開智能機(jī)無法生存
- 6電商新模式萌動:“按月訂購”挑戰(zhàn)何在?
- 7創(chuàng)新生活模式:中庸之道
- 8OA的正常、持續(xù)和穩(wěn)定的使用離不開服務(wù)
- 9索尼黑客攻擊無預(yù)期嚴(yán)重 曾為調(diào)查投1500萬美元
- 10策劃創(chuàng)新,不要一步到位
- 11銷售技巧:丟下面子才能走向成功
- 12游客滿意度調(diào)查成都連續(xù)5年進(jìn)前5名
- 13網(wǎng)管員基礎(chǔ)知識:如何解決網(wǎng)絡(luò)管理難題
- 14十六字IT項目管理寶典
- 15OA標(biāo)準(zhǔn)及技術(shù)的逐步發(fā)展將提高IT投資的效率和收益
- 16當(dāng)前的OA辦公系統(tǒng)市場不是供大于求,而是需求大于供給
- 17企業(yè)級OA在一開始就應(yīng)當(dāng)考慮信息安全保證
- 18最高檢派員調(diào)查訥河監(jiān)獄民警涉瀆職犯罪案件
- 19對于中國企業(yè)而言,OA到底應(yīng)從哪里開始?
- 20凡客陷入泥潭的5個教訓(xùn) 告訴了我們什么
- 21泛普OA系統(tǒng)具有在線編輯Word類型的文檔和附件
- 22批評須有方 管理須有道!
- 23“老板,您安排的工作我已經(jīng)做完了!”
- 24企業(yè)要狼性還是要人性
- 25OA協(xié)同辦公方式得到越來越多組織的認(rèn)識與使用
- 26中國創(chuàng)新的四大劊子手
- 27目前國內(nèi)OA行業(yè)中還有一種“功能為王”的聲音
- 28調(diào)查顯示移動設(shè)備用戶信任度較低
- 29業(yè)務(wù)靈活性:這是支持OA的另一個關(guān)鍵概念
- 30私家偵探用“美人計”調(diào)查伴侶 一小時95澳元
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓