中间件基本概念.ppt
《中间件基本概念.ppt》由会员分享,可在线阅读,更多相关《中间件基本概念.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、中间件基本概念中间件基本概念教材:中间件技术原理与应用中间件技术原理与应用 张云勇 清华大学出版社参考书:COMCOM原理与应用原理与应用 潘爱民 清华大学出版社 CORBACORBA原理及应用原理及应用 朱其亮 北京邮电大学出版社 精通精通EJBEJB 美Ed Roman 电子工业出版社中间件基本概念主要内容开放系统开放系统互操作性互操作性中间件中间件中间件基本概念计算模式的发展过程计算模式的发展过程基于主机的系统(分时共享、资源共享)基于主机的系统(分时共享、资源共享)两层两层Client/Server系统系统三层(三层(n层)体系架构层)体系架构p表示层表示层用户层用户层p业务逻辑层业务
2、逻辑层应用层应用层p数据层数据层数据库服务器数据库服务器基于基于Web的三层(的三层(N层)体系结构层)体系结构中间件基本概念开放系统基本组成开放系统基本组成硬件硬件包括包括PC,工作站,大中型机,各式各样,工作站,大中型机,各式各样的的 嵌入式设备,移动设备;嵌入式设备,移动设备;软件软件 各类操作系统、应用软件;各类操作系统、应用软件;网络网络 各类网络结构、网络协议。各类网络结构、网络协议。开放系统面临的问题开放系统面临的问题远程性远程性并发行并发行无全局状态无全局状态部部分失败分失败异步性异步性异质性异质性自主性自主性联合型联合型伸缩性伸缩性发展性发展性移动性移动性中间件基本概念开放系
3、统特点开放系统特点开放的:提供开放的:提供可移植性可移植性和和协同协同工作;工作;集成的:有助于对付集成的:有助于对付异质性异质性;灵活的:有助于对付灵活的:有助于对付移动性移动性;模块化的:模块化的:灵活性灵活性的基础;的基础;可联合的可联合的可管理的可管理的安全的安全的透明的:支撑软件和硬件的透明的:支撑软件和硬件的异质性异质性;满足服务满足服务质量需求质量需求中间件基本概念开放系统必具特性开放系统必具特性可移植性可移植性(Portability)可互操作性可互操作性(Interoperability)可伸缩性可伸缩性(Scalability)易获得性易获得性(Availability)开
4、放系统构造开放系统构造用轮廓勾划;用轮廓勾划;轮廓由轮廓由七个成分组成;七个成分组成;对轮廓的各成分标准化,即成开放系统。对轮廓的各成分标准化,即成开放系统。中间件基本概念开放系统开放程度表 中间件基本概念互操作性互操作性本质:本质:从异质环境(异种从异质环境(异种体系结构体系结构、异种、异种操作系统操作系统、异、异种种网络网络等)中获得资源的等)中获得资源的透明动用透明动用能力。能力。面向面向计算资源计算资源的互操作性的互操作性面向面向信息资源信息资源的互操作性(如数据库)的互操作性(如数据库)定义定义:在一个由在一个由异质实体异质实体构成的网络环境中,当应用在构成的网络环境中,当应用在网络
5、的结点上运行时,它可以网络的结点上运行时,它可以透明地透明地动用网中其动用网中其他结点上的他结点上的资源资源,并借助这些资源与本结点上的,并借助这些资源与本结点上的资源共同来完成某个或某组任务。资源共同来完成某个或某组任务。中间件基本概念互操作性互操作性定义定义:在一个由在一个由异质实体异质实体构成的网络环境中,当应用在构成的网络环境中,当应用在网络的结点上运行时,它可以网络的结点上运行时,它可以透明地透明地动用网中其动用网中其他结点上的他结点上的资源资源,并借助这些资源与本结点上的,并借助这些资源与本结点上的资源共同来完成某个或某组任务。资源共同来完成某个或某组任务。本质:本质:从异质环境(
6、异种从异质环境(异种体系结构体系结构、异种、异种操作系统操作系统、异、异种种网络网络等)中获得资源的等)中获得资源的透明动用透明动用能力。能力。面向面向计算资源计算资源的互操作性的互操作性面向面向信息资源信息资源的互操作性(如数据库)的互操作性(如数据库)中间件基本概念现代应用系统的基本特征现代应用系统的基本特征分布分布任务已不只是在单机上运行,而是由任务已不只是在单机上运行,而是由网络中网络中多台计算机上多台计算机上的相关应用的相关应用共同协作共同协作完成,需考虑完成,需考虑网络传输网络传输、数据安全数据安全、数据一致性数据一致性、同步同步等诸多问题;等诸多问题;异构异构 计算机硬件、操作系
7、统、网络协议、数据库系统以及开发计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑工具种类繁多,需考虑数据表示数据表示、调用接口调用接口、处理方式处理方式等等诸多问题;诸多问题;动态协作动态协作 参与协作的应用允许参与协作的应用允许位置透明性位置透明性、迁移透明性迁移透明性、负载平衡负载平衡性性等需求。等需求。中间件基本概念应用应用1应用应用2应用应用3服务器服务器1服务器服务器2服务器服务器3中间件基本概念应用应用1应用应用2应用应用3服务器服务器1服务器服务器2服务器服务器3中间件中间件中间件基本概念应用软件中间件网络软件操作系统应用软件中间件网络软件操作系统可协同工作
8、利用中间件进行协同工作的系统中间件基本概念*中间件定义中间件定义中间件中间件(Middleware)(Middleware)是一种是一种软件软件,处于,处于系统系统软件软件(操作系统和网络软件)与(操作系统和网络软件)与应用软件应用软件之之间,它能使处于应用层中的各应用成分之间间,它能使处于应用层中的各应用成分之间实现跨网络的协同工作(也就是实现跨网络的协同工作(也就是互操作互操作),),这时允许各应用软件之下所涉及的这时允许各应用软件之下所涉及的“系统结系统结构、操作系统、通信协议、数据库和其它应构、操作系统、通信协议、数据库和其它应用服务用服务”各不相同。各不相同。应用软件中间件网络协议操
9、作系统硬件平台应用软件中间件网络协议操作系统硬件平台DBMS两者内含有进两者内含有进行协同工作的行协同工作的应用成分应用成分中间件定义中间件基本概念中间件基本概念*中间件组成中间件组成1 1执行环境(执行环境(Execution EnvironmentExecution Environment)软件)软件 如果一个网络的各个节点上安装了如果一个网络的各个节点上安装了EEEE软件软件,各节点,各节点上的应用软件之间就可以实现上的应用软件之间就可以实现相互合作相互合作。EEEE软件使软件使各节点的各节点的下层设备下层设备对应用软件对应用软件透明化透明化了,了,EEEE软件是软件是中间件中的中间件中
10、的主体部分主体部分。2 2应用开发应用开发(Application Development)(Application Development)工具工具ADAD工具用来帮助工具用来帮助开发内含开发内含“透明动用对方透明动用对方”成分的成分的应用软件应用软件,或,或改造原有的无透明动用能力的应用软改造原有的无透明动用能力的应用软件件。ADAD工具是中间件中的工具是中间件中的必备部分必备部分。中间件基本概念中间件的层次结构中间件基本概念中间件基本框架中间件基本框架第四层第四层应用接口(应用接口(API)层)层中间件服务层中间件服务层(通信,控制,计算,管理,输出,信息等)应用平台层应用平台层(Uni
11、x、NetWare、NT、VAX、OPENVMS等)传输协议层传输协议层(TCP/IP、IPX/SPX、NetBIOS、OSI等)第三层第三层第二层第二层第一层第一层中间件的基本功能框架结构中间件基本概念基于中间件的软件系统基本模型基于中间件的软件系统基本模型中间件基本概念中间件工作原理中间件工作原理中间件服务器1服务器2服务器n客户机1客户机2客户机n服务器端客户端同/异构环境中间件基本概念*中间件的基本分类中间件的基本分类数据访问中间件数据访问中间件(DAMDAM)远程过程调用中间件远程过程调用中间件(RPCRPC)消息中间件消息中间件(MOMMOM)对象请求代理中间件对象请求代理中间件(
12、ORBORB)事务处理中间件事务处理中间件(交易中间件,(交易中间件,TPMTPM)中间件的发展情况中间件的发展情况中间件基本概念中间件的主要厂商中间件的主要厂商l第一梯队第一梯队pOracleOracle(BEABEA)、)、IBMIBM、东方通科技,占、东方通科技,占70%70%以上份以上份额;额;l第二梯队第二梯队pSunSun、中软、中创、微软等;、中软、中创、微软等;l第三梯队第三梯队p国内若干中小软件企业和系统集成企业。国内若干中小软件企业和系统集成企业。中间件基本概念中间件基本概念*中间件的作用中间件的作用它它提提供供了了通通道道的的功功能能,可可保保证证应应用用系系统统数数据据
13、的的可可靠传输;靠传输;它它起起着着桥桥梁梁的的作作用用,达达成成异异构构应应用用资资源源之之间间的的互互联互通;联互通;它它是是分分布布式式应应用用的的集集成成开开发发框框架架,促促成成企企业业分分布布式应用的式应用的有机集成有机集成;作作为为平平台台,它它可可有有效效实实现现分分布布应应用用的的分分阶阶段段顺顺利利部署;部署;它它起起着着过过滤滤网网的的作作用用,可可有有力力保保护护关关键键信信息息的的安安全。全。*中间件的优越性:中间件的优越性:1.1.企业应用方面企业应用方面缩短应用开发周期缩短应用开发周期减少项目开发风险减少项目开发风险应应用用程程序序质质量量可可维维护性护性增加产品
14、吸引力增加产品吸引力2.2.应用程序方面应用程序方面透透明明地地同同其其他他应应用用程程序交互序交互与与运运行行平平台台提提供供的的网网络通信服务无关络通信服务无关具具有有良良好好的的可可靠靠性性和和可用性可用性具有良好的可扩展性具有良好的可扩展性中间件基本概念中间件发展面临的问题中间件发展面临的问题不同厂商的实现很难不同厂商的实现很难互操作互操作只提供了一部分只提供了一部分平台的实现平台的实现应用开发者要面临设计应用开发者要面临设计选择选择过分追求中间件功能的全面性过分追求中间件功能的全面性过分强调选择国外产品过分强调选择国外产品不能准确认识中间件的作用不能准确认识中间件的作用中间件基本概念
15、*中间件技术发展趋势中间件技术发展趋势中间件的发展需要中间件的发展需要规范化规范化应用需求导致技术应用需求导致技术格局多样化格局多样化构件化和松散耦合构件化和松散耦合底层底层的中间件持续走稳的中间件持续走稳高层高层的中间件成为市场新宠的中间件成为市场新宠新技术与产品的推出速度放缓新技术与产品的推出速度放缓实用化实用化是重要的发展趋势是重要的发展趋势中间件基本概念中间件基本概念主要内容2.1 远程过程调用中间件(远程过程调用中间件(RPCM)2.2 面向对象中间件(面向对象中间件(OOM)2.3 消息中间件(MOM)2.4 数据库访问中间件(DAM)2.5 交易中间件(DTPM)中间件基本概念R
16、PCRPC背景背景在传统的编程概念中,在传统的编程概念中,过程过程是只能局限在是只能局限在本地运行本地运行的一段代码,的一段代码,主程序和过程之间主程序和过程之间的运行关系是的运行关系是本地本地调用调用关系关系本地过程调用本地过程调用LPCLPC。LPCLPC模式无法充分利用网络上其他主机的资源,也无模式无法充分利用网络上其他主机的资源,也无法提高代码在实体间的法提高代码在实体间的共享共享程度,使得主机资源大程度,使得主机资源大量浪费。量浪费。RPCRPC是对是对LPCLPC的扩展。通过这种调用机制,程序员编的扩展。通过这种调用机制,程序员编写客户方应用时,可根据需要写客户方应用时,可根据需要
17、透明地调用透明地调用位于远端位于远端服务器上的过程。服务器上的过程。main(main().调用调用A A.退出退出A(A().调用调用B B.退出退出B(B().退出退出主程序主程序过程过程A代码代码过程过程B代码代码机器机器1机器机器2机器机器3RPCRPC调用模型调用模型中间件基本概念主程序主程序子程序子程序子程序子程序远程过程调用远程过程调用RPC概念概念RPC是从一台是从一台机器机器或一个或一个进程进程调用另一台机器或另调用另一台机器或另一个进程的一个进程的服务或方法。服务或方法。远程过程调用是创建远程过程调用是创建分布式应用分布式应用的一种方法,来源的一种方法,来源于于Unix操作
18、系统操作系统的处理思想,被普遍认为是创建分的处理思想,被普遍认为是创建分布式应用的有效方法。布式应用的有效方法。从从程序员的角度程序员的角度,RPC采用常规的编程模式:采用常规的编程模式:程序程序代码调用远端过程并将结果返回。代码调用远端过程并将结果返回。当使用当使用RPC时,时,只需编写很少的网络程序代码,绝大部分代码由只需编写很少的网络程序代码,绝大部分代码由IDL(InterfaceDefineLanguage)生成。生成。中间件基本概念IDL编译器结构编译器结构中间件基本概念IDL规范规范IDL编译器编译器头头文件文件客户客户存根存根头头文件文件对象对象实现实现框架框架图2-4 IDL
19、编译器结构远程过程调用远程过程调用中间件工作机理中间件工作机理用中间件中的用中间件中的IDL对对调用顺序调用顺序加以加以描述描述;利用利用IDL编译器编译器对这种定义和描述进行编译,从对这种定义和描述进行编译,从而生成支持客户机和服务器进行而生成支持客户机和服务器进行通信的管道通信的管道;在在服务器端服务器端,被调用的远端过程需,被调用的远端过程需单独编写单独编写,并,并被置入被置入服务器端框架服务器端框架,同时要在远程过程调用中间,同时要在远程过程调用中间件中进行件中进行注册,注册,以备调用。以备调用。启动本地启动本地客户端存根客户端存根存根存根捆绑捆绑远端过程名远端过程名和参数和参数利用利
20、用网络传输网络传输到服务器端框架,从而到服务器端框架,从而实现实现数据格式的转换数据格式的转换和和参数的传递参数的传递采用采用调用调用/返回返回模式具体地完成远端过程调用。模式具体地完成远端过程调用。中间件基本概念RPC工作流程工作流程中间件基本概念客户运行客户继续执行服务调用过程调用服务过程执行过程返回请求返回RPC调用RPC返回Network图2-5 RPC工作流程RPCRPC一般采用一般采用调用调用/返回返回模式,多用于应用程序之间的通信,采用模式,多用于应用程序之间的通信,采用同步方式同步方式。RPCRPC程序之间的同步通信一般采用程序之间的同步通信一般采用Request-Wait-R
21、eplyRequest-Wait-Reply方式,因此方式,因此RPCRPC更适应更适应小型小型简单简单而不需要采用异步通信方式的应用。而不需要采用异步通信方式的应用。ClientSend(remote call pi()(发送发送“请求服务请求服务”信息)信息)Receive(ans)接收回复信息接收回复信息server接收调用信息;接收调用信息;抽取参数并分析;抽取参数并分析;调用所指的过程调用所指的过程;执行远程过程执行远程过程返回执行结果返回执行结果Send(ans)发送回复信息发送回复信息等等待待回回复复请求服务请求服务等待等待调用调用继续继续返回调用结果返回调用结果RPCRPC的通
22、信模型的通信模型中间件基本概念3 call work returnServer ProcessOP2 Server-stub OP3RPC Routinereceive transmit45678Local return Local callClient ProcessOP4 Client-stub OP1waitRPC Routinereceive transmit12910RPCRPC执行过程执行过程2.1 续通信协议通信协议支持两种传输协议:支持两种传输协议:TCPTCP、UDPUDPTCPTCP:连接、可靠、连接、可靠、低效低效。保证要么把调用传递到。保证要么把调用传递到远程过程且远程
23、过程且接受应答接受应答,要么报告通信,要么报告通信无法进行无法进行。UDPUDP:无连接、无连接、不可靠不可靠、高效。使用、高效。使用UDPUDP的远程过的远程过程调用也许会程调用也许会丢失或重复丢失或重复。中间件基本概念RPCRPC的语义的语义LastLast-of-many:-of-many:被调用的过程被调用的过程可能执行若干次可能执行若干次,但,但规定其规定其最后一次最后一次执行的结果作为执行的结果作为返回结果返回结果。At-mostAt-most-once:-once:若调用者收到了回复消息,则称被若调用者收到了回复消息,则称被调用的过程正确地完成了它的一次(调用的过程正确地完成了它
24、的一次(仅仅一次仅仅一次)执行。执行。At-leastAt-least-once:-once:远程调用过程至少执行一次,回远程调用过程至少执行一次,回复消息可能复消息可能返回一次或多次返回一次或多次。ExactlyExactly-once:-once:若服务器正常,则远程过程恰好执若服务器正常,则远程过程恰好执行一次,并返回一个调用结果。行一次,并返回一个调用结果。中间件基本概念远程过程调用远程过程调用的特点的特点客户客户/服务器模式服务器模式客户端的应用调用一个位于远端服务器平台的进程或服客户端的应用调用一个位于远端服务器平台的进程或服务,务,RPC实际上是通过实际上是通过C/S方式方式实现
25、的。实现的。数据封装性数据封装性远端过程调用负责远端过程调用负责捆绑参数捆绑参数,实现不同平台之间参数的,实现不同平台之间参数的传递,发送参数到远端过程。传递,发送参数到远端过程。同步性同步性当客户机发出请求时,服务器进程处于当客户机发出请求时,服务器进程处于运行状态运行状态。复杂性复杂性远程调用的实现环境可能要用远程调用的实现环境可能要用系统级的任务系统级的任务来创建,但来创建,但一旦完成,对程序员就是透明的了。一旦完成,对程序员就是透明的了。中间件基本概念远程过程调用远程过程调用的特点的特点缺点:缺点:需要进行需要进行系统级的配置系统级的配置;RPC 并并不支持对象不支持对象。CORBA的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中间件 基本概念
限制150内