監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

RFID中間件系統(tǒng)關(guān)鍵模塊設(shè)計(jì)與實(shí)現(xiàn)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

來(lái)源:泛普軟件

引言

射頻識(shí)別技術(shù)是一種利用射頻通信實(shí)現(xiàn)的非接觸式自動(dòng)識(shí)別技術(shù)(以下通稱RFID技術(shù))。RFID技術(shù)成功的關(guān)鍵除了標(biāo)簽的價(jià)格、天線的設(shè)計(jì)、波段的標(biāo)準(zhǔn)化、設(shè)備的認(rèn)證之外,最重要的是要有關(guān)鍵的應(yīng)用軟件才能迅速推廣。而中間件可稱為RFID技術(shù)運(yùn)作的中樞,因?yàn)樗梢源龠M(jìn)關(guān)鍵應(yīng)用的問(wèn)世。J2EE是一個(gè)標(biāo)準(zhǔn)中間件體系結(jié)構(gòu),旨在簡(jiǎn)化和規(guī)范多層分布式企業(yè)應(yīng)用系統(tǒng)的開(kāi)發(fā)和部署。本文將介紹RFID中間件系統(tǒng)的設(shè)計(jì)和關(guān)鍵模塊的實(shí)現(xiàn)方法,根據(jù)系統(tǒng)可移植性、可擴(kuò)展性、可維護(hù)性和易集成性的要求,以J2EE技術(shù)作為開(kāi)發(fā)平臺(tái),基于三層B/S模式,闡述了分布式RFID中間件中關(guān)鍵模塊的實(shí)現(xiàn)方法,采用面向?qū)ο蟮姆椒ㄟM(jìn)行設(shè)計(jì)和開(kāi)發(fā)。

1 RFID中間件系統(tǒng)概述

企業(yè)在實(shí)施RFID項(xiàng)目改造期間,發(fā)現(xiàn)最耗時(shí)、耗力、復(fù)雜度和難度最高的問(wèn)題是如何保證RFID數(shù)據(jù)正確導(dǎo)入企業(yè)的管理系統(tǒng),為此企業(yè)做大量的工作以保證RFID數(shù)據(jù)的正確性的。經(jīng)企業(yè)和研究機(jī)構(gòu)的多方研究、論證、實(shí)驗(yàn),最終找到了一個(gè)比較好的解決方法,即RFID中間件。

RFID中間件是實(shí)現(xiàn)RFID硬件設(shè)備與應(yīng)用系統(tǒng)之間數(shù)據(jù)傳輸、過(guò)濾、數(shù)據(jù)格式轉(zhuǎn)換的一種中間程序,將RFID讀寫器讀取的各種數(shù)據(jù)信息,經(jīng)過(guò)中間件提取、解密、過(guò)濾、格式轉(zhuǎn)換、導(dǎo)入企業(yè)的管理信息系統(tǒng),并通過(guò)應(yīng)用系統(tǒng)反應(yīng)在程序界面上,供操作者瀏覽、選擇、修改、查詢。中間件技術(shù)也降低了應(yīng)用開(kāi)發(fā)的難度,使開(kāi)發(fā)者不需要直接面對(duì)底層架構(gòu),而通過(guò)中間件進(jìn)行調(diào)用。

RFID中間件是一種消息導(dǎo)向的軟件中間件,信息是以消息的形式從一個(gè)程序模塊傳遞到另一個(gè)或多個(gè)程序模塊。消息可以非同步的方式傳送,所以傳送者不必等待回應(yīng)。RFID中間件在原有的企業(yè)應(yīng)用中間件發(fā)展的基礎(chǔ)之上,結(jié)合自身應(yīng)用特性進(jìn)一步擴(kuò)展并深化了企業(yè)應(yīng)用中間件在企業(yè)中的應(yīng)用。其主要特點(diǎn)是:

