- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Jini技术的RFID中间件平台
1 相关工作
基于EPC规范的RFID中间件设计,是RFID中间件进一步研究的基础与前提,在分布式技术广泛应用的今天,将RFID中间件与分布式技术结合也是势在必行的,目前已经有学者展开基于中间件的分布式系统开发过程的相关研究。现有的RFID中间件是采用了基于消息的中间件系统(MOM),其主要特点是支持同步和异步两种通讯方式,这使它有助于事件驱动型应用的开发,而对过程处理型应用的开发没有太多益处,其互操作性、API的一致性都比较差,造成基于MOM应用的可移植性差。同时,现在的许多分布式计算技术在RFID产品中的应用主要是集中在RFID中间件应用层面上的研究,对RFID中问件与各种商务应用平台的对接,企业的业务流程整合等方面的分布式计算技术进行融合,例如,在IBM的RFID中间件的架构中就有专门的设计模块来对RFID的中间件模块与商务应用模块之间数据的分配与管理进行研究,来适应企业中的各种分布式平台,而RFID中间件本身进行分布式管理并没有太多研究;SUN公司曾经将RFID中间件借助分布式系统进行配置与管理,但SUN推出的RFID中间件不是基于EPCglobal标准的中间件体系,无法得以普及。在基于EPC规范的RFID中间件中,在设备管理层及应用层事件的设计与研究方面,有基于Agent的设备管
理方法、轻量级ALE的嵌入式中间件技术以及分布式ALE的相关研究¨44引,然而这些研究与设计中均未能实现RFID中间件平台中的设备的自动配置与智能管理的即插即用功能。
在众多的分布式系统中,Jini是以Java技术为核心的分布式系统.它通过使用一个简易的“即捅即用”模型,能够随时改变硬件或者软件的配置,从而提供一个支持快速配置的分布式计算环境;它使各种数字设备无需配置、安装或者人工干预,就能够在一个临时的称为服务联盟(Federations of Services)的设备集合中共同工作。联盟中的任何设备无论大小都可以自行管理,共同组成一个服务网络,联盟中的每一个成员都可以为其它成员提供资源或服务,同时又可以从其它成员那里获取自己所需的资源和服务;它提供一套完善的机制使得硬件设备或软件组件能够随时加入或者退出联盟。作为一个主动的、响应式的分布式基础结构,它提供了在分布式环境中进行服务的建立、查找、通讯和凋用的一整套机制,它本身与平台无关,采用它的器件不再受到所用软件、处理器、设备驱动器或传统网络协议的制约,只要有Java的虚拟机就可以了iS-6l。服务是Jini体系结构中一个非常重要的概念,它可以用来表示组织在一起形成Jini联盟的各个实体。Jini中的每个服务都有一个接口描述,该接口定义了客户可以向这个服务请求的所有操作,并且反应了服务的类型。这里的服务可以是硬件、软件或软硬件的结合。
自1999年1月25日SUN的Jini规范发布以来,布式环境下网络人们对利用Jini技术实现分资源有效共享的实现机制和模式进行了研究。其研究目标嗣绕创造强有力的系统和应用程序,从而更好地利用网络资源、使用分散的资源来解决大型的问题。虽然将该目标变为成熟的现实应用还需要较长时间的努力,但Jini至少使人们构建动态的自配置、自管理和自恢复的分布式网络成为可能。有学者已经对Jini 技术等网上即插即用性、分布式系统及信息家电等相关方面进行研究。
Jini技术的发展也是在不断开发与探索中进行,Jini系统也在实际的应用中继续改进与成熟,这为将Jini技术与RFID中间件技术结合创造了条件。由于Jini是基于Java的开源系统,具有不错的可移植性、操作性等,所以将RFID中间件与Jini技术结合成为了可能,同时利用分布式系统的优势,可以将RFID设备管理在分布式环境下得到优化,这也是RFID中间件发展的趋势。
2 基于Jini技术的RnD中间件平台架构
本文通过Jini分布式技术与RFID中间件技术的结合,解决分布式环境下RFID中间件中的设备配置与管理所存在的问题,实现设备的自动配置与智能管理的即插即用功能,基于Jini技术的RFID中间件平台架构如图l所示。
图1 基于Jini的RFID中间件平台架构
在对基于Jini的RFID中间件平台的设计时,主要是利用RMI通信方式解决RFID设备在网络中的自动识别和“即插即用”、RFID中间件在分布式环境下的自动配置的问题,确保RFID中问件进行通信时能有效地借助基于EPCglobal规范的RFID中间件通信模块进行通信,并且能对中间件的配置进行“定制”;而在网络环境下做好了以上的步骤后,RFID设备与中间件即在网络环境下成功加载,阅读器管理层(Manager)在接入网络后,通过Jini平台找到可以使用的RFID中间件的设备代理层(Agent),它们之间的通信即可正常进行而无需Jini平台的干预。
基于Jini的RFID中间件平台的设计,其主要思路如下:
RFID设备作为服务接入Jini网络:首先,在实验室的环境下用软件虚拟了RFID设备,将其按照Jini的规范封装成服务;然后,通过Jini系统的发现(Dis—covery)协议和加入(Join)协议使设备服务成为Jini联盟中的一员。
RFID中间件设备代理层(Agent)的配置:RFID设备服务接入Jini后,要想正常运行必须要将RHD中间件设备代理层(Agent)进行正确配置。首先。A—gent接入Jini网络(还没有进行配置的AgentO),在网络中找到Jini的查找服务(LookupServiee)的地址并且注册,让自己作为Jini联盟中的一员;然后,Agent0在查找服务(LookupServiee)中查询配置自己需要的服务,按照预留的服务接口来找到实现这些接口的服务对象,查找服务(I_ookupService)匹配到合适的服务之后会将服务的副本和服务提供者的地址返回给还未配置的AgentO,AgentO通过地址找到服务的提供者(如图1中所示:正常运行的RFID中间件Agentl),从而获得服务实例。当然,前提条件是在ini网络中应该存在多台正常运行的RFID中问件,而Agent(}要配置自己,可以从一个或者多个服务提供者中获取服务对象。
阅读器管理层(Manager)与设备代理层(Agent)的通信:Manager要想获得标签数据则需要与设备代理层进行通信,Manager可以作为一个客户接入Jini中,在Jini中通过查找服务(100kup service)找到某台设备的地址(IP地址),就绪的Agent已经在Jini联盟中获得了配置自己的设备管理服务对象,当Manager获得了Agent的IP地址后,Manager能够与Agent建立实际的通信通道进行通信,从而获得标签数据等信息。同时,Manager与Agent中保留了传统的XML配置方式,在Manager与Agent之问已经建立了端对端的连接后,它们之问的通信无需Jini进行干预,所以它们既可以按照设备默认的配置获得数据,也可以通过XML方式自己来定制设备的配置信息,使设备按照需要进行工作。