中间件基本概念PPT课件_第1页
中间件基本概念PPT课件_第2页
中间件基本概念PPT课件_第3页
中间件基本概念PPT课件_第4页
中间件基本概念PPT课件_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.1,中间件技术,2,教材及参考文献,教材:中间件技术原理与应用章云勇清华大学出版社参考文献:COM原理与应用潘爱民清华大学出版社CORBA原理及应用周治量北京邮电大学出版社精通EJB 美国EdRoman电子产业出版社。第3、1章中间件背景和分布式计算环境、主要内容开放系统互操作性中间件、4,1.1开放系统和互操作性概述,计算模式开发过程基于主机的系统(分时共享,资源共享)双层客户端/服务器系统3层(n层)体系结构演示层用户层业务逻辑层应用层数据层数据库服务器基于web的3层(n层)体系结构。5,1.1继续,PC、工作站、大中型、多种嵌入式设备、移动设备(包括开放系统基本配置硬件);软件多种操作系统、应用软件;网络各种网络结构、网络协议。开放系统面临的问题。远程和发布没有全球状态。部分失败。异步异构自主性、自主性、开发性、移动性。继续6,1.1,开放系统特性开放:提供可移植性和协作;集成:有助于处理异质性。灵活:有助于处理移动性。模块化:灵活性的基础;可集成可管理安全透明度:支持软件和硬件的异质性;满足服务质量要求,7,1.1继续,开放系统必需的功能可扩展性互操作性可用性开放系统部署概述;轮廓由aus pice的7个组件组成。标准化配置文件中的每个组件,使其成为开放系统。继续8,1.1,开放系统开放水平表,9,1.1继续,互操作性的本质:在异构环境(异构体系结构、异构操作系统、异构网络等)中释放资源的透明使用能力。定义信息资源互操作性,如计算资源互操作性数据库:在由异构实体组成的网络环境中,应用程序在网络中的节点上运行时,可以透明地使用网络中其他节点上的资源,然后将该资源与此节点上的资源结合使用以完成任务或组。10,1.1继续,定义互操作性:在由异构实体组成的网络环境中,当应用程序在网络中的其他节点上运行时,可以透明地使用网络中其他节点上的资源,并使用这些资源与此节点上的资源一起完成任务或组。本质:确保资源在异构环境(异构体系结构、异构操作系统、异构网络等)中的透明使用能力。计算资源互操作性信息资源(如数据库)的互操作性,11,1.2中间件概述、最新应用程序系统的基本功能部署不是简单的独立运行,而是考虑网络传输、数据安全性、数据一致性、同步等诸多问题,由网络中的多台计算机上的相关应用程序共同完成的。异构计算机硬件、操作系统、网络协议、数据库系统和开发工具需要考虑数据表示、调用接口、处理方式等多个问题。动态协作协作参与应用程序允许位置透明性、迁移透明性、负载平衡等要求。12,1.2继续,继续13,1.2,继续14,1.2,使用中间件的协作系统,15,1.2继续,*中间件定义的中间件(Middleware)是一种软件,可在系统软件(操作系统和网络软件)和应用程序软件之间实现应用层应用程序组件之间的网络间协作(互操作),它使与应用程序软件相关的系统结构、操作系统、通信协议、数据库和其他应用程序服务有所不同,16、应用程序软件、中间件、网络协议、操作系统、硬件平台、应用程序软件、中间件、网络协议、操作系统、硬件平台、DBMS、DBMS、两者共同工作的应用程序组件、中间件定义、1.2继续、继续17,1.2,*中间件配置1。ExecutionEnvironment(执行环境)软件如果网络中的每个节点上都安装了EE软件,则每个节点上的应用程序软件可以相互协作。EE软件使中间件的主要部分-每个节点的底层设备-对应用程序透明。2.应用程序开发工具AD工具有助于开发包含“透明使用”组件的应用程序软件,或没有原始透明使用功能的应用程序软件。AD工具是中间件的组成部分。继续18,1.2,中间件分层结构,继续19,1.2,中间件基本框架,20,1.2继续,基于中间件的软件系统基本模型,21,1.2继续,中间件工作原理,22,1.2继续,*中间件的基本分类数据访问中间件(dam)远程过程调用中间件(RPC) 33消息中间件(MOM) 3comy对象请求代理中间件(ORB) 3me事务中间件(ORB),23,中间件的发展,1.2继续,24、中间件主要供应商Oracle(BEA)、IBM、东方pass技术占70%以上的份额;第二梯Sun、中软、创建、微软等;第三梯队国内几家中小软件企业及系统集成企业。1.2继续,25,1.2继续,*中间件的作用。提供通道功能以确保应用程序系统数据的可靠传输。充当异构应用程序资源之间互操作性的桥梁。是分布式应用程序的集成开发框架,促进了企业分布式应用程序的有机集成。是分布式应用程序分阶段、无缝部署的平台,作为有力地保护重要信息的筛选器。26,*中间件的优点:1。缩短企业应用程序方面的应用程序开发周期降低项目开发风险提高应用程序质量可维护性提高产品吸引力2。与应用程序方面的其他应用程序透明地交互运行平台提供的网络通信服务无关,良好的可靠性和可用性,良好的可扩展性,1.2继续。27、中间件开发问题。多家供应商实施难以互操作。部分平台实施只能提供。应用开发人员必须面对设计选择。对中间件功能过分追求的综合性选择国外产品时,不能正确认识中间件的作用。1.2继续。28,*中间件技术发展趋势。中间件开发需要标准化。由于应用需求,技术模式多样化。组件和基础中间件继续稳定。高级中间件成为市场的新宠物。新技术和产品上市速度减慢。实用化是重要的发展趋势,继续1.2。第29、2章5个中间件的工作机制,主要内容2.1远程过程调用中间件(RPCM)2.2面向对象中间件(oom)2.3消息中间件(MOM)2.4数据库访问中间件(DAM)2.5事务中间件(DTPM),以及,30,2.1远程过程调用中间件,在RPC背景传统编程概念中,进程是只能本地运行的代码段,主程序和过程之间的执行关系是本地调用关系本地过程调用LPC。LPC模式无法充分利用网络上其他主机的资源,或无法提高代码在实体之间共享的程度,从而浪费了大量主机资源。RPC是LPC的扩展。这种调用机制使程序员在编写客户端应用程序时,可以根据需要透明地调用位于远程服务器上的进程。31,main().a.调用退出,A().b.调用退出,B().关机,RPC调用模型,2.1继续,32,远程过程调用RPC概念RPC是从一个系统或进程调用另一个系统或其他进程的服务或方法。远程过程调用是创建源自Unix操作系统处理思想的分布式应用程序的一种方法,被广泛认为是创建分布式应用程序的有效方法。从程序员的角度来看,RPC是常规编程模式,程序代码调用远程进程并返回结果。使用RPC时,很少编写网络程序代码,大多数都是由InterfaceDefineLanguage(IDL)生成的。2.1继续,33,IDL编译器结构,2.1继续,34、远程过程调用中间件工作机制用中间件IDL说明调用顺序;使用IDL编译器编译此定义和说明,以生成支持客户机和服务器通信的管道。服务器端调用的远程进程必须单独编写,部署在服务器端框架中,并且必须注册并调用远程过程调用中间件。启动本地客户端存根 存根捆绑远程进程名和参数,允许数据类型转换和参数传递。使用调用/返回模式具体完成远程进程调用。2.1继续,35、RPC工作流、2.1继续、RPC通常用于调用/返回模式、应用程序之间的通信,并且是同步的。RPC程序之间的同步通信通常使用Request-Wait-Reply,因此,RPC更适合于较小、简单的应用程序,而无需异步通信应用程序。36,RPC的通信模式,2.1继续,37,RPC运行进程,2.1继续,38,通信协议支持两种传输协议:TCP、UDPTCP:连接、可靠性、低效率。确定呼叫是否已转发到远程进程并收到响应,或是否报告无法通信。UDP:无连接,不可靠,高效。使用UDP的远程过程调用可能丢失或重复。2.1继续,39,RPC的语义调用Last-of-many:的进程可以运行多次,但将上次运行的结果指定为返回结果。At-most-once:调用方收到回复消息后,调用过程将正常运行一次(仅一次)。At-least-once:远程调用进程至少执行一次,可能返回一次或多次回复消息。Exactly-once:服务器正常时,远程进程仅执行一次,并返回调用结果。2.1继续,40,远程过程调用的特征客户/服务器模式客户端的应用程序调用实际上是通过C/S进行的远程服务器平台的过程或服务。数据封装远程过程调用负责绑定参数,以允许在不同平台之间传递参数,并将参数发送到远程进程。已同步客户端发出请求后,服务器进程正在运行。复杂远程调用的实现环境可能需要作为系统级的操作来创建,但一旦完成,对程序员来说是透明的。2.1继续,41,远程过程调用的特征缺点:需要系统级配置;RPC不支持对象。CORBA适用于IIOPMTS的DCOMJava的sockets应用程序级协议的编码交换EJB? javaremotementhodprotocol(RMI)好处:便于在不同平台之间转换数据。Xdr (externalist),继续2.1,42,RMI环境远程方法激活(RMI):在分布式程序中,远程对象的方法可以由在其他主机上运行的其他Java虚拟机的方法调用。RMI可以实现与过程调用级别的RPC相关的编程级别对象之间的方法调用。本地和远程方法调用,2.1继续,43,RMI体系结构,2.1继续,44,RMI系统的目标。支持存在于不同Java虚拟机的对象中的无缝远程调用。支持服务器召回客户。将分布式对象模型自然集成到Java语言中。分布式对象模型和本地Java对象模型之间的不同表面化。简化可信分布式应用程序的编写。维护Java运行时环境提供的安全性。继续2.1,45,软件开发面临的问题:软件的开发、修改和维护变得更加困难。软件开发往往是超额和超额预算。因为没有代码重用,所以新软件开发从头开始。结构化软件开发方法将整个系统分解为单独的模块,然后逐个实现这些模块的功能的自上而下开发方法。缺点:整个系统只有在开发完成后才能呈现出全貌。如果在编程开始时发现设计缺陷,则将重建整个设计。,2.2面向对象的中间件,继续46,2.2,开发面向对象的软件,以直观的方法分析和配置系统;构造两种开发方法(抽象和建模整个系统)之间的差异的方法:数据和功能是分开的;面向对象的方法:数据和相关功能捆绑在一起。47,2.2继续,开放式分布式处理参考模型(ODP)起源ISO提出OSI-RM以解决异构系统之间的互连和互操作性。为实现应用程序之间的互操作性和互操作性而开发的各种标准,例如,OSF的DCE、OMG的CORBA、UI的ALTAS和DEC的NAS。从1987年开始,在ISO/IEC和ITU的共同努力下,1995年发布了开放部署处理参考模型RM-ODP。RM-ODP不仅是一般标准,还是标准标准。48,对象中间件(object request agent ORB)ORB提供了一种通信机制,该机制可以位于本地或远程系统上,并在对象之间交换客户端/服务器角色。可以将ORB视为独立于编程语言的面向对象的RPC应用程序,并将其视为从面向对象到分布式计算的强大推动力。两个主要标准:OMG CORBA;Microsoft的COM/DCOM。产品:Borland的Visibroker、IBM的ComponentBroker和eastern technology的TongBrokerdeng。2.2继续,49,2.2继续,ODP通信模型相关概念通道(Channel):用于支持分布式对象之间的透明交互。通道由存根、链接器和协议对象三部分组成。存根:解决交互过程中封装和封装信息的问题。绑定:保持计算对象之间的连接;协议对象:处理实际通信。50,2.2继续,终端系统资源相关概念节点(Node):管理中的单个物理机;核:用于管理节点的机制;物件套件:物件的执行环境;物件字串:相同管理和协同合作的物件集合。继续51,2.2,52、消息中间件是传统通信生成的先决条件应用程序发送和接收同时在线;可以通过互联网同时进行通信,发件人和收件人需要知道相互程序调用接口。实际情况:应用程序并不总是同时运行。网络并不总是可用和可靠的。随着所有者域中应用程序的更改,其他域也需要相应的更改,不实用。2.3消息中间件(MOM),53,消息中间件定义消息队列中间件/通信中间件(MOM)根据消息传递或消息队列的原理工作。MOM简化了应用程序之间的数据传输,提供了可靠的跨平台消息传输手段。MOM支持异步通信模式基于消息队列转发机制的同步和异步通信模式。通常,消息队列在分布式计算中广泛采用对等的分布式计算模型,以实现同步和异步交互

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论