Java事件委托模型在RF I D中间件中的应用与实现3
郑斌峰 谢 勇 王红卫
(华中科技大学系统工程研究所 武汉 430074)
摘 要 主要介绍了Java的事件委托模型在RF I D中间件中的应用。首先说明了RF I D中间件的作用及特点,然后介绍了中间件的事件处理策略及Java的事件委托模型,并建立了RF I D中间件的事件触发机制,最后用一个实例来说明整个事件触发机制的实现过程。
关键词 RF I D中间件 事件触发机制 JAVA事件委托模型
中图分类号 TP31
1 引言
RF I D全称Radi o Frequency I dentificati on,即射频识别。它是一种非接触式的自动识别技术,通过射频信号自动识别标对象并获取相关数据。RR I D使用一种称为EPC(电子产品代码)的编码方式,可以为世界上的每一个产品提供一个唯一的标识。与条形码相比,EPC具有快速扫描,体积小型化、形状多样化,抗污染能力和耐久性,可重复使用,穿透性和无屏障阅读,数据记忆容量大,安全性等更多的优点。
目前R F I D正从研究走向实用化,其应用领域广阔,常用于仓储物流管理、资产跟踪、生产过程控制、移动车辆的自动识别、身份认证、智能交通、网络家电控制等领域,并且仍在不断扩大。在国际物流市场,全球最大的零售企业如沃尔玛、家乐福、麦德龙和Tesco等正在启动R F I D 应用项目,在全球的连锁超市商品物流中全面推行射频技术,用EPC来取代传统的条码标签,希望利用R F I D技术作为其进一步降低成本增加利润的手段。但就目前而言,R F I D和EPC技术的应用还处于缓慢推进的阶段,无论从技术还是市场等方面都有大量需要解决的问题,其中一个主要的问题是如何使企业的应用系统与不断更新的RF I D读写设备有效整合。这主要涉及到数据通透性的问题,传统的应用程序与应用程序的数据通透性可以使用中间件的架构加以解决。同理,中间件的架构设计解决方案便成为R F I D 应用的一项极为重要的核心技术,中间件成为了RF I D运作的中枢。
2 RF I D中间件介绍
RF I D中间件指介于前端RF I D读写器硬件模块与后端企业数据库或者应用软件系统(如ERP、CR M、WMS)中间的软件模块。美国Forrester研究组织将RF I D中间件定义为“在标签读取识别设备与企业应用系统之间管理RF I D数据并对其进行路由的平台”。中间件是RF I D应用部署的重要环节,扮演着RF I D标签和应用程序之间的中介角,使用中间件提供一组通用的应用程序接口(AP I),即能把应用程序连到RF I D读写器,读取RF I D标签数据。早期的RF I D中间件解决方案主要关注读写器集成与协同、EPC跟踪工具、数据筛选与过滤等基本功能,通过对底层设备的精确控制和实时采集原始数据,对数据
进行过滤和封装典型的应用逻辑,使得RF I D数据源对企业应用系统的接口简单透明。中间件的使用屏蔽了底层操作的细节,使程序员面对一个统一的开发环境,即减少程序设计的复杂性也省去了多对多连接的维护复杂性问题。随着RF I D技术的部署和发展,RF I D中间件的功能也呈现多样化的趋势,包括支持读写器及设备管理、数据管理、应用集成、供应链整合等功能。
一般来说,RF I D中间件具有下列的特点[3]:
(1)架构独立:RF I D中间件独立并介于RF I D
461     计算机与数字工程                   第35卷3收到本文时间:2006年4月3日
作者简介:郑斌峰,男,硕士研究生,主要从事EPC在供应链中的应用与信息集成研究。谢勇,男,博士后,主要研究方向为电子标签与供应链管理,电子市场与智能决策。王红卫,男,教授,博士生导师,主要研究方向为:
决策支持系统,企业信息工程的理论与应用,包括供应链管理和电子商务。
读卡器与后端应用程序之间,并且能够与多个RF I D读卡器和多个后段应用程序连接,以减轻架构与维护的复杂性。
(2)信息处理:RF I D主要的目的在于将实体物品转换为信息环境下的虚拟物品,因此信息处理是RF I D的最主要特征,RF I D具有信息收集,过滤,整合与传递等特性,以便将正确的物品信息传到企业后端的应用程序。
(3)事务流:RF I D中间件采用程序逻辑及存储转发的功能来提供一定顺序的信息流,具有数据流程设计与管理的能力。
(4)标准:RF I D为自动信息攫取技术和辨别实体物件的应用,EPCgl obal目前正在研究为各种成品的全球唯一辨识号码提出通用标准———Electr on2 ic Pr oduct Code(EPC)。EPCGen2标准目前正由国际标准组织(I S O)/国际电子技术委员会(I EC)进行全球标准化程序,它是最新且最先进的超高频(UHF,以900MHz为中心)RF I D规范。相较于第一代的EPCClass0与Class1标准,EPCGen2具备多项优势,包括可为不同的全球规范提供最佳化效能、可编辑的读写栏、更快速的卷标读写速率、执行于高密集的读码器环境,以及具备转移至未来EPCclasses标准的弹性等。
3 事件委托模型在RF I D中间件应用
3.1 中间件的事件处理策略
目前被广泛用来构建分布式应用系统的消息中间件更多的使用事件驱动来传输发送消息。事件的整个处
理过程需要经过一系列的步骤:发现、捕获事件,当一个事件发生时,需要及时发现捕获;纪录该事件,在事件日志、事件队列等数据结构中记录发生的事件;处理事件,按照预先定义好的事件处理策略,分类处理各种事件。
事件的处理依据一定的策略,这些策略是消息中间件对事件的具体处理原则,包括队事件的收集、处理机有效性控制。
(1)事件的收集:对于有些事件可以通过采用启用/禁用的方式来阻止或允许事件的发生,对这类型的事件,可以通过设置有关标志来决定是否收集处理这些事件。对于有些事件可以采用捕获的方式进行收集,对于事件的捕获通过专门的事件代理程序负责对事件进行捕获。对于有些事件可以采取通知的方式对事件进行收集,具体的方法是由事件生产者通知事件代理者。
(2)事件的处理:当事件发生时,事件代理会向事件对列写入一个相应的事件消息。该事件消息包含有关事件信息:事件名、事件产生原因等。对于这些事件消息,必须及时进行处理,否则会导致事件对列满或者其他无法处理事件的问题。
(3)事件消息的生命周期。事件的生命周期是指事件从发生到失效的时间范围,通过生命周期属性,使得我们可以对过期未被处理的事件消息进行清理。
3.2 Java的事件委托模型
在java的事件委托模型中,包括了三个基本的事件要素:事件源、事件本身及事件,事件要素构成了事件委托模型的核心。
所谓事件是指软件在运行的过程中可能发生的情况,例如:打开或关闭窗口、按下或放开鼠标、按下键盘或启动程序等。此外,程序员还可以根据自己的需要定义自定义的事件。
事件源对象就是激发事件的窗口或组件对象,象按钮、窗口等所有的组件都可以作为产生事件的事件源。事件源拥有自己的方法,我们可以通过这些方法向事件源注册事件。当事件源产生某个事件时。事件源会向注册再那个事件上的所有对象发送通知。
事件是一种java接口类,它的功能是捕获事件源对象并提供处理这类事件的各种方法。当然,接口中的方法是抽象的,需要在添加接口的类中给出具体实现。要注意的是,接口中所有方法都要“实现”,即使不需作任何处理,也要给出一个空的方法体,这是“接口”结构所规定的。
Java的事件处理是一种委托的事件处理模式,事件的发生与处理都是由事件源产生的事件对象和事件所进行的。其关系图如图1所示
:
例如,当我们把鼠标指针移到按钮上点击按钮(事件源),此时按钮会产生一个Acti onEvent(事件对象)给相关的Acti onL isten(事件)。事件在收到委托的事件对象后,便会激活acti on2 Perfor med()方法,完成指定的事务处理。在定制事件时,一般先定义一个监听接口,而实际就是实现了监听接口的类。
3.3 RF I D中间件的事件触发机制
3.3.1 RF I D中间件事件触发机制结构图
RF I D中间件事件触发机制结构图如图2所示,可以从三个层次对其进行分析。从用户角度的
561
第35卷(2007)第2期              计算机与数字工程             
应用层面,主要有三个部分,设备、RF I D 中间件和
企业应用软件,其中,设备主要指各种射频读写硬件,中间件可以为软件,硬件,或者软硬件结合的固件,企业应用主要指针对企业的需求而开发的终端处理程序。
从技术层面来看,主要是利用了JAVA 的事件委托模型,或者称为事件触发机制来实现。
从流程层面来看,主要经历三个步骤:(1)RF I D 设备读取信息,并传送给中间件;(2)RF I D 中
间件对信息进行缓冲队列管理,事件校验等并触发应用程序;(3)应用程序根据用户需求,可进行P L M 查询,路径信息查询,产品库存查询,超市结
帐等
3.3.2 JAVA 事件委托机制
在技术层面上,JAVA 事件委托机制的应用需要明确以下几个问题:
(1)确定事件源:RF I D 读写器能读取EPC 码,是产生事件的事件源。
(2)确定事件对象:读写器读取到EPC 码时,就产生一个读码事件对象,所有和事件有关的信息,诸如EPC 码、事件发生时间、事件编码等都封装到读码事件中。
(3)确定事件接口:确定事件接口,主要指明事件需要声明的接口方法,事件接口声明的方法一定要由相应的事件对象来实现。
(4)确定事件应触发的任务:根据应用需求,设计几种由事件触发的任务,在实现接口的类中,将这些任务的具体处理加入到对接口方法的实现中。
(5)注册:将注册到相应的事件中,则在事件发生时,相应的任务会执行。3.3.3 事件触发流程
RF I D 中间件的事件触发的整个流程可用如下
算法实现:
(1)读写设备读取EPC 码,并产生读码事件对
象,所有和事件有关的信息,诸如EPC 码、事件发
生时间、事件编码等都封装到读码事件中。
(2)事件对象产生后送到事件队列接口,通知事件队列有一个事件到达,并存放在队列中进行缓冲。在这之前将会对事件队列进行设置,例如缓冲队列的大小并初始化存储单元等。
(3)事件校验模块按照事件缓冲队列里的顺序对重复的事件进行剔除,并依据设置的编码规则判别事件是否有效,若为无效事件则丢弃该事件,若为有效事件,则通知有事件发生,同时将事件存入到本地数据库。
4 超市柜台结账系统的实现
下面利用一个实例(超市柜台结账系统)的实现来对整个RF I D 中间件的事件触发机制的实现作一个说明。
超市模型如图
:
顾客将所需购买的商品放进购物车,每件商品都附有相应的EPC 码。顾客要出门结帐时,队列
前的第一个顾客推车进入读码器的读写范围,读码器读取购物车内所有商品的EPC 码,这时产生多个读码事件,同时把读到的EPC 码、事件发生的时间和读码器编号等信息封装到每个事件对象中。经过中间件过滤和校验后,把有效事件发布给已经注册的。柜台结算系统的主程序实现了监听接口,当监测到有事件发生时,结算系统根据封装在事件对象中的EPC 码查询后台数据中心,获取商品的价格、折扣等信息后计算总帐,打印购物清单,同时解析出事件对象的其他相关信息完成其他的事务处理。
具体的实现步骤:
(1)定义事件源,事件源是一个能够注册对象并向他们发送事件对象的对象。这里,RF I D 读写器作为事件源。程序中定义CodeSource
为事件源类,在事件源类中通过方法来注册、撤销及向发送事件对象。
public class CodeSource {
661     郑斌峰等:Java 事件委托模型在RF I D 中间件中的应用与实现           第35卷
public synchr onized void addCodeL istener(Code L istener listener){}//注册
public synchr onized void re moveCodeL istener(Code L isten2 er listener){}//撤销
p r otected void notifyCodeHappened(String temcode, String temp readerid,String ti m es){}
//向发送对象
}
(2)定义事件对象,事件对象封装事件的所有信息,该事件类必须是Java.util.Event O bject对象的子类,习惯上这些对象名都用“Event”为后缀作标识。下面程序代码产生了我们所需要的事件类。
public class CodeEvent extends Event O bject{
p rivate String te mpcode;
p rivate String te mp readerid;
p rivate String te mpeventti m e;
}
三个参数分别表示事件读到的EPC码、读到事件的读写器I D和事件发生的时间。
(3)定义事件监听接口,事件监听接口继承ja2 va.util.Event L istener接口,由于Java的事件模型是建立在方法调用基础上,因此需要定义和管理响应事件的方法。响应事件的方法必须实现一个事件监听接口。以下的程序段定义了事件的监听接口,并定义了codehappened()方法。
public interface Code L istener extends Event L istener{
public void codehappened(CodeEvent event);
}
(4)定义事件,程序中用类ShowTex2 t A rea实现了Code L istener接口,实现了codehap2 pened()方法,ShowText A rea继承文本域类JText A r2 ea,功能是当监听到事件发生时,在相应区域显示相关信息,包括捕获到的EPC码,以及在本地数据库查询到的价格、折扣等信息。
public class ShowText A rea extends JText A rea i m p lements Code L istener{
public void codehappened(CodeEvent event){}
}
(5)定义主框架类,该类在于产生柜台收银员操作界面,整个界面设计以方便简洁为主,目的在于能完成结算功能的同时可以简化收银员的操作。
public class Super marketFra me extends JFra me{
ShowText A rea showdata=ne w ShowText A rea();
codes ource.addCode L istener(showdata);
  }
