`
lianxiangbus
  • 浏览: 528889 次
文章分类
社区版块
存档分类
最新评论

移动中间件技术简介

 
阅读更多

移动中间件技术是伴随着网络技术、通信技术、嵌入式操作系统和中间件技术的发展和融合而出现的新兴技术,是当前移动数据业务、未来3G业务以及广大智能终端增值业务的关键共性技术。移动中间件为使包括计算机、笔记本、手机、掌上电脑、电话、家电、汽车等在内的广大终端具有增值应用能力带来了革命性的推动力量。它使广大终端具有了越来越强的智能处理能力,在彻底改变传统以计算机为主的计算体系的基础上,全面提升终端价值,创造更多的终端增值应用。移动中间件技术重点研究的内容包括:接入管理、多协议接入网关、认证服务、连接管理、同步/ 异步数据传递服务、安全管理、内容服务管理等。

  由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:

  ·远程过程调用(Remote Procedure Call)

  ·面向消息的中间件(Message-Oriented Middleware)

  ·对象请求代理(Object Request Brokers)

  它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器OTM等。平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的服务组件等,用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代码不用调用框架,用户程序也不必关心框架结构、执行流程、对系统级API的调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植性。

  下面,针对几类主要的中间件分别加以简要的介绍。

  1、远程过程调用

  远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:server和client。server提供一个或多个远程过程;client向server发出远程调用。server和client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的stub和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里RPC通讯是同步的。采用线程可以进行异步调用。

  在RPC模型中,client和server只要具备了相应的RPC接口,并且具有RPC运行支持,就可以完成相应的互操作,而不必限制于特定的server。因此,RPC为client/server分布式计算提供了有力的支持。同时,远程过程调用RPC所提供的是基于过程的服务访问,client与server进行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。比如,RPC通常需要一些网络细节以定位server;在client发出请求的同时,要求server必须是活动的等等。

  2、面向消息的中间件

  MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。目前流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。消息传递和排队技术有以下三个

  主要特点:

  通讯程序可在不同的时间运行 程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。

  对应用程序的结构没有约束 在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。

  程序与网络复杂性相隔离

  程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。

  3、对象请求代理

  随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。1990年底,对象管理集团OMG首次推出对象管理结构OMA(Object Management Architecture),对象请求代理(Object Request Broker)是这个模型的核心组件。它的作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。CORBA规范包括了ORB的所有标准接口。1991年推出的CORBA 1.1 定义了接口描述语言OMG IDL和支持Client/Server对象在具体的ORB上进行互操作的API。CORBA 2.0 规范描述的是不同厂商提供的ORB之间的互操作。

  对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。

  值得指出的是client和server角色只是用来协调对象之间的相互作用,根据相应的场合,ORB上的对象可以是client,也可以是server,甚至兼有两者。当对象发出一个请求时,它是处于client角色;当它在接收请求时,它就处于server角色。大部分的对象都是既扮演client角色又扮演server角色。另外由于ORB负责对象请求的传送和server的管理,client和server之间并不直接连接,因此,与RPC所支持的单纯的Client/Server结构相比,ORB可以支持更加复杂的结构。

  4、事务处理监控

  事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控有以下功能:

  ·进程管理,包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。

  ·事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。

  ·通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。

  事务处理监控能够为大量的client提供服务,比如飞机定票系统。如果server为每一个client都分配其所需要的资源的话,那server将不堪重负(如图2所示)。但实际上,在同一时刻并不是所有的client都需要请求服务,而一旦某个client请求了服务,它希望得到快速的响应。事务处理监控在操作系统之上提供一组服务,对client请求进行管理并为其分配相应的服务进程,使server在有限的系统资源下能够高效地为大规模的客户提供服务。

  四、面临的一些问题

  中间件能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序了一个相对稳定的高层应用环境。然而,中间件服务也并非“万能药”。中间件所应遵循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的API和专有的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。应用开发者在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展他们往往还需重写他们的系统。尽管中间件服务提高了分布计算的抽象化程度,但应用开发者还需面临许多艰难的设计选择,例如,开发者还需决定分布应用在client方和server方的功能分配。通常将表示服务放在client以方便使用显示设备,将数据服务放在server以靠近数据库,但也并非总是如此,何况其它应用功能如何分配也是不容易确定的。

分享到:
评论

相关推荐

    GIS开发 PostGIS WebGIS 开源地图 移动GIS

    ArcGIS_Server简介.pdf 中间件在GIS开发中的应用.pdf 移动GIS开发手册.pdf 无线通信-开源框架下WEBGIS的设计与实现.pdf 使用Flex_API开发WebGIS应用.pdf 浅谈软件开发项目中的沟通管理.pdf 开源空间信息软件....

    【计算机软件毕业设计】基于ios平台的天气app应用设计与实现文献综述.doc

    二、移动互联网 2.1 移动互联网简介 移动互联网(Mobile Internet ),《著云台》的分析师团队结合科学发展的理论认为,是指互联网的技术、平台、商业 模式和应用与移动通信技术结合并实践的活动的总称。 2.2 移动...

    安防天下智能网络视频监控技术详解与实践part2

    6.3.1 视频中间件技术应用 178 6.3.2 anr技术 179 6.3.3 nvr冗余技术 180 6.3.4 视频标签功能 181 6.3.5 带视频分析功能的nvr 181 6.4 nvr产品选型要点 181 6.4.1 nvr典型参数 181 6.4.2 nvr产品选型 ...

    中服协同办公系统软件Cserver OA介绍

    协同办公系统Cserver OA融合了云计算、SaaS、移动计算、通信、中间件、插件等现代IT技术,重点解决现代企业、政府、个人在办公过程的沟通、信息处理、只是管理、流程协作、通信、内外协作、IT资产整合、资源整合、...

    安防天下智能网络视频监控技术详解与实践.part3

    3.4.3 mpeg-2技术简介 75 3.4.4 mpeg-4技术介绍 76 3.4.5 h.264技术说明 80 3.4.6 视频编解码技术应用 82 3.5 本章小结 84 第4章 硬盘录像机(dvr)技术 87 4.1 dvr产品介绍 88 4.1.1 dvr发展历史 88 4.1.2 ...

    Android入门中文教程

    Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android平台上使用JaVa语言进行Android应用开发必须的工具和API接口。 特性 应用程序...

    “静态调用链路发现”在APM中的应用场景分析及实践探索

    近年来,APM进入了一个高速发展的快车道,分布式环境下的应用自动发现及动态...个人技术涉及大规模分布式应用及治理、中间件云化及服务化(PaaS)、APM 监控、基础开发平台等领域,有多年大规模复杂系统架构实践经验。

    安防天下智能网络视频监控技术详解与实践part1

    6.3.1 视频中间件技术应用 178 6.3.2 anr技术 179 6.3.3 nvr冗余技术 180 6.3.4 视频标签功能 181 6.3.5 带视频分析功能的nvr 181 6.4 nvr产品选型要点 181 6.4.1 nvr典型参数 181 6.4.2 nvr产品选型 ...

    使用服务组件架构(SCA)从不同技术调用组件

    SCA将业务逻辑中有关访问技术、实现和协议的大量细节移动到中间件层中。这种抽象对于某些开发人员来说是有代价的。因为业务应用程序将变得难于理解和调试。通过本文了解如何针对不同的协议绑定和实现类型执行组件...

    电信系统BMC方案建议书

    2.1.11 第一个支持移动数据库管理 13 2.1.12 完整的端对端解决方案,可扩展性强 13 2.1.13 先进的代理技术 14 2.1.14 Knowledge Module-PATROL知识模块 15 2.1.15 以服务水平(Service Level)为中心的解决方案 15 ...

    大数据技术在银行的应用.pdf

    4 兴业银行大数据技术的具体实施 4.1 构建先进的大数据平台 兴业银行数据平台技术的五大特点: (1)安全性:采用了角色访问控制(RBAC),日记记录系统,分层 分级的安全监控策略(应用、 中间件、 网络等)。 (2)可伸缩性:...

    企业合同管理

    软件简介: 企业合同管理是深圳友为软件有限公司(www.uvsoft.com.cn)开发出来的用于企业合同管理的免费 SaaS移动办公管理软件,是一款成熟通用的产品,目前已成功应用在各行业中。 如果贵司的合同管理还处在纸质...

    RFID数据流近似去重

    一个智能的RFID阅读器能够去除自身产生的冗余数据,但是多个阅读器产生的冗余数据紧靠本身自包含的处理能力去除是不可能的,因此我们提出了一种基于中间件的处理冗余数据的技术。 上面这张图表示:有两个阅读器...

    基于RT_Thread连接中国移动onenet平台的RGB三色灯项目-电路方案

    [RT-Thread](https://www.rt-thread.org)是一个集实时操作系统(RTOS)内核、中间件组件和开发者社区于一体的技术平台,由熊谱翔先生带领并集合开源社区力量开发而成,RT-Thread也是一个组件完整丰富、高度可伸缩、...

    淘宝技术嘉年华峰会上的7月10日全部PPT下载

    【14:00 - 15:40】 7月10日-Java中间件介绍 王新生/玄宵(淘宝网) , 王晶昱/沈询(淘宝网) , 马震/锋寒(淘宝网) 【14:00 - 15:40】 7月10日-打造支持上千万http长连接的应用 张乐伟/韩彰(淘宝网) , 谭红江/达夫...

    希赛软考学院系统分析师考试辅导与培训_新技术应用资料

    3 EAI技术简介.............................................................35 3.1 数据传输.............................................................36 3.2 数据转换......................................

    Zoomla!逐浪CMS2 x3.9.6.zip

    今天这个互联网,AI、物联网、车联网、神经网络层出不穷,但是基于WEB表现的核心技术依然是HTML技术,其背后依赖的内核是CMS中间件,Zoomla!逐浪CMS作为国内第一阵营的领导品牌,坚持推陈出新,推动国内WEB与移动...

    Android程序设计基础

     Android为用户与移动应用程序交互提供了全新的方式,同时也提供了实现这些交互的底层技术保障。而Android最令人心动之处,莫过于你可以为它编写软件,本书恰好可以为你提供这方面的帮助。  本书读者对象  阅读...

    基于短信应用的SP服务平台java源码

    *关键技术:系统使用了线程池、消息队列、数据库连接池、socket连接池等技术来保证系统的运行效率以支撑较大的应用需求。 功能介绍 *支持通过JAVA和WEB脚本进行业务逻辑开发。 *灵活的业务路有功能可根据命令字和...

Global site tag (gtag.js) - Google Analytics