(1)獨(dú)立性,RFID中間件獨(dú)立并介于RFID讀寫器與后端應(yīng)用程序之間,不依賴于某個(gè)RFID系統(tǒng)和應(yīng)用系統(tǒng),并且能夠與多個(gè)RFID讀寫器以及多個(gè)后端應(yīng)用程序連接,以減輕架構(gòu)與維護(hù)的復(fù)雜性。

(2)數(shù)據(jù)流,RFID中間件最重要的組成部分,它的主要任務(wù)在于將實(shí)體對(duì)象格式轉(zhuǎn)換為信息環(huán)境下的虛擬對(duì)象,因此數(shù)據(jù)處理是RFID最重要的功能。RFID中間件具有數(shù)據(jù)的采集、過(guò)濾、整合與傳遞等特性,以便將正確的對(duì)象信息傳到企業(yè)后端的應(yīng)用系統(tǒng)。

(3)處理流,RFID中間件是一個(gè)消息中間件,功能是提供順序的消息流,具有數(shù)據(jù)流設(shè)計(jì)與管理的能力。在系統(tǒng)中需要維護(hù)數(shù)據(jù)的傳輸路徑,數(shù)據(jù)路由和數(shù)據(jù)分發(fā)規(guī)則。同時(shí)在數(shù)據(jù)傳輸中對(duì)數(shù)據(jù)的安全性進(jìn)行管理,包括數(shù)據(jù)的一致性,保證接收方收到的數(shù)據(jù)和發(fā)送方一致。同時(shí)還要保證數(shù)據(jù)傳輸中的安全性。

2 系統(tǒng)總體設(shè)計(jì)

2.1 系統(tǒng)結(jié)構(gòu)

(1)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。本文所設(shè)計(jì)的RFID中間件系統(tǒng)包括兩部分,系統(tǒng)管理服務(wù)器和數(shù)據(jù)采集端。數(shù)據(jù)采集端的計(jì)算機(jī)連接著讀寫器,系統(tǒng)管理服務(wù)器端對(duì)數(shù)據(jù)采集端的讀寫器進(jìn)行控制,讀寫器采集到的原始RFID數(shù)據(jù)首先傳遞到數(shù)據(jù)采集端,經(jīng)過(guò)初步的處理后,傳送到系統(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)控管理等功能。通過(guò)這幾個(gè)功能模塊完成了對(duì)系統(tǒng)所要處理的各種對(duì)象的管理,同時(shí),這幾個(gè)分散的系統(tǒng)本身也需要管理。通過(guò)系統(tǒng)管理模塊可以將這幾個(gè)管理模塊統(tǒng)一起來(lái),使得整個(gè)分布式RFID中間件系統(tǒng)渾然一體。

2.2.1 RFID中間件系統(tǒng)管理模塊

系統(tǒng)管理模塊采用Browser/Server模式的MvC框架,即表示層、控制層和模型層。表示層是用戶與系統(tǒng)的接口,是用戶工作的界面。對(duì)RFID中間件的管理、讀寫器的控制和監(jiān)控、標(biāo)簽數(shù)據(jù)查詢、數(shù)據(jù)處理模塊的管理等都是通過(guò)表示層發(fā)送請(qǐng)求。控制層主要負(fù)責(zé)請(qǐng)求的分發(fā),接收用戶發(fā)送的所有請(qǐng)求,并按照特定的邏輯分發(fā)給其他模塊作進(jìn)一步處理。模型層主要負(fù)責(zé)業(yè)務(wù)流程、狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。

2.2.2 讀寫器監(jiān)控和管理模塊

讀寫器監(jiān)控和管理模塊基于JMX管理框架,將讀寫器開(kāi)發(fā)包用統(tǒng)一接口進(jìn)行封裝,并將接口方法作為RMI遠(yuǎn)程方法發(fā)布。對(duì)讀寫器的控制是在管理服務(wù)器中進(jìn)行的,將對(duì)讀寫器的遠(yuǎn)程方法調(diào)用封裝為一個(gè)MBean組件,注冊(cè)到服務(wù)器中的JMBeanServer中,這樣可以通過(guò)JMX管理框架來(lái)監(jiān)控管理讀寫器。通過(guò)封裝,以編程的方式彌補(bǔ)了不同廠商讀寫器開(kāi)發(fā)包不同的差異,將對(duì)讀寫器的控制封裝成接口統(tǒng)一的MBean組件。另外,JMX管理框架還提供時(shí)間服務(wù)、通知服務(wù)、監(jiān)視服務(wù)和角色服務(wù)等服務(wù)。JMX管理框架如圖3所示。

