中间件技术的主要分类
商业中间件:weblogic,was,conherence
开源中间件:透明差填,apache,nginx
消息中间件:redis,activemq
中间件定义及分类 为解决分布异构问题,人们提出了中间件(middleware)的概念。中间件是位于平台(硬件和操作系统)和应用之间的通用服务,如图1所示,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。 图1中间件也许很难给中间件一个严格的定义,但中间件应具有如下的一些特点: 满足大量应用的需要 运行于多种硬件和OS平台 支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互 支持标准的协议 支持标准的接口由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。这个是百度百科里面的定义,其实睡起来很复杂~建议你找一家授权培训机构具体咨询一下,专业老师的解释,来得更快些
中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:
远程过程调用(Remote Procedure Call)
远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用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必须是活动的等等。
面向消息的中间件(Message-Oriented Middleware)
MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。消息传递和排队技术有以下三个主要特点:
通讯程序可在不同的时间运行:程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。
对应用程序的结构没有约束:在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。
程序与网络复杂性相隔离: 程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。
对象请求代理(Object Request Brokers)
它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器OTM等。平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的服务组件等,用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代码不用调用框架,用户程序也不必关心框架结构、执行流程、对系统级API的调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植性。
随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。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可以支持更加复杂的结构。
事务处理监控
事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控有以下功能:
进程管理,包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。
事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。
通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。
事务处理监控能够为大量的client提供服务,比如飞机定票系统。如果server为每一个client都分配其所需要的资源的话,那server将不堪重负(如图2所示)。但实际上,在同一时刻并不是所有的client都需要请求服务,而一旦某个client请求了服务,它希望得到快速的响应。事务处理监控在操作系统之上提供一组服务,对client请求进行管理并为其分配相应的服务进程,使server在有限的系统资源下能够高效地为大规模的客户提供服务。
以下不属于中间件技术是 ( ) 。
(1) Sun公司EJB\/J2EE。(2) Microsoft 公司COM、COM+及DCOM。(3) OMGCORBA及OMA。Java远程方法调用(RMI)提供了Java语言远程通信功能,使客户机上运行程序可以调用远程服务器上对象,使Java编程人员能够在网络环境中分布操作。Java Applet是Java一种小程序,主要用于Web开发,不是中间件相关技术。
什么是物联网中间件技术
RFID中间件扮演RFID标签和应用程序之间的中介角色,从应用程序端使用中间件所提供一组通用的应用程序接口(API),即能连到RFID读写器,读取RFID标签数据。这样一来,即使存储RFID标签情报的数据库软件或后端应用程序增加或改由其他软件取代,或者读写RFID读写器种类增加等情况发生时,应用端不需修改也能...
中间件的分类
但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:远程过程...
Java中间件技术及其应用开发目录
首先,我们从第1章《中间件技术导论》开始,为读者梳理中间件的基本概念和原理,帮助理解其在分布式系统中的作用和价值。第2章《应用服务器概述》讲解了应用服务器的种类和功能,以及如何选择合适的服务器来支持Java应用的运行。接下来的第3章《准备上手》,为初学者提供了一个实践平台,通过简单的例子...
IT方面的中间件技术指的是什么?有没有比较好理解的定义?谢谢!_百度知...
单纯的中间件的概念很好理解,底层是操作系统,顶层是具体的应用软件,老的软件开发是直接在操作系统上编写代码形成软件,这样的方式比较基础,开发的难度比较大,同时对人员和时间的消耗也比较大,中间件是介于二者之间的一类软件,把一些基层的具有共性的东西集成好了,相当于半成品,或者某种工具和机器,...
以下不属于中间件技术的是(18)。
中间件通常分为5大类,分别是消息中间件、数据访问中间件、远程过程调用中间件、对象请求代理中间件和事务处理中间件。从20世纪90年代末期开始,随着电子商务的兴起和企业信息化建设的深入,中间件受不同类型需求的刺激而更加丰富起来,中间件的内涵和外延进一步拓展。面向对象的中间件技术成为中间件平台的...
中间件技术实现
这就催生了SOA(面向服务的架构)。实现SOA需规范构件接口,并统一服务结果格式,这为软件开发提供了新的思路。然而,SOA并非产品,而是一种思想方法,而实现这一方法的基础,目前看来只有中间件。国内在中间件领域的起步阶段正值全球中间件技术初创时期。早在1992年,东方通科技便开始研究与开发中间件,并...
中间件的分类
但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:远程过程...
中间件技术的介绍
MQSeries的关键功能之一是确保信息可靠传输,即使在网络通信不可靠或出现异常时也能保证信息的传输。MQSeries的异步消息处理技术能够保证当网络或者通信应用程序本身处于“忙 状态或发生故障时,系统之间的信息不会丢失,也不会阻塞。TongLINK\/Q是面向消息的中间件。TongLINK\/Q的主要功能是在不同的网络协议、不...
基于业务上下文的中间件?
技术现状 中间件技术是在克服复杂网络应用的共性问题中不断发展和壮大起来的,这些问题可以归纳为四个方面:1、从计算环境来看:中间件面对的是一个复杂、不断变化的计算环境,要求中间件技术具有足够的灵活性和可成长性;2、从资源管理的角度来看:操作系统和数据库管理系统管理的是有限资源,资源种类有限...
笪琦参蛇: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源.中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯. 中间件特点: 满足大量应用的需要 ; 运行于多种硬件和OS平台 ;...
龙岩市18917889128: 什么是中间件技术 计算机基础 答案 - ?
笪琦参蛇: 中间件1(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分.人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信...
龙岩市18917889128: net 中间件有哪些 - ?
笪琦参蛇: 中间件帮你找了下,你自己对照下就行了,有些是JAVA和其它的 1 底层型中间件主流技术:JVM, CLR,ACE,JDBC,ODBC代表产品:Sun JVM,Microsoft CLR 2 通用性中间件主流技术:CORBA,J2EE,MOM,COM代表产品:IONA Orbix,BEA WebLogic,IBM MQSeries 3 集成型中间件主流技术:WorkFlow,EAI代表产品:BEA WebLogic,IBM WebSphere
龙岩市18917889128: 中间件是个什么东西 - ?
笪琦参蛇: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源.中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯. 中间件特点: 满足大量应用的需要 ; 运行于多种硬件和OS平台 ;...
龙岩市18917889128: IT方面的中间件技术指的是什么?有没有比较好理解的定义?谢谢!?
笪琦参蛇: 单纯的中间件的概念很好理解,底层是操作系统,顶层是具体的应用软件,老的软件开发是直接在操作系统上编写代码形成软件,这样的方式比较基础,开发的难度比较大,同时对人员和时间的消耗也比较大,中间件是介于二者之间的一类软件,把一些基层的具有共性的东西集成好了,相当于半成品,或者某种工具和机器,再在工具上做软件,方便快捷,易于维护,对开发人员的要求也降低了,省时省力省成本. 方正飞鸿智能信息平台,一款企业级的基础架构中间件,用于开发B\S架构软件.
龙岩市18917889128: 什么东西可以做中间件? - ?
笪琦参蛇: 当然先要了解什么是中间件: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源.中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯.是连接两个独立应用程序或独立系统...
龙岩市18917889128: 在Linux下一般用什么做中间件 - ?
笪琦参蛇: 中间件是一类软件,而非一种软件或技术;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件突出的特点是其网络通信功能. 分类:数据类(Data Integration):用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用 处理类(Process Integration):把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的、协同工作的分布式应用 分布式构件类(Distributed Components):支持构件式应用,后者是未来应用的发展方向. 而COM+是由微软发展的一种新的MS组件技术,它和操作系统结合比较紧密,应用COM+技术,也是可以开发出中间件软件的,但COM+本身严格讲应该不能算是中间件
龙岩市18917889128: 简述web技术的结构 - ?
笪琦参蛇: 它是超级文本的简称. 二、超媒体(hypermedia) 超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合.它是超级媒体的简称.用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,...