物联网导论第5章 物联网软件与中间件(新版)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库 等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得 不面临许多很棘手的问题: 1) 一个应用系统可能跨越多种平台,如UNIX,NT,甚至大机,如何屏 蔽这些平台之间的差异? 2) 如何处理复杂多变的网络环境,如何在脆弱的网络环境上实现可靠的 数据传送? 3) 一笔交易可能会涉及多个数据库,如何保证数据的一致性和完整性? 4) 如何同时支持成千上万乃至更多用户的并发服务请求? 5) 如何提高系统的可靠性,实现故障自动恢复和故障迁移。保证系统7 (天)× 24(小时)× 52(周)可用。 6) 如何解决与已有应用系统的接口。 • 这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的 时间和精力。于是,有人提出能不能将应用软件所要面临的共性问题 进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千 上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软 件。中间件的目标就是解决分布应用开发中诸如互操作等共性问题, 以及相同的内涵,提供这些共性问题的具有普适性的支撑机制。即在 于抽取分布系统构造中的共性问题,封装这些共性问题的解决机制, 对外提供简单统一的接口,从而减少开发人员在解决这些共性问题时 的难度和工作量。中间件通过API (Application Programming Interface,应用程序接口)的形式为应用系统提供通用的服务,这些 服务具有标准的程序接口和协议。
第5章 物联网软件和中间件
• 如果软件是物联网的核心和灵魂,中 间件(Middleware)就是这个灵魂的 核心
5.1 5.2 5.3 5.4 中间件 M2M技术 物联网与数据挖掘 云计算
5.1中间件
5.1.1中间件的基本概念 • 随着计算机技术的发展,IT厂商出于商业和技术 利益的考虑,各自产品之间形成了差异,技术在 不断进步,但差异却并没有因此减少。计算机用 户出于历史原因和降低风险的考虑,必然也无法 避免多厂商产品并存的局面。 于是,如何屏蔽不 同厂商产品之间的差异,如何减少应用软件开发 与工作的复杂性,就成为技术不断进步之后,人 们不能不面对的现实问题。 然而,由一个厂商去 统一众多产品之间的差异是不可能的,单独由计 算机用户在自己的应用软件中去弥补其中的大片 空档,由于技术深度和技术广度的要求,也是勉 为其难。于是,中间件应运而生。中间件试图通 过屏蔽各种复杂的技术细节使技术问题简单化。
中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应 用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网 络通信功能,即克服网络环境多种挑战的一类系统软件--- 平台+通信
• IDC(Internet Data Center;互 联网数据中心) 的定义:中间件 是一种独立的系 统软件或服务程 序,分布式应用 软件借助这种软 件在不同的技术 之间共享资源, 中间件位于客户 机服务器的操作 系统之上,管理 计算资源和网络 通信。如图5-1所 示。
中间件特点
• 满足大量应用的 需要 • 运行于多种硬件 和OS平台 • 支持分布计算, 提供跨网络,硬 件和OS平台的透 明的应用和服务 的交互 • 支持标准的协议 • 支持标准的接口
5.1.3 中间件的分类
• 目前,中间件发展很快,已经与操作系统、数据库 并列为三大基础软件,其类比如表5-1所示。
5.1.2 中间件的作用和特点
• 中间件有两层含义: • 从狭义的角度,中间件意指Middleware,它是表示 网络环境下处于操作系统等系统软件和应用软件之 间的一种起连接作用的分布式软件,通过API的形 式提供一组软件服务,可使得网络环境下的若干进 程、程序或应用可以方便的交流信息和有效的进行 交互与协同。 • 简言之,中间件主要解决异构网络环境下分布式应 用软件的通信、互操作和协同问题,它可屏蔽并发 控制、事务管理和网络通信等各种实现细节,提高 应用系统的易移植性、适应性和可靠性。 • 从广义的角度,中间件在某种意义上可以理解为中 间层软件,通常是指处于系统软件和应用软件之间 的中间层次的软件,其主要目的是对应用软件的开 发提供更为直接和有效的支撑。如图5-2所示。
2. 交易中间件
• 主要功能:管理分布于不同计算机上的数据 的一致性,协调数据库处理分布式事务,保 障整个系统的性能和可靠性。 • 交易中间件所遵循的主要标准是x/opendtp 模型。它适用于联机交易处理系统,如银 行的ATM系统,电Hale Waihona Puke Baidu的计费营收系统。主要 产品有:BEA TUXEDO, IBM CICS, 东方通 科技tongeasy • 交易中间件和消息中间件一样也具有跨平 台, 跨网络的能力
计算机1 分布式应用
计算机2 分布式应用
中间件API 中间件
中间件API 中间件
操作系统API 操作 系统
通讯 处理 存储
操作系统API 操作 系统
通讯 处理 存储
网
络
平台+通信
• 这个定义限定了只有用于分布式系统中的此类软件 才能被称为中间件,同时此定义还可以把中间件与 支撑软件和实用软件区分开来。 • 物联网中间件处于物联网的集成服务器端和感知层、 传输层的嵌入式设备中。 服务器端中间件称为物联 网业务基础中间件,一般都是基于传统的中间件 (应用服务器,ESB(Enterprise Service Bus,企 业服务总线) /MQ (Message Queue,消息队列)等) 构建,加入设备连接和图形化组态展示等模块(如同 方的ezM2M物联网业务中间件)。嵌入式中间件是 一些支持不同通信协议的模块和运行环境。中间件 的特点是它固化了很多通用功能,但在具体应用中 多半需要“二次开发”来实现个性化的行业业务需 求,因此所有物联网中间件都要提供RAD(rapid application develop; 快速应用开发)工具。
• 中间件技术已经日渐成熟,出现了不同层次、不同 类型的中间件产品。大致可分为以下几类:
1. 消息中间件
• 主要功能:将数据从一个应用程序发送到另一个应用程序 • 它要负责建立网络通信的通道,进行数据的可靠传送。保证 数据不重发,不丢失,消息中间件的一个重要作用是可以实 现跨平台操作,为不同操作系统上的应用软件集成提供数据 传送服务,如图5-3所示。它适用于进行非实时的数据交换, 如银行间结算数据的传送。