基于SOA的软件架构将对RFID技术的普及起到一定的积极作用
射频识别(radio frequency identificaTIon,RFID)技术,是一种利用射频通信实现的非接触式自动识别技术,能够实现对高速移动物体的自动识别和多目标识别。面向服务架构(service-oriented architecture,SOA)是新一代的架构思想,主要用于分布式软件开发。目前国外知名的大企业都加大了对RFID中间件的研发,较有影响的有IBM、Microsoft、BEA等大型软件公司,如BEA通过Edge Server和Enterprise Server实现其RFID中间件,前者连接读写器并对其控制,按既定规则对数据进行过滤并上传给应用系统;后者介于Edge Server和上层应用之间,能够集中管理所有的Edge Server、集中管理各类RFID事件并可以与各种现有应用系统进行很好的集成。但这些软件公司多是将RFID纳入其现有中间件产品中,如IBM将RFID纳入Web Sphere架构中,使得RFID中间件产品变得复杂而昂贵,并对系统的依赖性比较大。
国内随着“十一五”规划和863计划对射频识别技术的推广应用,相关企业也都推出了各具特色的中间件产品。但是目前专用的RFID中间件产品较少,从而限制了射频识别技术在中小企业中的推广。作者重点研究如何设计独立的RFID专用中间件,并采用SOA的架构思想进行系统设计,以实现专门用于RFID应用系统的中间件软件。实际应用中方便部署,开发周期短,复用程度强且开发成本相对较低。该系统的研究及完善将对RFID技术的普及起到一定的积极作用。
1 基于SOA的软件架构设计分布式RFID中间件
1.1 分布式RFID中间件功能定义及技术路线
基于定位于中小企业RFID应用的需求,中间件必须要具备通用性、易用性以及明确的模块化设计等要求。对于通用性要求,系统采用SOA的实现技术,Web Services服务的形式接受上层应用系统的定制要求并提供相应服务,通过读写器适配器提供通用的适配接口以“即插即用”的方式接收读写器进入系统,同时提供给上层应用的数据采用XML格式;对于易用性要求,系统采用B/S结构,以Web服务器作为系统的控制枢纽,以web浏览器作为系统的控制终端,可以远程控制中间件系统以及下属的读写器。
综合上述要求,在技术验证基础上,定义中间件系统具备功能:数据的实时采集功能;数据底层处理功能;读写器适配功能;数据高级处理功能,即事件处理功能;网络通信功能;信息存储功能;浏览器控制功能;数据服务接口功能;配置管理功能。
根据上述功能定义,并综合跨平台通用性方面的系统需求,系统开发采用J2EE作为本RFID中间件的开发平台。系统测试的RFID读写器采用UHF(ultra high frequency,超高频)的RFID读写器,测试型号为江苏瑞福科技的RFS-2312型读写器和美国Alien科技公司的ALR-9800型读写器,标签数据均按照实验要求有效地传递到上层应用系统。
1.2 中间件架构设计
按照SOA的类型划分层次以适合于使用和构建服务,也是采用SOA架构的重要前提。设计RFID中间件按照SOA类型来划分层次,每一层都有一组独立的功能以及定义明确的接口,而且都利用定义明确的规范接口与相邻层进行交互。如此设计便于把功能组件合理划分为相对独立的模块,使系统具备更好的可维护性及可扩展性。如图1所示,将中间件系统按照数据流程划分为3层:数据采集及预处理、应用层事件处理以及数据服务接口。
根据具体功能模块的划分需求和数据分层处理及传输的要求,同时考虑到实际应用的需求,经过系统研究,将系统划分为5个相对独立的功能模块,并采用由总控子系统和设备管理子系统组成的两级树形结构,其系统架构如图2所示。
1)总控子系统
总控子系统是整个系统的控制枢纽,具体功能划分为4部分:数据高级处理、配置资源数据库、web控制服务器以及数据服务接口。实现的功能分为数据和系统控制两方面。数据方面,进一步优化采集到的RFID数据,包括对来自不同设备管理子系统的标签进行冗余过滤,同时添加对应的逻辑阅读器,并且依照事件周期定义ECSpec,生成标准的事件周期报告ECReport,该报告通过数据服务接口发送到企业应用系统;系统控制方面,指基于web的设备管理器及读写器的控制,以及系统所有配置信息的存储。
2)设备管理子系统
设备管理子系统实现的主要功能:一是为网络上的读写器进行适配,并按照上层的配置建立实时的UDP连接并做好接收标签数据的准备;二是对接收到的数据进行预处理。读写器传递上来的大量数据存在着大量的冗余信息以及一些误读的标签信息,所以要对数据进行过滤,消除冗余数据。预处理内容包括集中处理所属读写器采集到的标签数据,并统一进行冗余过滤、平滑处理、标签解读等工作。经过处理后,每条标签内容包含的信息有标准EPC格式数据、采集的读写器编号、首次读取时间、末次读取时间等,并以一个读周期为时间间隔,分时向上层总控子系统发送,为进一步的数据高级处理做好必要准备。
3)树形结构的优点
采取这种集中与分布相结合的模式建立两级树形结构,可实现设备与控制的互连互通:能够通过统一协调的调度策略实现产品信息的综合管理,构成产品信息查询、实时跟踪、数据更新及统一管理的平台;同时能够集中管理所有型号各异的信息采集设备并实时监控整个系统的运行状态。
2 系统控制和数据处理
系统的工作流程主要集中在3个方面:
一是上行标签数据的流向
二是下行控制命令的流向
三是应用层事件(applicaTIon level events,ALE)相关的处理流程。
采集到的数据,经过处理后最终发送到上层应用系统,达到信息采集的目的。数据处理由设备管理子系统处理和总控系统处理两部分构成。最终标签数据的生成过程依次经过过滤、标准化处理、中间传输、二次过滤、数据标准化处理、EC处理及信息发送,直至标签数据达到企业信息系统。数据在中间件系统中的流程是自下而上依次处理的,各处理模块间信息的传递通过JAVA中的消息bean实现。
对读写器进行控制的内容包括:新建、删除及修改读写器,相关的设备管理子系统的新建、删除及参数的修改。以新建一个读写器为例,系统管理员将配置信息发动到总控子系统,在存储到配置数据库中的同时通过数据发送端口发送到对应设备管理子系统的读写器适配模块中进行处理,并依照对应的地址将配置参数传送到读写器中进行配置。配置完成后的反馈信息依照相反的路径向管理员进行反馈并记录到日志中。
应用层事件的目的是整合标签数据,提取出用户需求的信息并进行标准化处理,正确发送到企业应用系统中,重点在于屏蔽企业应用系统的差异性,提供有价值的标签分析数据,其控制流程主要对应于事件周期定义与事件周期报告。授权用户通过定义、查询、修改及删除事件周期报告来制定所需数据的规格,并能通过系统数据服务接口订阅或取消订阅事件周期报告ECReport,同时接受RFID中间件发送的ECReport。
3 总结
分布式RFID中间件系统成功地将RFID数据采集与数据应用进行了分离,使应用系统专注于业务的流程和处理而不再陷于修改适应各种不同的数据采集方式。由于系统散布于分布式网络上,使得系统的配置不再局限于物理地点的限制,系统能够借助于局域网甚至互联网直接订阅标签数据。RFID中间件在整个系统中起到承上启下的关键作用。可以预见,随着专用的RFID中间件技术的不断成熟,RFID应用系统定会在中小型企业中得到迅速普及。