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

當(dāng)前位置:工程項目OA系統(tǒng) > 泛普服務(wù)體系 > 泛普博客

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

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

來源:泛普軟件

引言

射頻識別技術(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))

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

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

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