物联网中间件技术发展至今,已涌现出许多优秀的解决方案及实现案例,它们旨在解决服务于各种应用领域的异构设备的互操作、上下文感知、设备发现及管理、可扩展性及海量数据的管理、物联网环境下的信息安全等问题。而应用于不同环境的中间件,其系统设计、实现技术等都不尽相同。
中间件是位于操作系统层和应用程序层之间的软件层,能够屏蔽底层不同的服务细节,使软件开发人员更专注于应用软件本身功能的实现。广义的中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间进行共享资源。物联网中间件是位于数据采集节点之上应用程序之下的一种软件层,为上层应用屏蔽底层设备因采用不同技术而带来的差异,使得上层应用可以集中于服务层面的开发,与底层硬件实现良好的松散耦合。物联网中间件提供了一个编程抽象,方便应用程序开发,缩减应用程序和底层设备的间隙。物联网中间件主要解决异构网络环境下分布式应用软件的通信、互操作和协同问题,提高应用系统的易移植性、适应性和可靠性,屏蔽物联网底层基础服务网络通信,为上层应用程序的开发提供更为直接和有效的支撑。
物联网底层基础网络形式多样,WSN、RFID网络是主要感知层网络类型。物联网感知信息具有多源性、信息格式多样性及信息内容实时变化等特点。为了应对日益更新的物联网应用需求,需要从不同角度对海量传感信息进行过滤和分析处理。在设计物联网中间件时,必须考虑网络处理能力、能量资源及其采用技术平台及实现接口各不相同等特性。
针对当前物联网中间件研究问题,为满足分布式网络环境,解决物联网中间件设计中面临的硬件、网络和操作系统的异构特性及不同中间件体系的融合等问题,图6.2给出了一种通用的物联网中间件体系结构。
图6.2 通用的物联网中间件体系架构
通用物联网中间件体系架构,将物联网中间件分为两大层次:上层应用和底层感知,其中执行环境层包括应用服务中间件(可选项)和嵌入式中间件。
在该体系结构中,上层应用可以是简单应用系统(如环境实时监测等),也可以是复杂应用平台(如智能物流、智能家居等),这些应用均被抽象建模成一个个应用实体。对于复杂的应用实例,还需要对其进行功能拆分,拆分成单一服务功能单元,这些单一功能单元由下层中间件软件层提供,并经过组合调用可实现上层复杂应用。
应用服务中间件与嵌入式中间件共同构成物联网中间件软件层。其中应用服务中间件一般部署在性能及功能都很强大的服务器平台之上,需要强大的硬件环境支撑。应用服务中间件通常由三大模块构成:与上层应用交互的通用服务接口、向下提供运行平台支持的通用操作系统接口及中间的应用与服务的匹配调用组件。应用服务中间件主要完成数据融合、事件管理、通信机制管理及数据库管理等功能。
在物联网复杂的异构网络环境中,绝大多数接入物联网中的都是硬件资源有限的嵌入式硬件设备,如传感器节点、有源RFID标签、手机智能终端等。这些硬件设备具备能量低、资源有限,且由相互不同的操作系统平台进行运行支撑等特点。因此,为解决异构的嵌入式系统的跨平台互联互通和互操作问题,通用物联网中间件体系结构中引入嵌入式中间件子层,为上层应用(应用服务中间件或上层企业应用)提供标准的通用接口。嵌入式中间件层运行于具体的嵌入式操作系统平台之上,一般包括通信接口、消息管理及操作系统(OS)接口三大模块,对于某些没有操作系统的硬件节点,则相应的嵌入式中间件模块不包含OS接口模块。对于不同的嵌入式设备,其所设计的嵌入式中间件也有所不同。应用服务中间件向嵌入式中间件进行服务定制,对嵌入式服务功能进行服务封装;嵌入式软件中间件则向应用服务中间件提供统一的协议标准,便于其实现数据融合等管理。此外,某些上层企业应用也可直接通过嵌入式中间件实现某些物联网应用,进行服务组合,实现复杂应用功能,在这种情况下,应用服务中间件成为非必选物联网中间件的组成部分。对于嵌入式中间件,其主要实现底层硬件的资源管理、通信管理、数据管理、控制管理及能量管理等功能。在整个体系结构中,从应用层到中间件层,均可实现信息安全及QoS管理等应用需求。
2.基于SOA物联网中间件模型
针对物联网系统软、硬件资源可重用性低,上层应用与下层服务组合调用复杂等问题,结合SOA本身的特点和诸多优势,SOA是一种适应物联网中间件特性的解决方案。将SOA整合到物联网的服务应用中,可以对松耦合的粗粒度应用组件进行分布式部署、组合和使用,实现了服务提供和服务具体使用方式的分离,从而实现对各种粗粒度、松耦合服务的集成,为处理企业应用中的复杂性问题提供有效的解决方案。尽管在互联网领域,已有的SOA架构支持网络服务的开发和部署,但是考虑到物联网的特点,这些技术无法直接应用于物联网。
基于SOA的物联网中间件软件模型,从应用模式的角度出发,将物联网感知层的各种业务功能包装成独立的标准服务,使各种服务之间能随意组合调用,同时为多个应用程序提供服务功能,以满足企业不断变化的应用需求,大大增强硬件资源和软件利用率,减少开发和维护成本,对物联网更加实用,使网络上层开发人员能更方便快捷高效地使用该中间件系统进行应用程序开发。
基于SOA物联网中间件架构模型主要分为四个层次:服务管理层、企业服务总线(ESB)层、控制接入管理层和感知管理层(见图6.4)。在基于SOA的物联网中间件体系结构中,因特网上层应用可看作是SOA体系中的服务请求者,而底层感知网络可看作是服务提供者,而企业服务总线层则作为服务注册中心,通过发布/订阅通信机制实现服务的请求与绑定,利用网络服务(WebService)技术实现面向服务的设计思想。
图6.4 基于SOA的物联网中间件架构
最上层的服务管理层为一个B/S模式的信息发布平台,其主要功能是通过XML将物联网中的各种业务功能抽象成Web服务,将应用需求特征等抽象成Web服务约束,为请求服务的应用程序提供公共服务接口。
企业服务总线(ESB)层在该体系结构中完成的功能有:对不同服务的消息格式进行转换、服务路由、在服务请求者与服务提供者之间转化协议、提供服务到ESB层的接入适配功能、记录并维护服务信息。ESB层为服务的请求者和服务提供者之间架设了沟通的桥梁,通过与上下两层的联系完成对应用程序进行合理的服务部署,能够集成松耦合的应用程序,对各种资源进行优化组合、充分利用。通过ESB层,该模型很好地实现了发布/订阅通信机制与SOA架构的融合。(www.daowen.com)
控制接入管理层主要对底层的感知网络进行抽象和接入管理,可分成三个子层:控制子层、信息处理子层和通信子层。控制子层实现对所有活动网络的初始化并管理网关中的其他组件;信息处理子层负责处理对不同基础网络的注册信息和传感信息,并对下层网络上传数据进行必要的处理。通信子层主要负责该管理器与ESB层间的数据信息和控制信息的通信。
传感管理层(Sensing Management Layer)管理底层感知网络,为接入因特网的各种嵌入式网络提供相应接口,管理采集的大规模传感数据,对基础网络的属性及功能进行抽象,具体包括以统一编码方式对各自服务提供网域,分配网络编号。该层还负责定义网络类别及网络所提供的服务功能。此外,该层还应封装打包网络内部数据信息并将数据通过各种网关接口向上层传播。通过为网关、节点等硬件设备编辑产生相应程序代码,为嵌入式网络提供服务给予技术支持。
3.Hydra中间件结构
欧盟Hydra中间件项目(FP6IST-2005-034891)致力于开发可广泛部署的智能网络嵌入式中间件平台,使之可运行于新的或已存在的分布式有线/无线网络设备中。Hydra采用对底层通信透明的面向服务的体系结构(见图6.5),可运行在固定或移动设备中,支持集中或分布式的体系结构,以及安全和信任、反射特性和模型驱动的应用开发。
4.IoT-A体系框架
欧洲IoT-A(Internet of Things Architecture)项目致力于当前物联网(Intranets of Things)向未来物联网的转变,以及物联网业务流程建模、原型实现,并对物联网工业应用做出贡献。其具体内容包括搭建物联网系统互操作模型,建立有效的服务层响应机制,提供基于开放协议的服务协议,定义官方物联网体系结构以及设备平台组件等(见图6.6)。
5.其他中间件体系框架
图6.7显示了一种WSN中间件系统架构,该架构将网络硬件、操作系统、协议栈和应用程序相融合,通常包括一个运行环境以支持和协调多个应用,并提供诸如数据管理和数据融合、应用目标自适应控制策略等标准化服务,以延长WSN的生命周期。采用中间件技术将操作系统和应用系统进行分离,体现了WSN软件系统的层次化开发特点。
图6.5 Hydra中间件的体系结构
图6.6 IoT-A体系框架
图6.7 WSN中间件系统架构
图6.8显示了一种支持分布式异构实时多数据流的RFID中间件原型系统的架构层次模型和数据流。该中间件从上到下的五个层次及其功能分别为:应用交互层,主要用于面向服务的中间件与应用交互;事件生成层,负责规则定义的事件报告生成;数据处理层,主要完成原始数据清洗与符合应用层事件标准(Application Level Event,ALE规范)的复杂事件检测;数据源读取层,用于支持多种数据源的虚拟分组以及选择读取;设备交互层,遵循EPCglobal标准,用于兼容各类RFID阅读器驱动与数据接口,实现异构设备与中间件的交互。以上各层组件中的功能及参数均可被独立设置,由XML描述的RFID数据可通过标准接口在各层次之间进行传递。
图6.8 RFID中间件原型系统架构
现有中间件技术发展至今,主要经历了三个阶段:从最初的应用程序中间件阶段过渡到后来的架构中间件阶段,再到更为成熟的解决方案中间件阶段。为了挖掘未来物联网行业潜在的巨大商业利益,目前各大IT产商所开发的产品不再是简单点对点的应用程序中间件,而是诸如Oracle Warehouse Management、Sun Java System RFID Software及SAP Business InformationWarehouse等相对高级的架构中间件产品,同时,更为复杂和全面的解决方案中间件也将逐渐成为今后的研发重点。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。