第5章物联网中间件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
每个Java VM又包括方法区、Java堆、 Java栈、程序计数器和本地方法栈这5个部 分,这几个部分和类装载机制与运行引擎 机制一起组成Java VM的体系结构。
Java VM体系结构图
5.2.3 万维物联网 近几年来随着物联网的兴起,越来越多 的研究正在考虑将Web技术与物联网技术 相结合。 基于这样的思想就产生了万维物联网( Web of Things)的概念。
3.中间件发展史
BEA公司1995年收购Tuxedo才成为一个 真正的中间件厂商。IBM的中间件 MQSeries也是20世纪90年代的产品,其他 许多中间件产品也都是最近几年才成熟起 来。
4.中间件主要特点
满足大量应用的需要 运行于多种硬件和OS平台 支持分布计算,提供跨网络、硬件和OS平台的透明的 应用或服务的交互
(3)上下文推理 系统中的所有上下文信息构成上下文知 识库,基于这些知识库,可以进行上下文 的推理。 实现推理一般有两种方式,一是将逻辑 规则用程序编码实现,二是采用基于规则 的推理系统。
8.RFID中间件的三大类发展阶段
(1)应用程序中间件发展阶段 (2)基础架构中间件发展阶段 (3)解决方案中间件(Solution Middleware)发展阶段。
5.1.2 物联网中间件的基本组成和 特点
基本组成:
实现全球物品的统一编码,给物品打上电 子标签。 要实现每个小的应用环境或系统的标准化 以及它们之间的通信,必须设置一个通用 的平台和接口,也就是中间件。
面向消息的中间件(Message-Oriented
Middleware)
对象请求代理中间件(Object Request Brokers)
几类中间件可向上提供不同形式的通 信服务,在这些基本的通信平台之上, 可构筑各种框架,为应用程序提供不同 领域内的服务,如事务处理监控器、分 布数据访问、对象事务管理器等。
Web of Things的基本框架由以下3部分组成: (1)网络节点集成接口(Integration Interface of Network Node) (2)基于REST风格终端节点(Terminal Nodes Based on REST Style)对智能设备可进行移动和临 时安装; (3)网络Mashup功能(Web Mashup Function)增 强可视化、可预见、可预报和维护日程的能力;
1.嵌入式Web
Web客户端 对Web客户端而言,在物理设备上是指客户 所使用的本地计算机或者嵌入式设备;在软 件上是指能够接受Web服务器上的信息资源 并展现给客户的应用程序。
嵌入来自百度文库Web服务器技术的核心是HTTP协 议引擎。嵌入式Web服务器通过CGI接口和 数据动态显示技术,可以在HTML文件或表 格中插入运行代码,供RAM读取/写入数据 。
第5章 物联网中间件
5.1
物联网中间件基本概念
物联网中间件关键技术
5.2
5.3
物联网中间件编程实例
5.1 物联网中间件基本概念
5.1.1 物联网中间件的定义和分类 5.1.2 物联网中间件的基本组成和特点 5.1.3 物联网中间件举例
5.1.1 物联网中间件的定义和分类
1.中间件定义:
独立的系统软件或服务程序。 应用于客户机、服务器的操作系统,管理计算 机资源和网络通信。 连接两个独立应用程序或独立系统的软件,使 相连接的系统即使具有不同的接口,利用中间件 仍然能相互交换信息。 执行的关键途径是信息传递。
松耦合系统的优势主要有两点:
• •
一点是它具有很高的灵活性 另一点是当组成整个应用程序的每个服务的 内部结构和实现逐渐地发生改变时,它能够 继续存在
5.2.2 嵌入式中间技术服务
嵌入式系统是以应用为中心,以计算机 技术为基础,并且软硬件可裁剪,适用于 应用系统对功能、可靠性、成本、体积、 功耗有严格要求的专用计算机系统。
5.2 物联网中间件关键技术
5.2.1 web服务 5.2.2 嵌入式中间件技术 5.2.3 万维物联网 5.2.4 上下文感知技术
5.2.1 web服务
Web服务(Web Services)就是一种可以通 过Web描述、发布、定位和调用的模块化应 用。 Web服务可以执行多种功能,从简单的请求 到复杂的业务过程。 一旦Web服务被部署,其他的应用程序或是 Web服务就能够发现并且调用这个部署的服 务。
Web服务(Web Services)向外界提供一个 能够通过Web进行调用的API(Application Programming Interface,应用程序编程接口) ,能够用编程的方法通过Web来调用这个应用 程序。我们把调用这个Web Services的应用程 序叫做客户。
Web Services举例:
1.JAVA VM
除了利用Web实现中间件外,Java VM(Java虚拟机)以其良好的跨平台特 性成为了物联网中间件的重要平台。
Java编译执行流程图
每个Java VM都有两种机制,一个是 装载具有合适名称的类(类或是接口), 叫做类装载子系统;另一个是负责执行包 含在已装载的类或接口中的指令,叫做运 行引擎。
以RFID为例,下图描述了中间件在系统中 的位置和作用。
物联网特点:
(1)独立于架构。 (2)数据流。 (3)处理流。 (4)标准化。
5.1.3 物联网中间件举例
(1)ASPIRE 特征:轻量级、可重新编程、智能、适合当 前标准、可升级、安全性高、完整。 ASPIRE的解决办法是完全开源和免版权费 用,这大大降低了总的开发成本。
SOA(Service-Oriented Architecture,面向 服务的体系结构)是一个组件模型,它将应用 程序的不同功能单元通过这些服务之间定义的 接口和协议联系起来。
接口是采用中立的方式进行定义的,它应该 独立于实现服务的硬件平台、操作系统和编程 语言。这使得构建在各种这样的系统中的服务 可以用一种统一和通用的方式进行交互。这种 具有中立的接口定义的特征称为服务之间的松 耦合。
5.1.3 物联网中间件举例
(2)Hydra 定位于操作系统和应用之间的中间件层。 中间件包含了众多软件组成部分,它们被设 计用于处理各种任务,以完成一个有效利用 成本的智能物联网应用开发过程。 可以在新的和已经存在的分布式设备网络上 协作。
5.1.3 物联网中间件举例
(2)Hydra 它是基于语义模式驱动的架构。 Hydra中间件利于实现环境感知行为和解决 在资源受限设备中处理数据的持久性问题。 Hydra安全框架部署了一个规则框架。 虚拟化结构。
创建一个Web Services,功能是返回当前的 天气情况。
Web Services定义:
建立可互操作的分布式应用程序的平台。 Web Services平台是一套标准,它定义了应用 程序如何在Web上实现互操作性。Web Services为实现物联网的应用与服务提供了一 个基本的框架。
Web Services通过简单对象访问协议( Simple Object Access Protocol,SOAP)来调 用。 SOAP是一种轻量级的消息协议,它允许用 任何语言编写的任何类型的对象在任何平台之 上相互通信。
支持标准的协议 支持标准的接口
5.什么是物联网中间件 在物联网中采用中间件技术,以 实现多个系统和多种技术之间的资 源共享,最终组成一个资源丰富、 功能强大的服务系统。
6.物联网中间件的分类
基于目的和实现机制的不同,业内将中间件
分为以下几类:
远程过程调用中间件(Remote Procedure Call)
2.中间件示意图
3.中间件发展史
最早具有中间件技术思想及功能的软 件是IBM的CICS,而CICS不是分布式环 境的产物,因此人们一般把Tuxedo作为第 一个严格意义上的中间件产品。
3.中间件发展史
Tuxedo是1984年在当时属于AT&T的贝 尔实验室开发完成的,由于分布式处理当 时并没有在商业应用上获得像今天一样的 成功,Tuxedo在很长一段时期里只是实验 室产品,后来被Novell收购,在经过Novell 并不成功的商业推广之后,1995年被现在 的BEA公司收购。
(1)上下文采集 上下文的应用领域不同,上下文的采集 方法也有所不同。通常情况下,有3种方法 :传感类上下文、派生出的上下文(根据 信息记录和用户设定)、明确提供的上下 文。 采集技术属于物联网感知层的技术。
(2)上下文建模 要正确地利用上下文信息,必须对获得 的上下文信息进行建模。上下文信息模型 反映了设计者对上下文的理解,决定了使 用什么方法把物理世界里面的一些无意义 和无规律的数据转化成计算世界里的逻辑 结构语言,为实现上下文的正确运行打下 基础。
嵌入式中间件是在嵌入式应用程序和操 作系统、硬件平台之间嵌入的一个中间层 ,通常定义成一组较为完整的、标准的应 用程序接口。。
1.嵌入式Web
嵌入式Web服务主要具有以下优点。 (1)统一的客户界面 (2)平台独立性 (3)高可扩展性 (4)并行性与分布性
1.嵌入式Web
Web服务器 对Web服务器而言,在物理设备上是指 存放那些供客户访问的信息资源的计算机或 嵌入式系统;在软件上是指能够按照客户的 请求将信息资源传送给客户的应用程序。
典型的嵌入式Web服务器系统模型
CGI是通用网关接口(Common Gateway Interface)的缩写。它是Web服 务器主机与外部扩展应用程序交互的一种标 准接口。 它提供了将参数传递给程序并将结果返 回给浏览器的一种机制。
CGI工作流程示意图
CGI程序可以通过以下两种调 用方式来获取客户请求的内容: 一是通过URL直接调用 二通过交互式表单(Form) 来调用。
基于REST风格的Web of Things架构
5.2.4 上下文感知技术
上下文感知技术是用来描述一种信息空 间和物理空间相融合的重要支撑技术,它 能够使用户可用的计算环境和软件资源动 态地适应相关的历史状态信息,从而根据 环境的变化自动地采取符合用户需要或者 设定的行动。
上下文感知系统首先必须知道整个物理 环境、计算环境、用户状态等方面的静态 和动态信息,即上下文(context)。 上下文能力的获取依赖于上下文感知技 术,主要包括上下文的采集、建模、推理 及融合等。上下文感知技术是实现服务自 发性和无缝移动性的关键。
7.物联网中间件发展的三个阶段
应用程序中间件阶段(Application Middleware) 架构中间件阶段(Infrastructure Middleware) 解决方案中间件阶段(Solution Middleware)。
目前,物联网中间件最主要的代表是 RFID中间件,其他的还有嵌入式中间件、 数字电视中间件、通用中间件、M2M物联 网中间件等。下面,重点介绍一下RFID中 间件。
• • • • • •
通过Web of Things,可以为物联网应用带来了 众多便利,以下列举其几点优势: 减少智能设备安装、整合、执行和维护开销; 加快智能设备安装和移除速度; 对智能设备可进行移动和临时安装; 任何时刻、任何地点都可以提供实时信息服务; 增强可视化、可预见、可预报和维护日程的能力; 确保各类应用有效和高效率执行。
RFID中间件扮演RFID标签和应用程序 之间的中介角色,从应用程序端使用中间 件所提供一组通用的应用程序接口(API) ,即能连到RFID读写器,读取RFID标签数 据。
这样一来,即使存储RFID标签数据的数 据库软件或后端应用程序增加或改由其他 软件取代,或者读写RFID读写器种类增加 等情况发生时,应用端不需修改也能处理 ,省去多对多连接的维护复杂性问题。
Web of Things具有以下特性: (1)使用HTTP作为应用协议,HTTP不仅 是用来连接传感器和网络的传输协议。 (2)通过REST接口(或REST API)将智能 设备的同步功能开放出来。
(3)智能设备的异步功能开放采用广为接受 的Web聚合标准。 (4)前端利用Web的呈现方式,提供直观、 友好的用户体验。 (5)开放平台。