1 概述
射频识别(Radio Frequency Identification,RFID)技术近年来得到了快速的发展,目前已进入商业化应用阶段。由于具有高速移动物体识别、多目标识别和非接触识别等特点,RFID技术能应用于物流、制造、公共信息服务等行业,可大幅度提高管理与运作效率,降低成本。RFID技术显示出巨大的发展潜力与应用空间,是21世纪最有发展前途的信息技术之一。
由于RFID技术具有诸多优点,因此企业投资者开始考虑将RFID技术应用在企业系统内。但是,RFID设备技术复杂,与企业后台系统(如SCM,ERE CRM)之间的集成难度较大,并且传统的应用集成系统主要采用数据集成的方式,系统间耦合度高,对业务变化的适应性差。这使得企业对于实施RFID技术持谨慎的态度。RFID 中间件的推出会有助于RFID设备与企业后台系统的集成。但目前中间件主要关心的是数据层集成,而不提供任何能实现更高层集成的功能。本文提出并设计了一种基于面向服务体系架构。
(Service—Oriented Architectures,SOA)的RFID集成应用方案,能够把各个应用RFID技术的功能抽象成服务,企业应用系统通过请求/服务的方式来获取RFID中间件提供的服务。最后,通过使用香港大学电子商务研究所(ETI)开发的RFID中间件 (以下简称RAE)与仓库管理系统的集成应用示例,验证了所提出的技术方案。
2 相关技术
2.1 RFID技术
射频识别技术是一种非接触式的自动识别技术,通过射频信号自动识别目标对象的唯一有效标识。典型的RFID系统主要由阅读器、电子标签、RFID 中间件和应用系统软件4部分构成。
标签一般由芯片和天线组成。每个标签具有唯一的电子编码,附着在物体上或嵌入物体内,用于标志目标对象。阅读器通过控制射频模块向标签发射读取信号,并接收标签的应答,同时读写器将时钟信号和能量发送给标签,阅读器对标签的对象标志信息进行解码,并将对象标志信息连同标签上的其他相关信息传送到RFID 中间件以进行后续处理。RFID中间件负责对阅读器所读取的标签数据进行过滤、汇集和计算,以减少从读写器传往企业应用的数据量。RFID应用软件针对不同行业的特定需求而开发,如公共汽车的收费系统。
2.2 RFID中间件技术
中间件在RFID应用系统中介于底层RFID硬件设备(如射频识别阅读器)与后台数据库及应用软件(如ERP系统)中间,对阅读器传来的与标签相关的事件、数据进行过滤、汇总和计算,减少从阅读器传往企业应用的巨量原始数据。RFID 中间件主要包括以下几个功能:
(1)阅读器等硬件设备的协调控制功能。用户可以通过RFID中间件接口直接配置、监控阅读器等硬件设备。
(2)标签数据的过滤与事件处理功能。这是RFID中间件平台的核心,通过相关的算法来减少数据冗余并为后台应用提供语义信息。
(3)数据路由功能。中间件能决定采集的标签数据信息传递给哪一个应用。
目前提供RFID 中间件平台的厂商主要有IBM,Oracle,Microsoft,SAP,SUN,对于这些厂商来说,RFID中间件只是其现有软件的扩展,他们的RFID 产品可以迅速方便地与各自现有的软件产品线集成到一起。但缺点是,其 RFID 中间件产品对该厂商其他软件产品的依赖性太大。
2.3 面向服务的体系结构
面向服务的体系结构是一种技术架构风格,它代表了一种开放的、敏捷的、可扩展的、可组合的架构 ,定义了服务提供者和消费者之间的松散耦合关系。其业务敏捷的特点,帮助企业把业务变得更加灵活,能够适时、快速地响应变化。SOA的核心概念就是服务,W3C 对服务的定义 如下:“服务是一种表示执行任务的能力的抽象资源,一个服务必须被具体的提供者软件实体实现才可以被使用”。目前,Web Service 是目前对 SOA 最为广泛接受的实现方式,它的基本结构如图1所示。
图1 SOA参考模型
其中包含服务的3个基本角色,即服务提供者、服务请求者和服务注册,在这些角色之间使用了3种操作,即服务发布、服务发现和服务绑定。作为SOA 的一种实现技术,Web Services 提供了基于 XML 的标准接口,具有完好的封装性、松散的耦合性、协议规范的标准性以及高度的可集成性等特点,能够良好地满足SOA 应用模式的需求。由于 WebServices 使应用程序的集成发生在协议栈的较高层,基于更注重服务语义而非网络协议语义的消息,实现了业务功能的松散集成。这一特点有助于在企业间和企业内部通过 Web 连接业务功能。
3 利用RFID中间件实现应用系统集成的方案
RFID中间件提供了丰富的接口,能够帮助实现对RFID设备的管理以及对数据的处理,简化了对底层设备应用的支持。目前,如果现有应用系统如果采用RFID设备来完成对物品的管理,采用RFID 中间件无疑是一个很好的选择,避免了对底层设备的低级别接El的处理。但是所面临的一个主要困难是如何解决RFID中间件与现有应用系统的集成问题。在实现与RFID中间件的集成时,如何减少对现有系统的影响,减少集成的工作量成为了一个关键问题。
利用SOA 松耦合、面向业务的特点,本文设计了基于SOA的架构,利用Web Service技术实现RFID中间件与企业系统的集成,完成两者的松耦合集成。系统结构设计如图2所示。
(1)RFID硬件设备层。系统结构图中的最底层是RFID硬件设备层,包括标签与阅读器2部分。标签由芯片与天线组成,每个芯片都含有唯一的识别码(UID),附着在物体上一标识目标对象。
(2)RFID中间件层。香港大学电子商务研究所的RAE是一种消息导向的中间件(MOM),信息是以消息的形式从一个程序模块传送到另一个或者多个程序模块。中间件包括设备驱动控制器、企业应用连接口以及RAE对象核心3部分,其中设备驱动控制器通过本身的适配器或者第三方控制器,可以提供RFID阅读器和其他外部设备之间的连接。RFID对象核心系统部件的主要功能是根据所定制的RFID数据转换和操作过程处理RFID事件。构造知识库包含了一套预设的开发RAE物体的原始代码,而事件管理器和流程执行驱动器则根据RAE对象内部的商业逻辑操作和管理RFID的事件。支持工具包则包含帮助管理和监控RFID系统的功能和程序。
(3)服务接口层。服务接口层位于RFID中间件层与企业应用系统之间。通过对需要采用RFID技术的企业业务建模,分解业务流程,识别出RFID相关的业务服务,定义消息类型,派生服务接口并实现服务。然后将服务注册到服务库中。服务的请求者可在服务库中查找到该服务。
图2 RFID中阔件集成应用系统结构
RAE内包含一些可编排的细粒度组件,如启动指定阅读器读取标签信息(Snapshot)、产品代码信息匹配(Product Match)、标签数量信息匹配(Quantity Match)、发送标签信息事件(Report),将这些细粒度组件进行流程的编排(即按照逻辑规则定义流程描述文件),就可以组成包含逻辑信息的服务,如产品入库信息核对服务、出库信息核对服务、库存位置查询服务。通过对入库作业流程的分析,可知“入库信息核对服务”是由RFID技术来自动完成的。因此,将入库信息核对服务发布成Web Service,供企业应用程序(仓库管理系统)使用。
下面以仓库管理系统中货物的入库流程中产品出库信息核对服务为例编排流程,见图3。
图3 RAE入库信息核对服务流程定义
4 RFID 中间件在仓库管理系统中的集成实现
利用上述集成方案构建RFID中间件与企业的仓库管理系统的集成,以实现对集成框架的应用验证。该仓库管理系统具有以下功能:
(1)库存基本信息管理,包括物品信息的维护和管理、仓库库位信息的管理等。
(2)库存业务管理,包括出入库操作管理、库存盘点操作管理、库存信息查询功能。
下面以仓库管理系统中货物入库流程为例,分析入库作业流程,从中提取RFID相关服务。
仓库管理系统首先收到入库通知单,货物进入仓库时,利用设置在仓库门13的RFID阅读器扫描货物标签来得到标签的tag ID,根据tag ID值得到对应货物的属性以及每种产品的数量信息,将此数据与收到的入库通知单信息进行核对,若数据正确则将货物打托入库,系统推荐库位,之后操作人员逐一进行货物上架操作,上架操作完毕后,利用手持RIFD阅读器将对应货位最新的货物信息通过无线网络传输到后台数据库,系统自动进行货位货物信息的变更确认,完成物品入库操作。
通过对入库作业流程的分析,可以由RFID技术来实现“入库信息核对”,通过将RAE提供的细粒度的功能组件组合成入库信息核对服务,发布成Web Service,提供标准化的数据接口供仓库管理系统使用。
RAE与仓储管理系统集成的结构如图4所示。该系统采用J2EE 的架构在IBM WebSphere平台上开发。通过建立Web服务平台,对RAE所提供的功能组件按照仓库管理系统的需求组合为相应的服务(如产品入库信息核对服务、出库信息核对服务),然后将服务封装成Web服务,供仓库管理系统访问。仓库管理系统与RAE之间采用HTTP/SOAP的方式进行通信,解决了数据采集和集成问题。
图4 RAE与仓储管理系统集成结构
服务代理接口(Service Proxy)是Web服务客户端程序调用Web服务时使用的程序接口。通过使用服务代理接口实现Web服务客户端与服务器端的SOAP通信。在仓库管理系统的入库管理模块和出库管理模块通过调用服务代理接口来访问Web服务。
下面以入库流程为例,介绍WMS与RAE集成后的数据流程。
仓库管理系统作为服务请求者,根据服务接口层公布的入库信息核对服务WSDL,得到该服务的接口定义和服务端侦听地址,由入库管理模块通过服务代理接口向Web服务发送SOAP请求消息,请求入库信息核对服务,Web服务平台收到该服务请求后,向RFID中间件发送消息,创建一个出库信息核对服务的实例,根据服务请求参数,启动相应的RFID阅读器读取标签信息。RFID阅读器将读取的标签信息传给RAE,RAE根据服务请求的参数与捕获的标签信息进行核对处理,处理后向服务接口层返回核对数据正确或者错误的信息(如下所示),最后,服务接口层向仓库管理系统发送SOAP响应,返回处理结果。
5 结束语
本文对RFID技术的概念、典型应用作了介绍,针对利用RFID中间件与现有系统难以集成的问题,提出了一个基于SOA的RFID中间件集成应用的架构设计。使用该架构可以容易地将RFID 中问件与企业应用系统集成到一起,并尽可能减少对现有系统的影响,从而加快了企业RFID应用系统的构建速度,从整体上降低开发、运行和维护RFID应用系统的总成本。最后通过一个仓库管理系统与RFID的集成应用验证了所提出的方案的正确性。
(文/北京大学软件与微电子学院,中国人民解放军91796部队,褚伟杰 田永民 李伟平)