APP下载

图书馆基于SOA的RFID中间件技术研究*

2012-10-23黄胜国

图书馆学刊 2012年11期
关键词:读写器中间件应用程序

黄胜国

(华南师范大学图书馆,广东 广州 510631)

1 引言

无线射频识别RFID(Radio Frequency Identification)技术是一种利用射频通信实现的非接触式自动识别技术,能够实现对高速移动物体的自动识别和多目标识别。RFID具有精度高、适应环境能力强、抗干扰强、操作快捷等许多优点,已被广泛应用于生产、物流、交通运输、医疗、防伪、跟踪、图书和设备管理等需要收集和处理数据的领域,被认为是条形码的未来替代品。基本RFID系统通常由3部分组成:RFID标签(Tag)、RFID 阅读器(Reader)及系统软件(Processor)。其中介于阅读器与图书馆应用之间的RFID中间件(Middleware)是应用系统软件的一个重要组成部分,中间件提供一组通用的应用程序接口(API)给应用程序端使用。中间件可以省去多对多连接的复杂性,即使存储RFID标签图书的数据库软件或后端应用程序增加或改由其他软件取代,或者读写RFID器种类增加等情况发生时,应用端不需要修改也能处理。采用中间件技术使开发者不需要面对底层的架构便可直接通过接口调用中间件,提高了开发效率并降低了开发的难度。面向服务体系结构(Service-oriented Architecture,SOA)是近年来在信息领域备受关注的技术,被认为是解决分布式环境中软件重用、互操作性、提高软件开发效率的有效途径。[1]通过互联网,采用SOA标准的接口和服务契约,RFID数据就可以在不同的系统和平台间传递,能使网络上不同端点更容易地共享实时数据和事务处理,因此图书馆加强基于SOA的RFID中间件技术研究具有十分重要的现实意义。

2 RFID硬件系统组成、中间件和SOA架构

2.1 RFID硬件系统组成

RFID是利用感应、无线电波或微波能力进行非接触双向通信,达到识别和交互目的的自动识别系统,它的硬件系统主要由标签、读写器两部分组成。电子标签由IC卡芯片和天线组成,标签中的数据可由阅读器以无线电波的形式非接触式读取,可通过读写器的处理器进行信息解读并进行响应管理。读写器主要由无线收发模块、天线、控制模块及接口电路等组成,它可将标签中的数据读出或将所需存储的数据写入标签。RFID硬件系统的结构如图1所示。

图1 RFID硬件系统结构

2.2 RFID中间件

RFID中间件在应用系统中介于底层RFID硬件设备(如射频识别阅读器)与后台数据库及应用软件(如汇文图书管理系统)中间,对阅读器传来的与标签相关的事件、数据进行过滤、汇总和计算,减少从阅读器传往图书管理应用的巨量原始数据。[2]RFID中间件主要包括以下4个特征:

①基于标准。ISO、EPCGlobal正在研究为各种产品的全球唯一号码提出通用标准,国内目前也正积极研究自己的标准。

②独立于架构。RFID中间件独立并介于RFID读写器前端系统与后端应用程序之间,并且能够与多个RFID读写器以及多个后端应用程序连接。

③数据流。RFID主要目的在于将实体对象转换为信息环境下的虚拟对象,因此数据处理是RFID最重要的功能。RFID中间件具有数据的搜集、过滤、整合与传递等特性,以便将正确的对象信息传到图书馆后端应用系统。

④处理流。RFID中间件采用程序逻辑及存储再转送(Store-and-Forward)的功能来提供顺序的消息流,具有数据流设计与管理的功能。

2.3 SOA架构