2.2.3 數(shù)據(jù)消息處理模塊

數(shù)據(jù)消息處理模塊基于JMS消息服務(wù)體系,這種組件體系結(jié)構(gòu)將支持任意數(shù)據(jù)處理過(guò)程。業(yè)務(wù)分析人員可以對(duì)數(shù)據(jù)處理過(guò)程進(jìn)行建模。一個(gè)數(shù)據(jù)處理過(guò)程實(shí)際上就是一些步驟的聚集。這些步驟包括數(shù)據(jù)過(guò)濾、格式轉(zhuǎn)換、路由等。每一個(gè)類別將被抽象,并且建模成為一個(gè)JMX組件,如圖4所示的消息處理組件的流程。

3 系統(tǒng)關(guān)鍵模塊實(shí)現(xiàn)

本系統(tǒng)基于J2EE技術(shù)開(kāi)發(fā),其中組件管理基于JMX管理框架,包括:讀寫器組件、數(shù)據(jù)采集端組件、數(shù)據(jù)處理組件等;RFID數(shù)據(jù)消息的傳遞基于JMs消息服務(wù)體系。

本文的RIFD中間件系統(tǒng)開(kāi)發(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ù)庫(kù)。SFID中間件系統(tǒng)中的關(guān)鍵模塊是具有典型開(kāi)發(fā)意義的讀寫器管理組件和數(shù)據(jù)處理組件,下面對(duì)讀寫器管理組件中時(shí)間服務(wù)的實(shí)現(xiàn)和數(shù)據(jù)處理組件的實(shí)現(xiàn)進(jìn)行描述。

3.1 讀寫器模塊時(shí)間服務(wù)

JMx(Java Management Extensions,Java管理擴(kuò)展)是一個(gè)為應(yīng)用程序、設(shè)備、系統(tǒng)等植入管理功能的框架。在JMX規(guī)范中,管理組件是一個(gè)能代表管理資源的Java對(duì)象,遵從一定的設(shè)計(jì)模式,實(shí)現(xiàn)該規(guī)范定義的特定的接口。該定義保證了所有的管理組件以一種標(biāo)準(zhǔn)的方式來(lái)表示被管理資源。管理接口就是被管理資源暴露出的一些信息,通過(guò)對(duì)這些信息的修改就能控制被管理資源。管理接口包括:能被接觸的屬性值;能夠執(zhí)行的操作;能發(fā)出的通知事件等。

在本系統(tǒng)中將每個(gè)讀寫器模塊的遠(yuǎn)程方法調(diào)用封裝為一個(gè)管理組件(MBean)作為JMX服務(wù)器的實(shí)例注冊(cè)到JMX服務(wù)器中。通過(guò)JMX框架對(duì)讀寫器進(jìn)行監(jiān)控和管理,使RFID中間件系統(tǒng)能提供管理、監(jiān)控讀寫器的功能。本部分描述為讀寫器管理組件添加時(shí)間服務(wù),以達(dá)到定時(shí)控制讀寫器的目的。JMX時(shí)間服務(wù)在指定的日期和時(shí)間觸發(fā)消息;也可以在一個(gè)固定間隔重復(fù)觸發(fā)消息。時(shí)間服務(wù)由一個(gè)MBean實(shí)現(xiàn)并可以管理,能夠發(fā)送它指定的TimerNotification類的消息實(shí)例。javax.management.NotificationListener由想要接收通知的對(duì)象來(lái)實(shí)現(xiàn),實(shí)現(xiàn)方法handleNotification。對(duì)于定期通知,則使用固定延遲執(zhí)行方案,如在Timer中指定的那樣。為了使用固定速率執(zhí)行方案,要使用addNotification方法。圖5為讀寫器時(shí)間服務(wù)的UML設(shè)計(jì)圖。

