1 引言
1.1 RFID中间件概述
RFID(Radio Frequency Identification,简称RFID无线射频识别具有无线非接触,高速、大量的自动目标识别特点,可以将现实世界里的实体对象转换为信息环境下具有唯一标识符的虚拟对象,被广泛应用于资产管理、商品识别与防伪等领域,尤其在物流管理行业应用中凸显优势,涵盖货物从生产、配送、运输到销售等诸多环节。利用RFID对实体对象进行标识后的数据收集、处理并转换为信息再进行分析是RFID应用系统的核心功能。目前市场上已开发了大量的、面向各种行业、各类应用的RFID解决方案和RFID应用系统。在企业已有的ERP,WMS等系统基础上构建RFID应用系统,目的是将RFID数据正确、有效率地导入企业管理系统,并利用RFID技术在物流跟踪与追溯中的优势,以改进企业的业务流程,提升竞争能力。RFID中间件基于上述考虑,尝试为RFID应用与ERP,WMS等系统的集成提供一个灵活的体系架构。
RFID中间件需要管理和监控连接至中间件的读写器、屏蔽设备差异性和复杂性,提供RFID标签读写、数据过滤等功能,经过标签平滑、规则过滤、标签格式装换等处理的RFID数据可以作为中间件与企业应用系统集成模块的输入,在确定的业务上下文中被进一步分析。EPCglobal定义了读写器协议和读写器管理协议,这就使得RFID中间件以统一的方式读取来自不同读写器的数据和管理这些读写器在技术上存在可行性。在EPCgIobal组织的RFID中间件体系结构中,还要求实现ALE和EPCIS接口,通过ALE接口,应用程序可以在标签级别上进行数据读写等操作,获取RFID事件,而EPCIS接口则允许应用程序查询RFID事件,以实现物流跟踪与追溯。RFID中间件是RFID应用系统的枢纽,可以作为RFID硬件设备与企业应用系统连接的桥梁。通过RFID中间件的硬件设备管理及数据采集功能,应用系统可以与RFID硬件设备层分离,实现AIE接口的RFID中间件可以使应用系统以统一的方式访问标签数据,RFID硬件设备、RFID中间件与应用系统间的这种灵活、松散的藕合方式保证了整个RFID应用系统在架构上的灵活性。
RFID中间件对RFID技术的应用起着关键的作用。到目前为止,在RFID中间件技术方面的研究和产品开发取得很多成就。美国MIT大学和ETH合作提出面向RFID应用的开源Accada中间件平台,针对数据分布、数据整合、数据过滤、外围传感器驱动读写器、事件封装、编码管理等问题进行了深入研究。国内主要的RFID中间件产品为上海交通大学RFID中间件SRM、华南理工大学的GDIX-RFID中间件、清华同方的ezRFID中间件等,主要是面向可重构RFID中间件、基于SOA架构的中间件一。对RFID中间件技术的研究,主要集中在硬件设备集成、RFID事件管理、RFID信息服务、RFID中间件体系架构等方面。张洁豪研究分析了SNMP,EPCglobal读写器协议和读写器管理协议等RFID中间件硬件设备集成技术,在此基础上,为上海交通大学RFID中间件SRM实现了基于J2FF平台的RFID硬件设备管理模块;国卿采用配置XMI文件在TCP/IP通信协议下实现了多协议RFID读写器适配器;赵离研究和设计了RFID中间件事件管理系统,通过将有效的RFID事件进行Manchester编码,进行模式识别、内容过滤后与业务规则做匹配,根据匹配结果调用预定义的仓储系统SOAP服务,整个过程实现了RFID中间件事件管理系统与仓储系统的交互,该方案需要仓库系统进行较多的重构;许强借鉴Java事件模型,设计并实现了RFID中间件实时事件管理机制;杨孝锋研究了读写器网络管理、标签数据平滑处理、RFID数据加密和压缩,RFID事件过滤、聚合、报告以及共享等方面的内容; Floerkemerier C等在设计RFID中间件时使用JMS作为中间件与应用系统信息交换的手段。
1.2 RFID系统与企业应用系统集成
企业应用系统要充分发挥其优势,往往需要获取准确、实时的业务数据,如FRP系统就需要实时获取各个生产环节中的基础数据才能更精确地制定和调整生产经营活动,而采用人工采集输入等传统方式则很难准确获取实时数据,阻碍着企业应用系统最大限度地发挥作用。因此,利用RFID技术完成基础数据输入、信息采集则成了企业应用系统集成RFID技术的基本目标,而随着产品供应链管理等领域的兴起和被重视,实现产品跟踪与追溯也成为RFID技术与企业应用系统集成的关注点。
由于大多数企业应用系统在设计与实现时,并未充分考虑为使用RFID技术提供支持,比如没有单品序列号管理、无法监控RFID硬件设备等。在上述应用系统中使用RFID技术,往往需要借助RFID中间件的桥梁作用。现有RFID中间件主要实现了对多种RFID读写器的驱动程序管理和设备监控,解决了RFID数据的采集、过滤和收集问题。但是,缺乏RFID数据与应用系统间的业务互操作和业务集成功能,需要企业应用系统承担RFID事件与业务数据的集成和业务逻辑处理,造成RFID应用系统的紧密藕合,降低系统架构的灵活性,同时还需要上层的应用做较大的系统重构,以便加人对RFID数据与业务数据的逻辑处理。RFID系统可以直接将数据发送给企业应用系统数据,完成简单的数据集成。通过对RFID数据进行事件建模,制定灵活的处理规则将其转换为应用系统可识别的需求信息,可利用EPCIS和消息队列等方式达到向应用系统推送数据的目的。基于RFID中间件的业务集成重点在于,在不进行应用系统重大重构的前提下,将业务规则有效融入RFID事件过滤、识别、聚合等管理过程中;然后在具体的业务过程上下文中处理这些RFID事件,生成业务数据回写至应用系统,实现RFID中间件与应用系统数据交换与业务集成。刘发贵等在IYMRFID中间件基础上研究和设计了面向物联网的仓储管理系统,并适当考虑了与其他企业应用系统间的集成。杜亚江等研究和设计了基于RFID的仓储管理业务流程及系统模型,采用综合运用RFID与条码技术的方式,分析和比较了RFID技术的优势。刘卫宁等利用RFID标识小批量生产环境下的重要生产对象,实时获取生产车间物理环境信息,设计和构建生产管理系统,在企业实际生产线中成功运行。在RFID技术实时采集数据的基础上,制造执行系统与企业资源计划系统的数据和业务集成可以更有效,有助于实现制造和质量的可视化和数字化管理。
1.3本文的工作
针对RFID系统与企业应用系统的集成问题,设计并实现了面向企业应用的RFID集成中间件。中间件以业务单据作为其与企业应用系统间数据交换的载体,采用数据流技术过滤和封装RFID数据,使用规则解析技术控制业务流程,实现了RFID数据事件与应用系统松散藕合与集成,同时,中间件各个模块间基于.NET Remoting技术的分布式架构以及模块内组件采用IoC注入式管理,保证了中间件的架构灵活性和参数可配置性。
2 RFID集成中间件框架
RFID集成中间件框架如图1所示。
RFID集成中间件分为以下六大模块:
(1)硬件服务器。
负责异构读写器管理、监控和整合,为其他模块访问RFID标签提供统一的接口;通过对多样化的硬件设备进行注册,以及较为完善的配置提高中间件对设备的监控能力;根据业务流程的需要动态配置相关读写器,通过控制命令监控硬件设备采集数据;及时探测各种异常情况,并根据预定义规则进行异常差错自动处理以及状态监控事件上报。
(2)数据处理引擎。
针对RFID数据实时、持续到达的特性,结合数据流管理技术对RFID数据进行包括冗余数据清理、标签信息过滤和数据整合汇总等处理,以逻辑读写器为单位对有价值的数据进行基本事件封装;把通过容错过滤的真实、有效、正确的数据和事件提供给后续操作。
(3)单据服务器。
负责中间件与企业应用系统间以XMI格式的业务单据作为载体的数据交换,包括通过企业应用系统提供的数据交换接口导出和写入业务单据。企业应用系统业务单据依赖于特定的编码体系,在将单据进行对象化的解析单据时,需要建立相关的编码环境。此外,单据服务器需要屏蔽来自不同应用系统的XMI业务单据在文档结构上的差别。
(4)业务流程控制引擎。
中间件的核心模块,由业务单据驱动。当单据到来时,通知硬件服务器读写RFID标签,并将读取到的RFID数据输入至数据处理模块,进行过滤、汇总,最后将处理得到的RFID数据与单据进行核对,根据定义的业务规则用相应的业务逻辑操作,比如生成回写的业务单据或者封装上传RFID事件。上述的业务逻辑和业务规则定义在可配置的规则文件中,中间件可根据不同的业务场景配置相应的逻辑和规则。
(5)数据库管理。
图1 HFID集成中间件架构
数据库管理模块负责维护存储业务单据和相应解析编码环境的系统数据库,以及用于存储RFID事件以提供产品电子标签信息服务的EPCIS数据库。
(6)RFID公共信息服务。
集成中间件提供可拓展的公共信息服务平台,其中包含一个遵循EPCglobal规范的本地ONS子系统,为实现物联网相关服务提供支持。
3 RFID集成中间件设计与实现
3.1硬件服务器
硬件服务器模块负责管理中间件范围内的RFID硬件设备,并在此基础上为其他模块访问物理设备提供一组通用、标准的接口,其结构如图2所示。在大规模的企业级RFID部署环境中,通常需要分布式RFID设备进行协同工作,因此在设计该模块时引入读写适配器的概念。读写适配器拥有唯一的标识符,可以对应多个实际的物理设备,而同时任何单一的物理设备可以属于多个读写适配器,这样的映射关系可以由硬件服务器提供的配置界面维护。通过预定义或中间件运行时动态配置的读写适配器,硬件服务器为其他模块提供了分布式设备协同工作的可行性和灵活性。采用.NFT Remoting技术实现中间件分布式架构时,读写器服务提供一组包含可供客户端远程调用方法的接口而使客户端能够完成对硬件设备的协同操作,由于实现这些接口的对象驻守在硬件服务器进程中,因而对硬件设备的实际操作是在硬件服务器进程内完成。分布式机制保证了中间件在部署时的灵活性。
图2 硬件服务器结构示意图
3. 2单据服务器
中间件方案中涉及到的业务单据都是结构定义良好的XML文档。一般来说,XMI解析程序需要通过Xpath来访问XML文档的数据节点,这就要求在解析程序时要对XMI文档的结构十分清楚,从一定程度来上来说,这造成了程序的硬编码,一旦XML文档结构发生变化,解析程序便需要重构,影响了方案的可拓展性。更值得注意的是,不同企业信息系统导出的XML业务单据必然具有不同的文档结构,尽可能以统一的方式解析这些单据不但可以大量减少XML解析的代码编写,也有利于降低系统的复杂度,提高可维护性。此外,不同系统的业务单据中的节点数据依赖于特定的编码体系,如到货通知单中的存货、部门编码等,正确地解析业务单据需要信息系统相关基础数据,因此单据服务器需要考虑这些基础数据的获取与同步。基于汀阅机制和文档节点配置信息的单据解析方法可以有效解决上述问题,在该方法中,不同系统的同类业务单据的共同属性被抽象成业务对象,利用配置文件中业务对象属性与实际单据节点的映射关系和高级程序语言提供的反射机制,解析程序可以有效率地获取单据节点信息,动态构建业务对象。
图3 单据服务器结构图
由于单据服务器需要与不同的企业应用系统进行以单据为载体的数据交互,这往往需要借助应用系统提供的特定接口,然而企业系统接口千差万别,通过对这些接口进行适配处理,可以使单据服务器以统一的方式访问企业系统,尽可能降低系统间的藕合度。
在集成中间件框架中,单据服务器还需要为其他模块提供远程调用接口,以使其他模块可以获取解析后的单据对象,并将业务数据回写至单据服务器,由单据服务器负责生成业务单据调用接口适配器完成数据向企业应用系统的回写。业务单据是集成中间件的驱动因子,业务单据的到来将触发包括单据解析与单据数据远程调用参数传递、读写器读写标签数据、数据处理模块过滤封装标签数据、业务数据向单据服务器的回传以及单据服务器生成并回写业务单据等在内的任务单元。在文章的余下章节中,我们将了解到这样的任务单元可以通过XML语言进行描述与配置。
3. 3数据过滤与封装
考虑到RFID数据具有实时、快速到达等数据流特点,在实现中间件数据过滤时,使用数据流技术是合理的。本节内容主要阐述RFID业务中间件采用Esper引擎将数据流技术应用于中间件的数据过滤与封装的方案,并不对数据流技术进行深入探讨。
图4描述了数据处理模块的结构与流程图。从业务流程控制模块向单据服务器发出以逻辑读写器为参数的远程读写调用开始,单据服务器响请求完成读写操作并将数据发送至数据处理模块,原始数据经过转换后,形成具有(EPC,ReaderAdater,Timestamp,TaskID)形式的数据流在数据流引擎上下文中被处理。
图4 数据处理结构与流程图
Esper在开始处理RFID数据流前需要进行初始化,通过调用静态方法GetProvider创建类型为EPServiceProviderManager的服务实例,并在该实例上创建表示FPI查询的EPStatement对象,通过EPL查询可以让数据流引擎对持续到达的数据流进行持续查询并返回符合条件的数据流对象,集成中间件可以定义EPL查询,从而利用数据流引擎完成冗余数据删除、模式匹配等过滤操作。Esper通过UpdateListener接口中的Update方法返回EPI查询结果,因而结果处理组件便可以理解成为实现UpdateListener接口并包含特定数据封装逻辑的程序片段。上述过程可以通过图5所示的交互图来进行描述。
图5 数据处理时序图
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:面向企业应用的RFID集成中间件框(上)