软件架构(Software Architecture)是一个系统的草图,它描述的对象是直接构成系统的抽象组件,各个组件之间的连接则明确和相对细致地描述组件之间的通讯,在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或对象。面向服务的体系结构(SOA)是一种技术架构风格,它代表一种开放的、敏捷的、可扩展的、可组合的架构,定义了服务提供者和消费者之间的松散耦合关系。SOA的核心概念就是服务,SOA架构如图2所示。[1]其中包含服务的3个基本角色:服务提供者(Service Provider)、服务请求者(Service Requester)和服务注册(Service Registry)。这些角色之间使用了3种操作:服务发布(Publish)、服务发现(Find)和服务绑定(Bind)。目前实现SOA的主要技术就是Web Services,它提供了基于XML的标准接口,具有完好的封装性、松散的耦合性、协议规范的标准性以及高度的可集成性等特点,能较好地满足SOA应用模式的需求。由于Web Services使应用程序的集成发生在协议栈的较高层,基于更注重服务语义而非网络协议语义的消息,实现了业务功能的松散集成,这一特点有助于在图书馆间和图书馆内部实现通过Web连接业务。

图2 SOA架构

3 基于SOA的RFID中间件技术架构

RFID中间件是一种面向消息的中间件(Message-oriented Middleware,MOM),信息以消息的形式从一个程序传送到另一个或多个程序,信息以异步(Asynchronous)的形式进行传送,传送者不必等待回应。图书馆典型的基于SOA的RFID中间件架构如图3所示。RFID中间件一般分为应用架构层和基础架构层。应用架构层由图书馆应用、图书馆应用集成和数据组成,基础架构层由Edge Server、消息系统和数据接口3层组成。[3]

图3 图书馆基于SOA的RFID中间件架构

3.1 EdgeServer

Edge Server是Sensor Edge Server的简称,即为电子数据采集设备服务器。电子数据采集设备又称为Sensor Edge,它们可能是硬件或软件的一些终端结点。Edge Server是介于电子数据采集设备与应用程序的中间层组件,它将数据采集终端的信息、状态等与图书馆应用程序有机地连接成一个整体。Edge Server是基于开放式架构设计的、模块化的、可升级的数据处理系统,主要用来加工和处理所有来自读写器的信息和事件流的软件,是连接读写器和图书馆应用系统的中间纽带。主要包括标签数据过滤、分组、计数防错读和防漏等功能。

3.2 消息系统

消息系统是RFID基础架构的核心层。在RFID系统中,一方面是各种应用程序以不同的方式频繁地从RFID系统中获取数据;另一方面却是有限的网络带宽资源,其中的矛盾使得设计一套消息传递系统成为一种必然。Edge Server产生事件,并将事件传递到消息系统中,由消息系统决定如何将事件数据传递到相关的应用系统。这个应用系统可能是图书馆内部的系统,也可能是其他图书馆或部门的应用系统。在这种模式下,读写器不必关心哪个应用系统需要什么数据;同时,应用程序也不需要维护与各个读写器之间的网络通道,仅需要将需求发送到消息系统中即可。[4]因此,采用Web Services技术实现图书馆之间以及图书馆与Edge Server之间的信息交互是非常理想的。消息的传输过程中可能是跨部门、跨不同类型网络,也可能面临路由选择、可靠性和安全性问题等,所以设计出的消息系统必须包括数据缓存、基于内容的路由以及数据分类存储等功能。

3.3 数据接口

消息系统的数据最终是分类的xml磁盘文件。同一类型的数据以xml文件的形式保存,并提供给图书馆管理系统(或其他应用程序)使用。而数据接口主要对这些数据进行过滤、入库操作,并提供访问相应数据库的服务接口。具体工作主要包括磁盘内xml文件批量入库、数据移植前将重复的数据过滤掉、为图书馆内部和外部访问数据库提供WebServices接口。

4 RFID中间件技术架构实现

4.1 标签数据格式

