物联网中间件
2.2 嵌入式中间件技术 2.3 万维物联网 2.4 上下文感知技术
2.1 web服务
Web 服务( Web Services )就是一种可以通过
Web描述、发布、定位和调用的模块化应用。
Web服务可以执行多种功能,从简单的请求到复
杂的业务过程。
一旦Web服务被部署,其他的应用程序或是Web
物联网中间件
1
物联网中间件基本概念
2
物联网中间件关键技术
3
物联网中间件编程实例
1 物联网中间件基本概念
1.1 物联网中间件的定义和分类 1.2 物联网中间件的基本组成和特点 1.3 物联网中间件举例
1.1 物联网中间件的定义和分类
(1) 中间件定义:
独立的系统软件或服务程序。
应用于客户机、服务器的操作系统,管理计算 机资源和网络通信。 连接两个独立应用程序或独立系统的软件,使 相连接的系统即使具有不同的接口,利用中间件 仍然能相互交换信息。
服务就能够发现并且调用这个部署的服务。
Web服务(Web Services)向外界提供一个 能 够 通 过 Web 进 行 调 用 的 API ( Application Programming Interface,应用程序编程接口) ,能够用编程的方法通过Web来调用这个应用 程序。我们把调用这个Web Services的应用程 序叫做客户。
支持分布计算,提供跨网络、硬件和OS平台的透明的
应用或服务的交互
支持标准的协议
支持标准的接口
*(5) 什么是物联网中间件 在物联网中采用中间件技术,
以实现多个系统和多种技术之间的
资源共享,最终组成一个资源丰富
、功能强大的服务系统。
(6) 物联网中间件的分类
基于目的和实现机制的不同,业内将中间件
Web of Things的基本框架由以下3部分组成: ( 1 ) 网 络 节 点 集 成 接 口 ( Integration Interface of Network Node) (2)基于REST风格终端节点(Terminal Nodes Based on REST Style)对智能设备可进行移动和临时安装;
,即能连到RFID读写器,读取RFID标签数
据。
这样一来,即使存储RFID标签数据的数 据库软件或后端应用程序增加或改由其他 软件取代,或者读写RFID读写器种类增加 等情况发生时,应用端不需修改也能处理
,省去多对多连接的维护复杂性问题。
(8) RFID中间件的三大类发展阶段
(1)应用程序中间件发展阶段
典型的嵌入式Web服务器系统模型
CGI 是 通 用 网 关 接 口 ( Common Gateway Interface )的缩写。它是 Web 服 务器主机与外部扩展应用程序交互的一种标 准接口。 它提供了将参数传递给程序并将结果返 回给浏览器的一种机制。
CGI工作流程示意图
CGI程序可以通过以下两种调用方式来获取客户请求 的内容: 一是通过URL直接调用 二通过交互式表单(Form)来调用。
关的历史状态信息,从而根据环境的变化自动 地采取符合用户需要或者设定的行动。
上下文感知系统首先必须知道整个物理 环境、计算环境、用户状态等方面的静态 和动态信息,即上下文(context)。 上下文能力的获取依赖于上下文感知技 术,主要包括上下文的采集、建模、推理
Web Services举例:
创建一个Web Services,功能是返回当前的 天气情况。
Web Services定义:
建立可互操作的分布式应用程序的平台
。Web Services平台是一套标准,它定义了应 用 程 序 如 何 在 Web 上 实 现 互 操 作 性 。 Web Services 为实现物联网的应用与服务提供了一 个基本的框架。
Middleware)。
* 目前,物联网中间件最主要的代表是
RFID中间件,其他的还有嵌入式中间件、 数字电视中间件、通用中间件、 M2M物联 网中间件等。下面,重点介绍一下 RFID 中
间件。
RFID 中间件扮演 RFID标签和应用程序 之间的中介角色,从应用程序端使用中间
件所提供一组通用的应用程序接口(API)
1.3 物联网中间件举例-1
(1)ASPIRE
特征:轻量级、可重新编程、智能、适合当 前标准、可升级、安全性高、完整。
ASPIRE 的解决办法是完全开源和免版权费 用,大大降低了总的开发成本。
1.3 物联网中间件举例-2
(2)Hydra
定位于操作系统和应用之间的中间件层。
中间件包含了众多软件组成部分,它们被设 计用于处理各种任务,以完成一个有效利用 成本的智能物联网应用开发过程。
同领域内的服务,如事务处理监控器、 分布数据访问、对象事务管理器等。
(7) 物联网中间件发展的三个阶段
应 用 程 序 中 间 件 阶 段 ( Application
Middleware)
架 构 中 间 件 阶 段 ( Infrastructure
Middleware)
解 决 方 案 中 间 件 阶 段 ( Solution
(4)前端利用Web的呈现方式,提供直观、友好的用 户体验。
(5)开放平台。
通过Web of Things,可以为物联网应用带来众 多便利,以下列举其几点优势:
• • • • • •
减少智能设备安装、整合、执行和维护开销; 加快智能设备安装和移除速度; 对智能设备可进行移动和临时安装; 任何时刻、任何地点都可以提供实时信息服务; 增强可视化、可预见、可预报和维护日程的能力; 确保各类应用有效和高效率执行。
Web客户端
对Web客户端而言,在物理设备上是指客户
所使用的本地计算机或者嵌入式设备;在软 件上是指能够接受Web服务器上的信息资源
并展现给客户的应用程序。
嵌入式 Web 服务器技术的核心是 HTTP 协议引擎。嵌入式 Web服务器通过 CGI接口
和数据动态显示技术,可以在 HTML文件或
表格中插入运行代码,供 RAM 读取 / 写入数 据。
执行的关键途径是信息传递。
(2) 中间件示意图
(3) 中间件发展史-1
最 早具有 中间件技术思想及功能的软件是
IBM 的 CICS (Customer Information Control System), 而CICS不是分布式环境的产物,因此
人们一般把Tuxedo作为第一个严格意义上的中间
Java VM体系结构图
2.3 万维物联网
近几年来随着物联网的兴起,越来越多 的研究正在考虑将 Web 技术与物联网技术
相结合。
基于这样的思想就产生了万维物联网( Web of Things)的概念。
Web of Things具有以下特性:
(1)使用HTTP作为应用协议,HTTP不仅是用来连接 传感器和网络的传输协议。 (2)通过REST接口(或REST API)将智能设备的同 步功能开放出来。 (3)智能设备的异步功能开放采用广为接受的Web聚 合标准。
JAVA VM
除了利用Web实现中间件外,Java
VM(Java虚拟机)以其良好的跨平台特
性成为了物联网中间件的重要平台。
Java编译执行流程图
每个Java VM都有两种机制,一个是装载具有 合适名称的类(类或是接口),叫做类装载子系统; 另一个是负责执行包含在已装载的类或接口中的指令, 叫做运行引擎。 每个 Java VM 又包括方法区、 Java 堆、 Java 栈、程序计数器和本地方法栈这5个部分,这几个部 分和类装载机制与运行引擎机制一起组成Java VM的 体系结构。
应用程序接口。
嵌入式Web
嵌入式Web服务主要具有以下优点。
(1)统一的客户界面 (2)平台独立性 (3)高可扩展性 (4)并行性与分布性
Web服务器
对Web服务器而言,在物理设备上是指存放
那些供客户访问的信息资源的计算机或嵌入 式系统;在软件上是指能够按照客户的请求 将信息资源传送给客户的应用程序。
(2)基础架构中间件发展阶段 (3)解决方案中间件(Solution
Middleware)发展阶段。
1.2 物联网中间件的基本组成和特点
基本组成:
实现全球物品的统一编码,给物品打上电 子标签。 要实现每个小的应用环境或系统的标准化 以及它们之间的通信,必须设置一个通用 的平台和接口,也就是中间件。
以RFID为例,下图描述了中间件在系统中 的位置和作用。
物联网特点:
(1)独立于架构。 (2)数据流。 (3)处理流。
(4)标准化。
中间件助力物联网应用建设
在物联网应用中,采用中间件技术能够更好的规 划系统的架构,缩短系统的开发周期,在系统的 运行中,保证系统的高性能和稳定性,中间件为 物联网应用提供坚实的底层运行平台。 在“感 — 传 — 知 — 用”这个体系中,中间件首先 完成数据从网关到物联网中心的传输,保证大并 发和数据传输的实时性,提供稳定的传输平台 ;数 据交换技术为不同业务系统之间,不同物联网之 间的数据交换提供可管理的数据交换功能,规范 数据交换的模式;服务平台为不同系统之间的服 务管理和访问提供技术支撑;应用服务器为业务 系统的构建提供了底层运行环境。可以说,中间 件涉及到物联网应用中的各个环节,已经成为物 联网建设中不可或缺的重要组成部分。
• •
一点是它具有很高的灵活性 另一点是当组成整个应用程序的每个服务的内 部结构和实现逐渐地发生改变时,它能够继续 存在
2.2 嵌入式中间技术服务
嵌入式系统是以应用为中心,以计算
机技术为基础,并且软硬件可裁剪,适用 于应用系统对功能、可靠性、成本、体积