3.2 數(shù)據(jù)消息處理組件

JMS(Java Message Service)是訪問(wèn)企業(yè)消息系統(tǒng)的標(biāo)準(zhǔn)API,定義了Java中訪問(wèn)消息中間件的接口,但JMS只是接口,并沒(méi)有給予實(shí)現(xiàn),實(shí)現(xiàn)JMS接口的消息中間件稱為JMS提供者(JMS Provider)。JBoss JMS的服務(wù)體系結(jié)構(gòu)中,JMS Provider叫做JbossMQ。

在JMS框架中運(yùn)轉(zhuǎn)的方法如下:

(1)得到一個(gè)J-NDI初始化上下文(Context)。

(2)根據(jù)上下文來(lái)查找一個(gè)連接工廠。

(3)從連接工廠得到一個(gè)連接(Connect)。

(4)通過(guò)連接來(lái)建立一個(gè)會(huì)話(Session)。

(5)查找目的地(Topic/Queue)。

(6)根據(jù)會(huì)話以及目的地來(lái)建立消息制造者(TopicPublisher/QueueSender)和消費(fèi)者(TopicSubscrib.er/QueueReceiver)。

JBossMQ是通過(guò)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)建一個(gè)MBean來(lái)實(shí)現(xiàn)一個(gè)數(shù)據(jù)處理節(jié)點(diǎn)。消息組件可以按照MBean來(lái)部署。消息處理組件執(zhí)行功能:從源隊(duì)列中獲取消息,對(duì)消息執(zhí)行處理,然后將結(jié)果消息放置到目標(biāo)隊(duì)列。圖6顯示了這個(gè)組件的UML設(shè)計(jì)。

通過(guò)應(yīng)用JMX體系結(jié)構(gòu),可以公開(kāi)類方法,這樣他們可以在運(yùn)行時(shí)被發(fā)現(xiàn)和部署。通過(guò)一個(gè)簡(jiǎn)單的可處理接口,可以在JMS的MessageProcessor消息邏輯和OrderProcessor類的數(shù)據(jù)處理邏輯之間創(chuàng)建一個(gè)關(guān)注點(diǎn)分離。這就降低了JMS以及數(shù)據(jù)處理邏輯類之間的耦合度,并增加了消息代碼的可重用性。OrderProcessor類是數(shù)據(jù)處理邏輯,其中包括過(guò)濾、格式轉(zhuǎn)換、加解密、路由等。

4 結(jié)束語(yǔ)

RFID中間件是RFID系統(tǒng)中的重要組成。本文針對(duì)REID中間件的功能需求,從REID中間件、系統(tǒng)總體結(jié)構(gòu)、軟件設(shè)計(jì)與實(shí)現(xiàn)等方面系統(tǒng)地闡述了一種基于J2EE的分布式RFID中間件的構(gòu)建方法,實(shí)現(xiàn)了J2EE技術(shù)與RFID技術(shù)的結(jié)合;綜合應(yīng)用JMX,JMS,Struts技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了RFID中間件系統(tǒng)中的關(guān)鍵模塊,具有一定的工程指導(dǎo)和借鑒作用。(CIO時(shí)代網(wǎng))

發(fā)布:2007-04-27 15:46    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普泛普博客其他應(yīng)用

泛普OA商務(wù)合同 泛普OA需求調(diào)研 泛普OA實(shí)施方案 泛普OA項(xiàng)目啟動(dòng) 泛普網(wǎng)絡(luò)硬件配置 泛普OA部署安裝 泛普流程模板表單 OA系統(tǒng)二次開(kāi)發(fā) 泛普常見(jiàn)問(wèn)題解決 泛普OA操作手冊(cè) 泛普軟件項(xiàng)目驗(yàn)收 泛普培訓(xùn)推廣上線 泛普OA售后服務(wù) 泛普新聞 泛普期刊 泛普博客