将电子标签嵌入图书合适的位置上,标签数据就是电子标签微芯片中唯一存储的数据。标签数据唯一标识物体,这个代码是本系统的核心部分,贯穿整个RFID系统。目前,全球主要包括5个技术标准的编码格式的RFID标签,它们分别为 EPCglobal、AIM、ISO、UID 以及 IP-X 等,EPCglobal由于综合了美国与欧洲厂商,相比较而言它的应用范围最广。[5]这里借鉴EPC-64的思想来分析一种新的数据格式以满足系统的需求。RFID标签数据主要由卡号、数据分类以及单册图书编号来组成。卡号即是厂商代码,它已经固化,不可更改。本系统卡号采用格式为8位16进制,具体数据位数可能因卡存储格式的不同而不同。数据分类号可以判断出Reader读取到的数据属于哪类数据,为数据分类提供依格式为2位16进制,可以区分256类数据。单册图书编号可以标识图书馆每一册图书,范围是0~224。前面3个部分组成了可以唯一标识每一图书的ID号,最多可以标识256*224册图书。这个数值足够满足图书馆内部产生的RFID数据条目个数,这种编码格式可以满足系统需求。

4.2 消息系统中的消息格式

消息系统要处理的数据必须遵循一定的数据格式,即消息格式。出于面向对象程序设计要求,消息格式采用了复杂的数据类型Class,其中记录了消息的路由信息,标签的数据,其他现场信息如Reader编号、读取时间、温度等。消息目的IP、标签数据、卡号、读写器编号、读取时间和操作员由相应成员变量表示,其中消息目的IP、读写器编号和操作员等信息是可以依据需求提前写定的,而标签数据、卡号和读取时间等实时现场信息可以通过构造函数赋值。消息封装、发送过程描述如下:取出所得到标签数据的“数据分类”部分,依据“数据分类”内容判断该标签属于哪种类型,然后按照这种消息类型将标签封装成相应的消息包,发送到消息系统。

4.3 Edge Server的实现

依据Edge Server实现的功能,它具有的4个功能模块分为设备驱动管理模块、设备组管理、过滤规则管理和事件处理器管理。设备驱动管理为不同读写器的驱动程序提供存储空间,并提供一个唯一的代码ID用以标识它们。设备组管理是为了管理员更有效地管理各种数据采集设备,从逻辑上对它们进行分组。一个Edge Server可以拥有一个或多个设备组,每一个设备组对它们所管理的数据采集设备负责。过滤规则管理不仅提供了一些通用的过滤规则,还可以使用户方便地定制自己的过滤规则,并对它们进行统一的管理。过滤规则可以对应一个单独的数据采集设备,也可以对应一组数据采集设备。事件处理器管理是对事件分发进行管理,它用来加载包括驱动管理组件和事件分发器组件在内的其他组件。事件处理器在EdgeServer启动时立即被加载,然后它再读取配置文件来决定加载哪一个事件分发器组件。

4.4 消息系统的实现

消息系统的体系结构随着应用的不同而变化,一般来说它主要分集中式模式和分布式模式两种。消息系统中消息的传递是点对点的传递,不需要多播机制,因而采用集中式模式。在消息系统的实现中,主要采用了MSMQ和xml相关技术,完成消息缓存、分类整合、路由转发、临时存放等操作。

4.5 数据接口的实现

数据接口包括数据库移植模块和数据访问接口模块两部分。数据库移植模块实现的功能是对这些数据进行过滤、入库操作,数据访问接口模块则是提供访问相应数据库的服务接口。其中,数据过滤过程是在处理临时存放的xml文件的过程中完成的。数据过滤方法是:将同一个卡号多条记录的时间戳差值小于用户定义的阀值(如2ms),则认为重复读取发生,剔除后一条记录,依此剔除所有冗余数据。数据入库可以采用OLEDB数据访问技术,结合NET提供访问XML的API可以实现 XML 文件到 SqlServer、Oracle、Access和 Excel数据访问模型,利用WebServices技术将对数据库的访问以服务的形式发布,供图书馆内部应用程序或联盟图书馆间访问[6]。

