中间件基本概念专题培训课件

上传人:沈*** 文档编号:240926382 上传时间:2024-05-18 格式:PPT 页数:74 大小:637.87KB
返回 下载 相关 举报
中间件基本概念专题培训课件_第1页
第1页 / 共74页
中间件基本概念专题培训课件_第2页
第2页 / 共74页
中间件基本概念专题培训课件_第3页
第3页 / 共74页
点击查看更多>>
资源描述
中间件基本概念中间件基本概念中间件基本概念12教材与参考书目教材:中间件技术原理与应用中间件技术原理与应用 张云勇 清华大学出版社参考书:COMCOM原理与应用原理与应用 潘爱民 清华大学出版社 CORBACORBA原理及应用原理及应用 朱其亮 北京邮电大学出版社 精通精通EJBEJB 美Ed Roman 电子工业出版社2教材与参考书目教材:23第1章 中间件产生背景及分布式计算环境主要内容开放系开放系统互操作性互操作性中中间件件3第1章 中间件产生背景及分布式计算环境主要内容341.1开放系统与互操作性概述计算模式的算模式的发展展过程程基于主机的系基于主机的系统(分(分时共享、共享、资源共享)源共享)两两层Client/Server系系统三三层(n层)体系架构)体系架构p表示表示层用用户层p业务逻辑层应用用层p数据数据层数据数据库服服务器器基于基于Web的三的三层(N层)体系)体系结构构41.1开放系统与互操作性概述计算模式的发展过程451.1续开放系开放系统基本基本组成成n硬件硬件包括包括PC,工作站,大中型机,各式各,工作站,大中型机,各式各样的的 n 嵌入式嵌入式设备,移,移动设备;n软件件 各各类操作系操作系统、应用用软件;件;n网网络 各各类网网络结构、网构、网络协议。开放系开放系统面面临的的问题远程性程性并并发行行无全局状无全局状态部部分失分失败异步性异步性异异质性性自主性自主性联合型合型伸伸缩性性发展性展性移移动性性51.1续开放系统基本组成561.1续开放系开放系统特点特点n开放的:提供开放的:提供可移植性可移植性和和协同同工作;工作;n集成的:有助于集成的:有助于对付付异异质性性;n灵活的:有助于灵活的:有助于对付付移移动性性;n模模块化的:化的:灵活性灵活性的基的基础;n可可联合的合的n可管理的可管理的n安全的安全的n透明的:支撑透明的:支撑软件和硬件的件和硬件的异异质性性;n满足服足服务质量需求量需求61.1续开放系统特点671.1续开放系开放系统必具特性必具特性n可移植性可移植性(Portability)n可互操作性可互操作性(Interoperability)n可伸可伸缩性性(Scalability)n易易获得性得性(Availability)开放系开放系统构造构造n用用轮廓勾划;廓勾划;n轮廓由廓由七个成分七个成分组成;成;n对轮廓的各成分廓的各成分标准化,即成开放系准化,即成开放系统。71.1续开放系统必具特性781.1续开放系统开放程度表 81.1续开放系统开放程度表 891.1续互操作性互操作性本本质:从异从异质环境(异种境(异种体系体系结构构、异种、异种操作系操作系统、异、异种种网网络等)中等)中获得得资源的源的透明透明动用用能力。能力。面向面向计算算资源源的互操作性的互操作性面向面向信息信息资源源的互操作性(如数据的互操作性(如数据库)定定义:在一个由在一个由异异质实体体构成的网构成的网络环境中,当境中,当应用在用在网网络的的结点上运行点上运行时,它可以,它可以透明地透明地动用网中其用网中其他他结点上的点上的资源源,并借助,并借助这些些资源与本源与本结点上的点上的资源共同来完成某个或某源共同来完成某个或某组任任务。91.1续互操作性9101.1续互操作性互操作性定定义:在一个由在一个由异异质实体体构成的网构成的网络环境中,当境中,当应用在用在网网络的的结点上运行点上运行时,它可以,它可以透明地透明地动用网中其用网中其他他结点上的点上的资源源,并借助,并借助这些些资源与本源与本结点上的点上的资源共同来完成某个或某源共同来完成某个或某组任任务。本本质:从异从异质环境(异种境(异种体系体系结构构、异种、异种操作系操作系统、异、异种种网网络等)中等)中获得得资源的源的透明透明动用用能力。能力。面向面向计算算资源源的互操作性的互操作性面向面向信息信息资源源的互操作性(如数据的互操作性(如数据库)101.1续互操作性10111.2中间件概述现代代应用系用系统的基本特征的基本特征n分布分布n任任务已不只是在已不只是在单机上运行,而是由机上运行,而是由网网络中中多台多台计算机上算机上的相关的相关应用用共同共同协作作完成,需考完成,需考虑网网络传输、数据安全数据安全、数据一致性数据一致性、同步同步等等诸多多问题;n异构异构 n计算机硬件、操作系算机硬件、操作系统、网、网络协议、数据、数据库系系统以及开以及开发工具种工具种类繁多,需考繁多,需考虑数据表示数据表示、调用接口用接口、处理方式理方式等等诸多多问题;n动态协作作 n参与参与协作的作的应用允用允许位置透明性位置透明性、迁移透明性迁移透明性、负载平衡平衡性性等需求。等需求。111.2中间件概述现代应用系统的基本特征11121.2续应用应用1应用应用2应用应用3服务器服务器1服务器服务器2服务器服务器3121.2续应用1应用2应用3服务器1服务器2服务器312131.2续应用应用1应用应用2应用应用3服务器服务器1服务器服务器2服务器服务器3中间件中间件131.2续应用1应用2应用3服务器1服务器2服务器3中间件13141.2续应用软件中间件网络软件操作系统应用软件中间件网络软件操作系统可协同工作利用中间件进行协同工作的系统141.2续应用软件中间件网络软件操作系统应用软件中间件网络14151.2续*中中间件定件定义中中间件件(Middleware)(Middleware)是一种是一种软件件,处于于系系统软件件(操作系(操作系统和网和网络软件)与件)与应用用软件件之之间,它能使,它能使处于于应用用层中的各中的各应用成分之用成分之间实现跨网跨网络的的协同工作(也就是同工作(也就是互操作互操作),),这时允允许各各应用用软件之下所涉及的件之下所涉及的“系系统结构、操作系构、操作系统、通信、通信协议、数据、数据库和其它和其它应用服用服务”各不相同。各不相同。151.2续*中间件定义1516应用软件中间件网络协议操作系统硬件平台应用软件中间件网络协议操作系统硬件平台DBMS两者内含有两者内含有进行行协同工作的同工作的应用成分用成分中间件定义1.2续16应用软件中间件网络协议操作系统硬件平台应用软件中间件网络16171.2续*中中间件件组成成1 1执行行环境(境(Execution EnvironmentExecution Environment)软件件 如果一个网如果一个网络的各个的各个节点上安装了点上安装了EEEE软件件,各,各节点点上的上的应用用软件之件之间就可以就可以实现相互合作相互合作。EEEE软件使件使各各节点的点的下下层设备对应用用软件件透明化透明化了,了,EEEE软件是件是中中间件中的件中的主体部分主体部分。2 2应用开用开发(Application Development)(Application Development)工具工具ADAD工具用来帮助工具用来帮助开开发内含内含“透明透明动用用对方方”成分的成分的应用用软件件,或,或改造原有的无透明改造原有的无透明动用能力的用能力的应用用软件件。ADAD工具是中工具是中间件中的件中的必必备部分部分。171.2续*中间件组成17181.2续中间件的层次结构181.2续中间件的层次结构18191.2续中中间件基本框架件基本框架第四层第四层应用接口(应用接口(API)层)层中间件服务层中间件服务层(通信,控制,计算,管理,输出,信息等)应用平台层应用平台层(Unix、NetWare、NT、VAX、OPENVMS等)传输协议层传输协议层(TCP/IP、IPX/SPX、NetBIOS、OSI等)第三层第三层第二层第二层第一层第一层中间件的基本功能框架结构191.2续中间件基本框架第四层应用接口(API)层中间件服19201.2续基于中基于中间件的件的软件系件系统基本模型基本模型201.2续基于中间件的软件系统基本模型20211.2续中中间件工作原理件工作原理中间件服务器1服务器2服务器n客户机1客户机2客户机n服务器端客户端同/异构环境211.2续中间件工作原理中间件服务器1服务器2服务器n客户21221.2续*中中间件的基本分件的基本分类数据数据访问中中间件件(DAMDAM)远程程过程程调用中用中间件件(RPCRPC)消息中消息中间件件(MOMMOM)对象象请求代理中求代理中间件件(ORBORB)事事务处理中理中间件件(交易中(交易中间件,件,TPMTPM)221.2续*中间件的基本分类2223中中间件的件的发展情况展情况1.2续23中间件的发展情况1.2续2324中中间件的主要厂商件的主要厂商l第一梯队第一梯队pOracleOracle(BEABEA)、)、IBMIBM、东方通科技,占方通科技,占70%70%以上份以上份额;l第二梯队第二梯队pSunSun、中、中软、中、中创、微、微软等;等;l第三梯队第三梯队p国内若干中小国内若干中小软件企件企业和系和系统集成企集成企业。1.2续24中间件的主要厂商1.2续24251.2续*中中间件的作用件的作用n它它提提供供了了通通道道的的功功能能,可可保保证应用用系系统数数据据的的可可靠靠传输;n它它起起着着桥梁梁的的作作用用,达达成成异异构构应用用资源源之之间的的互互联互通;互通;n它它是是分分布布式式应用用的的集集成成开开发框框架架,促促成成企企业分分布布式式应用的用的有机集成有机集成;n作作为平平台台,它它可可有有效效实现分分布布应用用的的分分阶段段顺利利部署;部署;n它它起起着着过滤网网的的作作用用,可可有有力力保保护关关键信信息息的的安安全。全。251.2续*中间件的作用2526*中中间件的件的优越性:越性:1.1.企企业应用方面用方面缩短短应用开用开发周期周期减少减少项目开目开发风险应用用程程序序质量量可可维护性性增加增加产品吸引力品吸引力2.2.应用程序方面用程序方面透透明明地地同同其其他他应用用程程序交互序交互与与运运行行平平台台提提供供的的网网络通信服通信服务无关无关具具有有良良好好的的可可靠靠性性和和可用性可用性具有良好的可具有良好的可扩展性展性1.2续26*中间件的优越性:1.2续2627中中间件件发展面展面临的的问题不同厂商的不同厂商的实现很很难互操作互操作只提供了一部分只提供了一部分平台的平台的实现应用开用开发者要面者要面临设计选择过分追求中分追求中间件功能的全面性件功能的全面性过分分强调选择国外国外产品品不能准确不能准确认识中中间件的作用件的作用1.2续27中间件发展面临的问题1.2续2728*中中间件技件技术发展展趋势n中中间件的件的发展需要展需要规范化范化n应用需求用需求导致技致技术格局多格局多样化化n构件化和松散耦合构件化和松散耦合n底底层的中的中间件持件持续走走稳n高高层的中的中间件成件成为市市场新新宠n新技新技术与与产品的推出速度放品的推出速度放缓n实用化用化是重要的是重要的发展展趋势1.2续28*中间件技术发展趋势1.2续2829第2章 五大类中间件的工作机理主要内容2.1 远程程过程程调用中用中间件(件(RPCM)2.2 面向面向对象中象中间件(件(OOM)2.3 消息中间件(MOM)2.4 数据库访问中间件(DAM)2.5 交易中间件(DTPM)29第2章 五大类中间件的工作机理主要内容29302.1远程过程调用中间件RPCRPC背景背景n在在传统的的编程概念中,程概念中,过程程是只能局限在是只能局限在本地运行本地运行的一段代的一段代码,主程序和主程序和过程之程之间的运行关系是的运行关系是本地本地调用用关系关系本地本地过程程调用用LPCLPC。nLPCLPC模式无法充分利用网模式无法充分利用网络上其他主机的上其他主机的资源,也无源,也无法提高代法提高代码在在实体体间的的共享共享程度,使得主机程度,使得主机资源大源大量浪量浪费。nRPCRPC是是对LPCLPC的的扩展。通展。通过这种种调用机制,程序用机制,程序员编写客写客户方方应用用时,可根据需要,可根据需要透明地透明地调用用位于位于远端端服服务器上的器上的过程。程。302.1远程过程调用中间件RPC背景3031main()main().调用调用A A.退出退出A()A().调用调用B B.退出退出B()B().退出退出主程序主程序过程过程A代码代码过程过程B代码代码机器机器1机器机器2机器机器3RPCRPC调用模型用模型2.1 续主程序主程序子程序子程序子程序子程序31main()A()B()主程序过程A代码过程B代码3132远程程过程程调用用RPC概念概念nRPC是从一台是从一台机器机器或一个或一个进程程调用另一台机器或另用另一台机器或另一个一个进程的程的服服务或方法。或方法。n远程程过程程调用是用是创建建分布式分布式应用用的一种方法,来源的一种方法,来源于于Unix操作系操作系统的的处理思想,被普遍理思想,被普遍认为是是创建分建分布式布式应用的有效方法。用的有效方法。n从从程序程序员的角度的角度,RPC采用常采用常规的的编程模式:程模式:程序程序代代码调用用远端端过程并将程并将结果返回。果返回。当使用当使用RPC时,只需只需编写很少的网写很少的网络程序代程序代码,绝大部分代大部分代码由由IDL(InterfaceDefineLanguage)生成。生成。2.1 续32远程过程调用RPC概念2.1 续3233IDL编译器器结构构2.1 续IDL规范范IDL编译器器头文件文件客客户存根存根头文件文件对象象实现框架框架图2-4 IDL编译器结构33IDL编译器结构2.1 续IDL规范IDL编译器头文件客3334远程程过程程调用用中中间件工作机理件工作机理n用中用中间件中的件中的IDL对调用用顺序序加以加以描述描述;n利用利用IDL编译器器对这种定种定义和描述和描述进行行编译,从,从而生成支持客而生成支持客户机和服机和服务器器进行行通信的管道通信的管道;n在在服服务器端器端,被,被调用的用的远端端过程需程需单独独编写写,并,并被置入被置入服服务器端框架器端框架,同,同时要在要在远程程过程程调用中用中间件中件中进行行注册,注册,以以备调用。用。n启启动本地本地客客户端存根端存根存根存根捆捆绑远端端过程名程名和参数和参数利用利用网网络传输到服到服务器端框架,从而器端框架,从而实现数据格式的数据格式的转换和和参数的参数的传递n采用采用调用用/返回返回模式具体地完成模式具体地完成远端端过程程调用。用。2.1 续34远程过程调用中间件工作机理2.1 续3435RPC工作流程工作流程2.1 续客户运行客户继续执行服务调用过程调用服务过程执行过程返回请求返回RPC调用RPC返回Network图2-5 RPC工作流程RPCRPC一般采用一般采用调用用/返回返回模式,多用于模式,多用于应用程序之用程序之间的通信,采用的通信,采用同步方式同步方式。RPCRPC程序之程序之间的同步通信一般采用的同步通信一般采用Request-Wait-ReplyRequest-Wait-Reply方式,因此方式,因此RPCRPC更适更适应小型小型简单而不需要采用异步通信方式的而不需要采用异步通信方式的应用。用。35RPC工作流程2.1 续客户运行客户继续执行服务调用过程3536ClientSend(remote call pi()(发送送“请求服求服务”信息)信息)Receive(ans)接收回复信息接收回复信息server接收接收调用信息;用信息;抽取参数并分析;抽取参数并分析;调用所指的用所指的过程程;执行行远程程过程程返回返回执行行结果果Send(ans)发送回复信息送回复信息等等待待回回复复请求服求服务等待等待调用用继续返回返回调用用结果果RPCRPC的通信模型的通信模型2.1 续36ClientSend(remote call pi()36373 call work returnServer ProcessOP2 Server-stub OP3RPC Routinereceive transmit45678Local return Local callClient ProcessOP4 Client-stub OP1waitRPC Routinereceive transmit12910RPCRPC执行行过程程2.1 续373 call work re3738通信通信协议支持两种支持两种传输协议:TCPTCP、UDPUDPnTCPTCP:连接、可靠、接、可靠、低效低效。保。保证要么把要么把调用用传递到到远程程过程且程且接受接受应答答,要么,要么报告通信告通信无法无法进行行。nUDPUDP:无无连接、接、不可靠不可靠、高效。使用、高效。使用UDPUDP的的远程程过程程调用也用也许会会丢失或重复失或重复。2.1 续38通信协议2.1 续3839RPCRPC的的语义nLastLast-of-many:-of-many:被被调用的用的过程程可能可能执行若干次行若干次,但,但规定其定其最后一次最后一次执行的行的结果作果作为返回返回结果果。nAt-mostAt-most-once:-once:若若调用者收到了回复消息,用者收到了回复消息,则称被称被调用的用的过程正确地完成了它的一次(程正确地完成了它的一次(仅仅一次一次)执行。行。nAt-leastAt-least-once:-once:远程程调用用过程至少程至少执行一次,回行一次,回复消息可能复消息可能返回一次或多次返回一次或多次。nExactlyExactly-once:-once:若服若服务器正常,器正常,则远程程过程恰好程恰好执行一次,并返回一个行一次,并返回一个调用用结果。果。2.1 续39RPC的语义2.1 续3940远程程过程程调用用的特点的特点客客户/服服务器模式器模式客客户端的端的应用用调用一个位于用一个位于远端服端服务器平台的器平台的进程或服程或服务,RPC实际上是通上是通过C/S方式方式实现的。的。数据封装性数据封装性远端端过程程调用用负责捆捆绑参数参数,实现不同平台之不同平台之间参数的参数的传递,发送参数到送参数到远端端过程。程。同步性同步性当客当客户机机发出出请求求时,服,服务器器进程程处于于运行状运行状态。复复杂性性远程程调用的用的实现环境可能要用境可能要用系系统级的任的任务来来创建,但建,但一旦完成,一旦完成,对程序程序员就是透明的了。就是透明的了。2.1 续40远程过程调用的特点2.1 续4041远程程过程程调用用的特点的特点n缺点:缺点:需要需要进行行系系统级的配置的配置;RPC 并并不支持不支持对象象。CORBA的IIOP MTS的DCOM Java的 sockets应用级协议的编码交换 EJB?RMI(Java Remote Method Protocol)优点:方便地点:方便地实现不同平台不同平台之之间的的数据数据转换。XDR(eXternal Data Representation)2.1 续41远程过程调用的特点2.1 续4142RMIRMI环境境nRMIRMI(远程程方法方法激活):在分布式程序中,其激活):在分布式程序中,其远程程对象的方法象的方法能能够被运行在不同主机上的其他被运行在不同主机上的其他JavaJava虚虚拟机的方法机的方法调用。用。n相相对于于过程程调用用级的的RPCRPC,RMIRMI可以可以实现编程程级对象象之之间的方法的方法调用。用。本地与本地与远程方法程方法调用用对象应用程序本地调用机器A对象对象对象机器B网络远程调用2.1 续42RMI环境本地与远程方法调用对象应用程序本地调用机器A对4243RMIRMI体系体系结构构远程引用层远程引用层传输层传输层Java Virtual MachineClientStub远程引用层远程引用层传输层传输层Java Virtual MachineRemote ObjectSkeletonTCP2.1 续43RMI体系结构远程引用层传输层Java Virtual 4344RMIRMI系系统的目的目标n支持支持对存在于存在于不同不同JavaJava虚虚拟机机上上对象的无象的无缝的的远程程调用。用。n支持服支持服务器器对客客户的的回回调。n把把分布式分布式对象模型象模型自然地集成到自然地集成到JavaJava语言里。言里。n把分布式把分布式对象模型和本地象模型和本地JavaJava对象模型象模型间的的不同不同表面化。表面化。n使使编写可靠的分布式写可靠的分布式应用程序用程序简单化化。n保留保留JavaJava运行运行时环境提供的境提供的安全性安全性。2.1 续44RMI系统的目标2.1 续4445软件开件开发面面临的的问题:n软件的件的开开发、修改和、修改和维护变得得更加困更加困难。n软件开件开发常常常常超期和超出超期和超出预算算。n由于由于没有代没有代码重用重用,新,新软件的开件的开发都是从零开始。都是从零开始。结构化的构化的软件开件开发方式方式n一种一种自自顶向下的开向下的开发方法方法,将整个系,将整个系统分解成独立分解成独立的模的模块,然后逐一,然后逐一实现这些模些模块的功能。的功能。n缺点:完整的系缺点:完整的系统只能在只能在开开发完成后完成后才能呈才能呈现全貌。全貌。如果在开始如果在开始编程程时发现设计中存在缺陷中存在缺陷,那么整个,那么整个设计将被将被重新构造重新构造。2.2 面向对象中间件45软件开发面临的问题:2.2 面向对象中间件45462.2 续面向面向对象的象的软件开件开发方式方式n以一种以一种直直观的的方法分析和构造系方法分析和构造系统;n将将整个系整个系统抽象并抽象并模型化模型化两种开两种开发方法的区方法的区别n结构化的方法:数据与功能是构化的方法:数据与功能是分离的分离的;n面向面向对象方法:数据和相关的功能象方法:数据和相关的功能捆捆绑在一起。在一起。462.2 续面向对象的软件开发方式46472.2 续续开放式分布开放式分布处理参考模型(理参考模型(ODPODP)起源)起源nISOISO为了解决了解决异种系异种系统之之间的互的互联和互通,提出了和互通,提出了OSI-RMOSI-RM。n为使分布式系使分布式系统能能处理理应用的分布,用的分布,实现应用之用之间的的互通和互操作互通和互操作而开而开发的各种的各种标准,如准,如OSFOSF的的DCEDCE、OMGOMG的的CORBACORBA、UIUI的的ALTASALTAS和和DECDEC的的NASNAS。n从从19871987年起,在年起,在ISO/IECISO/IEC和和ITUITU的共同努力下,于的共同努力下,于19951995年年发布了开放式布了开放式分布分布处理参考模型理参考模型RM-ODPRM-ODP。nRM-ODPRM-ODP不不仅是一个一般是一个一般标准,准,还是一个是一个标准的准的标准准。472.2 续开放式分布处理参考模型(ODP)起源4748对象中象中间件(件(对象象请求代理求代理ORBORB)nORBORB提提供供一一种种通通信信机机制制透透明明地地在在异异构构的的通通信信环境境中中传递对象象请求求,各各对象象可可以以位位于于本本地地或或远程程机机器器,且且对象之象之间的的客客户机机/服服务器器的角色是可以互的角色是可以互换的。的。nORBORB可可以以看看作作和和编程程语言言无无关关的的面面向向对象象的的RPCRPC应用用,被被视为从从面面向向对象象过渡渡到到分分布布式式计算算的的强大大推推动力量。力量。n两大两大标准准:OMGOMG的的CORBACORBA;MicrosoftMicrosoft的的COM/DCOMCOM/DCOM。n产品品:BorlandBorland公公司司的的VisibrokerVisibroker、IBMIBM公公司司的的ComponentBrokerComponentBroker和和 东 方方 通通 科科 技技 公公 司司 的的TongBrokerdengTongBrokerdeng。2.2 续续48对象中间件(对象请求代理ORB)2.2 续48492.2续续ODPODP通信模型相关概念通信模型相关概念n通道通道(Channel):用于支持分布:用于支持分布对象之象之间的的透明透明交互交互。n通道包括三部分:存根、通道包括三部分:存根、绑定器和定器和协议对象。象。n存根存根(Stub):解决交互:解决交互过程中的信息的程中的信息的封装和封装和解封装解封装问题;n绑定器定器(Binder):维护计算算对象之象之间的的联系系;n协议对象象(Protocol Object):处理理实际的的通信通信。492.2续ODP通信模型相关概念49502.2续续端系端系统资源相关概念源相关概念结点点(Node):在管理上独立的在管理上独立的物理机器物理机器;核核(Nucleus):用来用来管理管理结点的点的机制机制;对象包象包(Capsule):对象的象的执行行环境境;对象串象串(Cluster):受共管和被共操作的受共管和被共操作的对象集合象集合。502.2续端系统资源相关概念5051客客户基本基本工程工程对象象客客 户存存 根根客客 户绑定器定器客客户协议对象象客户方客户方服服务器基本器基本工程工程对象象服服务器器绑定器定器服服务器器存存 根根服服务器器协议对象象服务器方服务器方截截-转器转器客客户-服服务器交互器交互2.2续续51客户基本客 户客 户客户协客户方服务器基本服务器服务器服5152消息中消息中间件件产生生u传统通信必通信必备条件条件发送和接收送和接收应用程序用程序同同时在在线;通通过网网络能能同同时通信通信,发送者和接受者需知道送者和接受者需知道相互相互间程序的程序的调用接口用接口。u实际情况:情况:应用程序并用程序并不不总是是同同时运行;运行;网网络并不并不总是可用的和可靠的;是可用的和可靠的;在所有者域在所有者域对应用程序的用程序的改改变,要求在其他域,要求在其他域也作相也作相应改改变,不切,不切实际。2.3消息中间件(MOM)52消息中间件产生2.3消息中间件(MOM)5253消息中消息中间件定件定义nMOM(消息消息队列中列中间件件/通信中通信中间件件)依据消息)依据消息传送或消息送或消息队列的原理来工作。列的原理来工作。nMOM能能够简化化应用之用之间数据的数据的传输,提供,提供可靠的、可靠的、跨平台跨平台的消息的消息传输手段。手段。nMOM支持支持同步和异步同步和异步两种通信模式,其中两种通信模式,其中异步异步通信通信模式是基于模式是基于消息消息队列列转发机制的。机制的。n一般来一般来说,消息消息队列列广泛采用广泛采用对等等的分布式的分布式计算模算模型来型来实现分布式分布式计算中的算中的同步和异步同步和异步交互。交互。n消息消息队列一般提供多列一般提供多协议支持、支持、高端服高端服务和其他系和其他系统管理服管理服务,完成,完成可靠的、可可靠的、可扩展展的异构的异构环境中的境中的通信。通信。2.3续53消息中间件定义2.3续5354消息消息n消息消息实质上是一个由用上是一个由用户定定义的的数据数据结构构,由,由头信信息息和和体信息体信息组成。成。n头消息消息是是对消息消息结构的描述,构的描述,对整条消息起整条消息起控制作控制作用用,含消息的,含消息的属性属性及相关的系及相关的系统信息,如信息,如消息消息标识、消息消息类型型、目的目的队列名列名、日期日期时间等;其中目的等;其中目的队列名可表示成列名可表示成“队列名列名队列管理器名列管理器名”的形式的形式n体信息体信息主要是消息的主要是消息的应用数据用数据,是,是应用程序通信的用程序通信的数据,其具体数据,其具体语义要由通信双方事先要由通信双方事先约定,定,对中中间件来件来说是一串毫无意是一串毫无意义的的二二进制字制字节串串。n种种类:请求消息求消息应答消息答消息通知消息通知消息2.3续54消息2.3续5455消息中消息中间件工作机理件工作机理n应用之用之间以一系列消息的方式以一系列消息的方式进行通信。在行通信。在发送者和送者和接受者的接受者的传送送过程中,程中,为了避免在了避免在传递过程中消息被程中消息被丢失,失,消息保存在消息保存在队列列中。中。nMOM为消息接收者消息接收者查看消息提供了一个看消息提供了一个缓冲区域冲区域,应用把消息用把消息发送到与送到与接收者相关的接收者相关的队列列中,如果中,如果发送送者想及者想及时得到得到反反馈,它,它们就把接收返回消息的就把接收返回消息的队列名列名包含在包含在所有所有它它们发送的消息中。送的消息中。n消息消息传递机制要机制要保保证将将发送者的消息送者的消息传送到目的地。送到目的地。n在消息在消息传递中,中,应用程序之用程序之间不必不必须建立建立直接的直接的联系系,从而从而实现消息消息传送的送的异步性异步性。2.3续55消息中间件工作机理2.3续5556消息中间件消息中间件消消息息中中间件件能能够简化化应用用之之间数数据据的的传输,提提供供可可靠靠的的、跨跨平平台台的的消消息息传输手手段段,实现应用用程程序序之之间的的协同同。有两种基本的有两种基本的工作模型工作模型:消息消息队列列消息消息传递(发布布-订阅)缺点:不支持程序控制的缺点:不支持程序控制的传递。产品品:东方方通通科科技技的的TongLINK/QTongLINK/Q、BEABEA的的elinkelink、DECDEC的的 MessageQMessageQ、IBMIBM的的 MQSeriesMQSeries、Microsoft Microsoft MSMQMSMQ等。等。2.3续56消息中间件2.3续5657消息中间件产生消息中间件产生n消息中消息中间件一般把工件一般把工业标准准TCP/IP协议作作为基基础。n消息中消息中间件件还遵循遵循X/Open的分布式事的分布式事务处理模型,理模型,适适应于于分布式分布式计算算环境多境多样化、用化、用户数目数目规模化、模化、业务逻辑复复杂化的化的发展要求,展要求,实现消息消息位置无关性位置无关性、用用户透明性透明性。2.3续NAPTCPIPX.25 SLIP PPP应用层应用层传输层传输层网络层网络层网络接口层网络接口层57消息中间件产生2.3续NAPTCPIPX.25SLIPP5758本地本地应用程序用程序中中间件件本地系本地系统系系统管管理理队列列管管理理器器消息消息队列接口列接口消息路由和排消息路由和排队消息通道代理消息通道代理网网络消息中间件体系结构消息中间件体系结构2.3续58本地应用程序中间件本地系统系队列管理器消息队列接口消息路5859消息中间件的功能消息中间件的功能无无连接接消息消息传递消息消息优先化先化有保障有保障的消息的消息传递事事务处理消息理消息动态队列列创建建消息消息路由路由不同硬件系不同硬件系统的的集成集成跨跨软件件平台平台的支持的支持2.3续59消息中间件的功能2.3续5960Internet上实现数据库访问的方式上实现数据库访问的方式n公共网关接口公共网关接口CGIn专用用APInJDBC与与ODBCn数据数据库引擎引擎2.4 数据库访问中间件60Internet上实现数据库访问的方式2.4 数据库访问6061数据库访问中间件数据库访问中间件在分布式系在分布式系统中,支持中,支持应用程序和用程序和本地或异地本地或异地的的同构同构或异构或异构数据源数据源进行通信。行通信。通通过提供一系列的提供一系列的编程接口程接口,屏蔽不同网,屏蔽不同网络协议,操,操作系作系统和数据和数据库管理系管理系统平台平台DBMS的差异,允的差异,允许应用程序用程序一致地一致地访问数据源。数据源。技技术最成熟最成熟,应用用最广泛最广泛的一种中的一种中间件技件技术。典型例子典型例子ODBCODBC。缺点:需要大量的数据通信。缺点:需要大量的数据通信。产品品:OracleOracle公公司司的的SQL SQL ConnectConnect、SybaseSybase公公司司的的Open Open ServerServer、BEABEA公公司司的的WeblogicWeblogic和和中中科科院院软件件所所的的DataAccessDataAccess等。等。2.4 续61数据库访问中间件2.4 续6162三层结构的缺陷三层结构的缺陷对连接接没有充分利用没有充分利用对重复重复的数据的数据库操作没有操作没有优化化远程程访问不可靠不可靠 2.4 续WWW Server数据存取中数据存取中间件件业务规则本地复制本地复制RemoteDBMSServerDBMSJDBCClientClientAppletSQL62三层结构的缺陷2.4 续WWW Server数据存取中间6263数据数据库访问中中间件主要功能件主要功能n同同时管理管理多个客多个客户机机连接的多接的多线程程n可以接收不同的可以接收不同的厂家中立厂家中立协议n可以用一可以用一组管理数据操作的管理数据操作的业务规则进行行编程程n集中集中处理理密集任密集任务和将和将数据表达数据表达抽象到最高抽象到最高层n分开分开客客户机机应用程序用程序与与数据数据库管理系管理系统n可以可以异步异步提供当前数据表或行的状提供当前数据表或行的状态给客客户机机2.4 续63数据库访问中间件主要功能2.4 续6364数据数据库访问中中间件件n数据数据库访问中中间件件专门负责和完成和完成对数据数据库访问操作操作的的优化化、用、用户连接数的管理接数的管理、保、保证访问的的安全性和可安全性和可靠性靠性,以及,以及实现应用用对来自来自不同厂商不同厂商的数据的数据库的的访问等,等,进而提高而提高对数据数据库访问的的效率效率。n简而言之,数据而言之,数据库访问中中间件指一切件指一切连接接应用程序用程序和和数据数据库的的软件。件。n与一般的中与一般的中间件一件一样,面向数据,面向数据库的中的中间件允件允许开开发人人员通通过单一的一的、定定义良好的良好的API访问另一台另一台计算机算机上的数据上的数据库资源。源。2.4 续64数据库访问中间件2.4 续6465数据库中间件访问方式数据库中间件访问方式直接直接访问应用程序像用程序像访问本地数据本地数据库一一样可以直接可以直接访问和更和更新位于新位于远端的数据端的数据库。数据数据库复制复制客客户端端缓存存服服务器端器端缓存存2.4 续65数据库中间件访问方式2.4 续6566数据库访问中间件类型数据库访问中间件类型本地中本地中间件件本地中本地中间件是件是为特定的数据特定的数据库设计的的提供提供最佳的最佳的访问性能。性能。当要改当要改变数据数据库时,需要,需要对应用程序用程序进行行很大的修改很大的修改。呼叫呼叫层接口接口呼叫呼叫层接口接口为多个数据多个数据库提供了提供了统一的界面一的界面。把一般通用的接口呼叫把一般通用的接口呼叫转换成成任意的数据任意的数据库本地本地语言言,以,以便使便使对数据数据库发出出请求的求的应用程序理解。用程序理解。数据数据库网关网关完成不同数据完成不同数据库模型的模型的转换,能提供,能提供对大型系大型系统内部数据内部数据的的访问。2.4 续66数据库访问中间件类型2.4 续6667几种常见数据库访问中间件几种常见数据库访问中间件ODBCOLE DBJDBC数据数据库引擎引擎数据数据库网关网关2.4 续应用程序用程序1应用程序用程序2应用程序用程序nODBC驱动程序管理器程序管理器可装可装载的的驱动程序程序OracleSQL ServerParadox其他其他67几种常见数据库访问中间件2.4 续应用程序1应用程序2应6768数据库访问中间件优点数据库访问中间件优点移植性好移植性好中中间件件封装封装了各种与平台有关的了各种与平台有关的细节,使更,使更换操作系操作系统和通和通信信协议等底等底层的配置的配置无需改无需改变应用程序代用程序代码。集成方便集成方便能非常容易地集成到能非常容易地集成到应用开用开发环境中,境中,无需大的代无需大的代码改改动。易于易于扩充充局部改局部改进和整体升和整体升级只要保持只要保持对外接口不外接口不变就不会影响到系就不会影响到系统的其他部分,在功能上的其他部分,在功能上对应用程序用程序实现了了透明性透明性。使用使用简单对各种数据源使用各种数据源使用统一的一的访问方式方式,降低了用,降低了用户参与程度。参与程度。2.4 续68数据库访问中间件优点2.4 续6869一种数据一种数据库访问中中间件原型的构造方法件原型的构造方法2.4 续DB DB DB DB 客客户客客户远程程访问模模块安安全全控控制制模模块连接管理模接管理模块操作操作评价模价模块客客户交互模交互模块缓冲区冲区中中间件件69一种数据库访问中间件原型的构造方法2.4 续DB DB 6970事务事务一个完整的事一个完整的事务是指一个是指一个程序或程序段程序或程序段,在一个或多,在一个或多个个资源上源上为完成某些功能的完成某些功能的执行行过程。程。事事务处理理涉及操作系涉及操作系统、文件系、文件系统、编译语言、数据言、数据通信、数据通信、数据库管理系管理系统、应用用软件等,是一个相当件等,是一个相当艰巨的任巨的任务,但是工作的任,但是工作的任务可以通可以通过事事务管理系管理系统来来简化,可大大减少事化,可大大减少事务管理系管理系统应用所需的用所需的编程量。程量。系系统中的所有事中的所有事务由一个由一个事事务管理系管理系统所管理,事所管理,事务开始操作开始操作时被被赋予一个唯一的予一个唯一的标识符符TID,在一个事,在一个事务的生命周期内此的生命周期内此标识由事由事务管理系管理系统唯一唯一标识一个一个事事务。2.5 交易中间件70事务2.5 交易中间件7071交易中间件交易中间件TPM在开放系在开放系统环境下提供保境下提供保证交易交易完整性完整性和数据和数据一致一致性性的一种的一种环境平台。境平台。针对复复杂环境下分布式境下分布式应用的用的速度速度和和可靠性可靠性要求而要求而实现的。的。事事务是是对共享的系共享的系统资源源所完成的一件工作,它通所完成的一件工作,它通常是由一系列操作所常是由一系列操作所组成。事成。事务必必须具有具有ACIDACID(原(原子性、一致性、隔离性、耐久性)属性。子性、一致性、隔离性、耐久性)属性。TPMTPM通通过APIAPI向用向用户提供了一系列的服提供了一系列的服务,可,可简化化应用开用开发。产品:品:BEABEA公司的公司的TuxeboTuxebo、IBMIBM公司的公司的CICSCICS和和东方通方通科技公司的科技公司的TongEASYTongEASY等。等。2.5续71交易中间件TPM2.5续7172事事务管理系管理系统2.5 续应用程序(用程序(AP)资源管理器源管理器(RM)通信通信资源源管理器管理器(CRM)事事务管理器管理器(TM)TM APIXA+XARM APICRM APITCP/IP72事务管理系统2.5 续应用程序(AP)资源管理器通信资源7273交易中交易中间件作用件作用n提供提供高效高效的的处理能力理能力n简化化应用系用系统开开发n可以有效完成可以有效完成多服多服务进程程和和负载均衡均衡n能保能保证分布式交易的分布式交易的完整性完整性n提高系提高系统的的容容错能力能力n减少系减少系统的运行、的运行、维护工作量工作量2.5 续73交易中间件作用2.5 续7374交易中交易中间件功能件功能n进程程管理管理n交易交易优先先级管理管理n数据数据传输n均衡均衡负载n权限限控制、安全管理控制、安全管理2.5 续74交易中间件功能2.5 续74
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!