最早具有中间件技术思想及功能的软件是IBM的CICS,但由于CICS不是分布式环境的产物,因此人们一般把Tuxedo作为第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于AT&T的贝尔实验室开发完成的,但由于分布式处理当时并没有在商业应用上获得像今天一样的成功,Tuxedo在很长一段时期里只是实验室产品,后来被Novell收购,在经过Novell并不成功的商业推广之后,1995年被现在的BEA公司收购。尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近10年之中。BEA公司1995年成立后收购Tuxedo才成为一个真正的中间件厂商,IBM的中间件MQSeries也是20世纪90年代的产品,其他许多中间件产品也都是最近几年才成熟起来。国内在中间件领域的起步阶段正是整个世界范围内中间件的初创时期。东方通科技早在1992年就开始中间件的研究与开发,1993年推出第一个产品TongLINK/Q。可以说,在中间件领域国内的起步时间并不比国外晚多少。
1.物联网中间件(IOT-MW)的产生
美国最先提出物联网中间件(IOT-Middleware)的概念。美国一些企业在实施RFID 项目改造期间,发现最耗时和体力、复杂度和难度最高的问题是如何保证将RFID数据正确地导入企业管理系统,为此这些企业在这方面做了大量的工作。经过多方研究、论证和实验,最终找到了一个比较好的解决方法,这就是运用物联网中间件技术。本书中所说的物联网中间件主要是指EPC中间件。
2.物联网中间件(IOT-MW)分类和结构
中间件是物联网的神经系统,是一种企业通用的管理EPC数据的架构。它可以安装在商店、本地配送中心,区域甚至全国数据中心,以实现对数据的捕获、监控和传送。这种分布式结构可以简化物联网的管理,提高运行效率。如图5-23所示,描述了一个典型的EPC中间件系统结构,这种树形结构的叶节点叫做“边缘EPC中间件”,树的分支节点叫做“内部EPC中间件”。
图5-23 EPC中间件网络结构
“边缘EPC中间件”是采集实时EPC数据的EP中间件。典型应用下,EPC中间件软件安装在商店、仓库、制造车间、甚至卡车上。“边缘EPC中间件”由在网络中的逻辑位置而得名:EPC数据只有通过它们才能进入系统。为了以后恢复方便,“边缘EPC中间件”不停地捕获、监视、存储数据。在EPC中间件等级结构中,“边缘EPC中间件”总是结构树中的叶节点。
“边缘EPC中间件” 与RFID的识读器相连。识读器不停地从标签中采集EPC数据,并向EPC中间件传输。每次识读EPC中间件都要保存一些信息,例如标签的EPC代码;扫描标签的识读器的EPC代码,识读时间;以及与EPC不相关的一些信息,如识读器观测到的温度和地理位置。
在EPC中间件的逻辑等级中“内部EPC中间件”指内部节点,是“边缘EPC中间件”的父节点或者上级,“内部EPC中间件”从它的下属“边缘EPC中间件”中采集EPC数据。通常,“内部EPC中间件”安装在企业的区域或者国家级的数据中心。“内部EPC中间件”系统除从它的下级采集生成数据外,负责合计EPC数据。
具体来讲,物联网中间件在应用中的主要作用包括两个方面:其一,控制RFID读/写设备按照预定的方式工作,保证不同读/写设备之间能很好地配合协调;其二,按照一定的规则筛选过滤数据,筛选绝大部分冗余数据,将真正有效的数据传送给后台的信息系统。从应用程序端使用中间件所提供的一组通用的应用程序接口(API),能连接到RFID读写器,读取RFID标签数据。这样一来,即使存储RFID标签信息的数据库软件或后端应用程序增加或被其他软件取代,或者RFID读写器种类增加等情况发生时,应用端不需修改也能处理,简化了维护工作。EPC中间件的内部结构如图5-24 所示。
图5-24 EPC中间件的内部结构
EPC中间件由以下三个主要的模块构成:
事件管理系统 (Event Management System,EMS)
实时内存事件数据库(Real-time in-memory Event Database,RIED)
任务管理系统 (Task Management System,TMS)
3.物联网中间件(IOT-MW)的特点
在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通信服务,我们将这种通信服务称为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:远程过程调用(Remote Procedure Call);面向消息的中间件(Message-Oriented Middleware);对象请求代理(Object Request Brokers)。
物联网中间件是一种面向信息的中间件(Message-Oriented Middleware,MOM)。面向信息的中间件包括的功能不仅是传递信息,还包括解码数据、安全性、数据广播、错误恢复、定位网络资源、找出符合成本的路径、信息与要求的优先次序,以及延伸的出错工具等服务,物联网中间件作为面向信息的中间件的一种,也涵盖这些功能和服务。
同时,物联网中间件有其自身的特色,可以从一般意义上概括如下:
(1) 独立于架构(Insulation Infrastructrue)
物联网中间件独立于并介于RFID读写器与后端应用程序之间,并且能够与多个RFID读写器,以及多个后端应用程序连接,以减轻架构与维护的复杂性。
(2) 数据流(Data Flow)
RFID的主要目的在于将实体对象转换为信息环境下的虚拟对象,因此数据处理是RFID最重要的功能。物联网中间件具有数据的凑集、过滤、整合与传递等特性,以便将正确的对象信息传到企业后端的应用系统。
(3) 处理流(Process Flow)
物联网中间件采用程序逻辑及存储再转送(Store-and-Forward)的功能来提供顺序的消息流,具有数据流设计与管理的能力。
4.物联网中间件(IOT-MW)的发展
物联网中间件在2000年以后才出现,从最先的只是面向单个阅读器与特定应用驱动交互的程序,发展到如今的全球EPC信息网络基础中间件,从架构角度看其发展阶段可分为以下3个部分:
应用程序中间件(application middleware)阶段。本阶段为发展的初级阶段,多以整合、串接RFID读写器为目的,此阶段大多是不同的RFID读写器厂商提供各自的简单读写器应用程序接口,通过直接编写读写器配适器以供后端系统的应用程序或数据库与之交互,从而将RFID事件信息融入企业。此阶段的这种模式的缺点是企业需花费成本去处理前后端的连接问题;而且硬件与软件绑定,赞成灵活性不足,RFID事件信息难以共享给合作伙伴。
架构中间件(infrastructure middleware)阶段。本阶段是物联网中间件成长的关键阶段,也是目前应用最广泛的模式。物联网中间件具备支持多种设备的管理、数据采集及过滤等处理功能,应用与硬件的耦合性大大降低,系统提供统一格式的RFID事件共享给外部。但不支持面向用户的高级事件及高性能共享功能,是有待解决的重要问题。
解决方案中间件(solution middleware)阶段。本阶段是未来物联网系统的远景目标。各厂商提供包括硬件、软件和运行平台等一整套解决方案,很好地解决前端RFID硬件与后端应用系统的连接问题。这种模式是对架构中间件模式的超越,加入了更多的面向客户、面向服务的特性,而且可以推广到RFID外的其他领域。