5 RFID中间件在管理系统中的应用

基于SOA的RFID中间件兼容并扩展了EPCglobal构架标准,它在图书馆管理系统中起到了承上启下的作用,可直接对读写器采集数据信息,并提供多通信平台数据访问接口。基于SOA的RFID中间件在图书馆管理系统中主要包括6个方面的应用:

①通过WebServices技术实现了对RFID中间件更高层次包装,保证了RFID基础架构中3个功能层次之间的相互独立和协同工作。

②面向服务软件架构设计的RFID中间件可以提高系统跨平台服务能力,从而可实现对既有系统功能的复用。

③操纵控制RFID读写设备按照预定的工作方式,保证不同读写设备之间很好地配合协调。

④按照一定的规则筛选过滤数据,筛除绝大部分冗余数据,将真正有效的数据传输给后台的数据信息管理系统。

⑤基于SOA的RFID中间件集成能力强,能将传统的应用技术很好地集成在一起,可以解决图书馆管理系统中的安全性、可伸缩性、互操作性、过滤、消息传递、集成、管理等方面存在的问题。

⑥图书馆利用基于SOA的RFID中间件技术,在不需要进行任何程序代码开发的基础上,可以完成将RFID读写器读取出的数据提取、解密、过滤、转换、导入图书馆管理系统,利用WebServices技术可供读者浏览、查询、选择。

6 小结

笔者提出了基于SOA的RFID中间件架构,并对这一构架的各组成部分及其在图书馆管理系统中的应用进行详细分析。新的架构主要具有实现不同层次相互独立、协调配合及系统集成能力强等技术特点。面向服务架构的目标就是建立沟通标准,突破应用程序对应用程序沟通的障碍,实现商业流程自动化,支持商业模式的创新,让IT变得更加灵活,从而更快地响应用户需求。随着RFID技术的部署和发展,基于SOA的RFID中间件的功能也呈现多样化的趋势,包括支持读写器及设备管理、高数据安全、数据管理、应用集成、供应链整合等功能。利用基于SOA的RFID中间件技术,图书馆可重新设计业务流程,通过创新的流程设计,实现更加理想的业务重组,最大化地利用现有图书馆的人力、物力、资金以及技术资源。因此,RFID中间件在未来发展上,将会以面向服务的架构为基础趋势,为图书馆提供更加灵活多变的服务。

[1] Maria Chaudhry,Ali Hammad Akbar,Qanita Ahmad,Imran Sarwar.SOARware:Treading through the crossroads of RFID middleware and SOA paradigm[J].Journal of Network and Computer Applications,2011(3):998-1014.

[2] 褚伟杰,田永民,李伟平.基于SOA的RFID中间件集成应用[J].计算机工程,2008(14):84-86.

[3] LeonardoA.Amaral,FabianoP.Hessel,OliverB.Longhi,ThiagoF.O.Dias.eCloud RFID Amobile software framework architecture for pervasive RFID-based applications[J].Journal of Network and Computer Applications,2011(3):972-979.

[4] 邓海生,李军怀.基于SOA的RFID中间件的研究与实现[J].计算机技术与应用,2007(10):131-134.

[5] 董丽华.RFID技术与应用[M].北京:电子工业出版社,2008:68-70.

[6] 张宏壮,张雅南,王建民.一种基于SOA的RFID中间件消息框架设计[J].河北省科学院学报,2008(1):26-31.

猜你喜欢

读写器中间件应用程序
删除Win10中自带的应用程序
RFID中间件技术及其应用研究
基于VanConnect中间件的设计与开发
中间件在高速公路领域的应用
基于视频抓拍读写器的高速公路防倒卡研究
基于随机时隙的RFID读写器防冲突方法
一种支持智能环境构建的中间件
关闭应用程序更新提醒
RFID网络读写器冲突避免MAC协议
三星电子将开设应用程序下载商店