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