其中用到了类ShowText A rea,并把类对象showdata注册到事件源对象codes ource。
程序的运行结果如图
:
界面左边的文本区域是类ShowText A r2 ea的一个实例,在事件发生时,则调用codehap2 pened()方法,在文本域中显示购物车中所有商品的EPC码,并从本地数据库中查对应产品的价格和折扣。
5 结论
以上介绍了RF I D中间件的事件触发机制的实现,利用该机制可以有效地控制RF I D的信息流。特别适合一些对实时性要求较高的应用场合,如柜台结账、出入库管理、路径跟踪等。同时,它提供的接口设计使企业在开发应用程序时只需专注于自己的业务需要,也大大增强了系统的维护性。
参考文献
[1]M ichael J.L iard.Radi o Frequency I dentificati on M iddle2
ware Soluti ons[R].2004,08
[2]M icr os oft and Rfid M icr os oftW hite Paper[R].2004,09
[3]萧容兴.RF I D技术运作的神经中枢-RF I D M iddlewrae
[J].电子商务导航,1993,6(14):9~15
[4]Raza,N.;B radsha w,V.,Hague.M.App licati ons of
RF I D technol ogy,RF I D Technol ogy(Ref.No.1999/123)
[J].I EE Coll oquiu m on Volu me,Issue,1999:1/1~1/5 [5]Cay S.Horst m ann,Gary Cornell.Java核心技术卷I
[M].机械工业出版社,2003,10
[6]Cay S.Horst m ann,Gary Cornell.Java核心技术卷II
[M].机械工业出版社,2003,10
761
第35卷(2007)第2期              计算机与数字工程             
spring framework rce漏洞复现Key words ti m e tab l e op ti m i ze,i nfo r m a ti o n sys tem fo r co u rse a rrangem e n t,au tom a ti c c rea ted co u rse ti m e tab l e sys tem fo r U n i ve rs ity(Page:159)
A M ethod of Aud i o-V i deo Synchron i za ti on for M ulti m e2 d i a Pl ayer under E m bedded Syste m by Cheng W enqing
Abstract A ltho ugh the re a re a lre ady som e m e d i a p l ay2 e rs fo r E m be dde d System,Aud i o-Vi deo Synch r o n i za2 ti o n is ha rd to re ach be cau se o f the sp ec i a l envir o nm en t. Th is p ap e r de sc ri be s a m e tho d o f Aud i o-Vi deo Synch r o2 n i za ti o n fo r m u lti m ed i a p l aye r unde r E m be dded System. And it is va li da ted th r o ugh a m ed i a p l aye r ba sed o n E m2 bedde d L i nux Sys tem and Q T.
Key words em bedde d sys tem,aud i o-vi deo synch r o n i2 za ti o n,L i nux,Q t,m u lti m ed i a p l aye r(Page:161)
I m pli ca ti on and Rea li za ti on of JAVA Even t-D elega te M odel i n RF I D M i ddleware by Zheng B infeng
Abstract Th is p ap e r m a i n l y i n tr o duce s the i m p li ca ti o n o f J ava eve n t-de l ega te m o de l i n RF I D m i dd l ew a re.I t e x2 p l a i n s the func ti o n and cha rac te rs o f RF I D m i dd l ew a re a t first.Afte r the e ven t hand i ng tac ti c s i n m i dd l ew a re and J ava eve n t-de l ega te m o de l a re i n tr o duced,the eve n t-tri gge red m e chan ism o f RF I D m i dd l ew a re is bu ilt.Fi na l2 l y,an
e xam p l e is u sed to ill um i na te the w ho l e re a li za ti o n p r o ce s s o f even t-tri gge re d m e chan ism.
Key words RF I D m i dd l ew a re,e ve n t-tri gge red m e cha2 n ism,J ava eve n t-de l ega te m o de l(Page:164)
Research and Rea li za ti on of A K i n d of Soft-P LC Tech2 nology by L uo Yanhua
Abstract I n th is p ap e r,the i n te r p re te r sys tem o f the So ft-PLC is re se a rched and d iscu s sed.B a sed o n the i n s truc ti o n o f M itsub ish i PLC,a PLC I n struc ti o n L is t p r o2 g ram i n te r p re ti ng p r o ce ss is ana l yzed.A t l a s t,a So ft-PLC s i m u l a to r is g i ve n.
Key words so ft-PLC,PLC i n s truc ti o n,i n te r p re te r
(Page:168)
A VOD M ed i a Server Ba sed on L VS C luster
by Chang Yufang
Abstract Acco rd i ng to the fac tu re s o f te l ecom VOD vi d2 eo se rve r and c l u ste r sys tem,it b ri ng s fo r w a rd a so l u ti o n to a h i gh-ava il ab l e,h i gh-sca l ab l e and l o ad ba l anc i ng VOD system w ith h i gh dep e ndab ility ba sed o n LVS c l u s2 te r te chno l o gy.The sys tem i m p l em en ta ti o n and te s t re2su lts a re p r opo se d a t l a s t.Th is can g i ve refe re nce s to the de s i gn o f o the r l a rge-sca l e VOD system s.
Key words VOD,m e d i a se rve r,c l u s te r,LVS,l o ad ba l2 anc i ng(Page:172)
A D esi gn of H i gh2volt age2toleran t Power2supply M odule w ith L ow2volt age C MO S Technology by Zeng J in
Abstract A pow e r-supp l y m o du l e tha t is to l e ran t o f supp l y vo ltage s up to t w i ce the p r o ce ss li m it fo r i nd i vi du2 a l C M O S tran s isto rs is p re sen ted.Th is c ircu it,w ith a ca sco de topo l o gy and a b i a s vo ltage tracki ng te chn i que, can be to l e ran t o f i np u t vo ltage up to12V i n a5V C M O S p r o ce s s.The app li ca ti o n o f th is m o du l e i n h i gh l y i n te g ra t2 e d pow e r-m anagem en t I C s a ll o w s the ir u se w ith a va ri2 e ty o f pow e r supp l y so u rce s,and e li m i na te s the effe c ts o f o ve r-vo ltage to the i n te rna l c ircu its.
Key words Ca sco de,b i a s vo ltage tracki ng,h i gh-vo lt2 age-to l e ran t,l o w-vo ltage C M O S(Pa
ge:176)
D esi gn and I m plem en t a ti on of BR
E W Gam e for3G M o2 b ile Phone by Zhou Yu
Abstract BRE W is o ne se t o f deve l o pm e n t p l a tfo r m fo r m o b il e p ho ne va l ue-added se rvi ce by Am e ri ca Q ua l2 comm com p any.D eve l o p e r can u se PC s i m u l a to r e nvi2 r o nm en t o f BRE W p l a tfo r m to de ve l o p the m o b il e p ho ne gam e s,the n dow n l o ad to m o b il e p ho ne by l o ca l o r w ire2 l e s s.Th is p ap e r i n tr o duce s the deve l o p i ng m e tho d and i m p l em e n ti ng techno l o gy abo u t3G m o b il e p ho ne gam e i n BRE W p l a tfo r m w h i ch i nc l ude s re so u rce e d ito r,so ft2 w a re de si gn and deve l o pm en t and PC s i m u l a to r and so o n.
Key words BRE W,3G m o b il e p ho ne,gam e de si gn
(Page:179)
Research and I m ple m en t a ti on of D esi gn Pa ttern s i n End to End En terpr ise M ob ile Appli ca ti on by Ren X iaochen
Abstract The a rti c l e i n tr o duce s the ba s i c th i nki ng o f so ft w a re de s i gn p a tte rn s and the a rch ite c tu re o f e nd to e nd En te r p rise M o b il e App li ca ti o n.The n taki ng M o b il e Appo i n t m en t Sys tem a s an e xam p l e,the a rti c l e app li e s D e s i gn Pa tte rn s i n En te r p rise M o b il e App li ca ti o n.P rac2 ti ce show s tha t de s i gn p a tte rn s b ri ng the fo ll o w i ng bene2 fits i n to so ft w a re de s i gn:the p e rfo r m ance o f p r o g ram is i m p r o ved,and the so ft w a re de si gne d can a lso be ea s il y re u sed and m a i n ta i ned.
Key words de s i gn i ng p a tte rn,end to end,m o b il e app li2 ca ti o n(Page:183)
8

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。