中间件-0技术概述.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中间件-0技术概述

中间件技术 鹿旭东 dongxul@sdu.edu.cn发展路线 主要技术介绍 程序设计方法的发展 结构化程序设计 —— 以数据为中心 面向对象程序设计 —— 以对象为中心 组件程序设计 —— 以组件为中心 软件需求的变化 计算 软件环境的变化 单任务 发展路线 分布式技术 分布式就是把整个网络作为一台大型计算机,在不同的地方做不同的工作 分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库系统等 分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果 分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点: 1、稀有资源可以共享, 2、通过分布式计算可以在多台计算机上平衡计算负载, 3、可以把程序放在最适合运行它的计算机上, 其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。 概念:类、对象 概念:组件 COM:组件 中间件 中间件(Middleware)是一种软件,处于系统软件(操作系统和网络软件)与应用软件之间,它能使应用软件之间进行跨网络的协同工作(也就是互操作),这时允许各应用软件之下所涉及的“系统结构、操作系统、通信协议、数据库和其它应用服务”各不相同 中间件是一类软件,而非一种软件; 中间件不仅仅实现互连,还要实现应用之间的互操作; 中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 现代应用系统的基本特征 分布 任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题; 异构 计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题; 动态协作 参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。 问题 分布异构环境中,通常存在: 多种硬件系统平台, 各种各样的系统软件, 多种风格各异的用户界面, 不同的网络协议和网络体系结构连接。 中间件的特性 易用性 位置透明性:应用不必知道对方网络和应用的地址;不经重新编译,就可把一个应用从一台机器上转移到另一台机器 消息传输的完整性:消息不应丢失或重复 消息格式的完整性:消息格式不应被破坏 语言透明性:使用中间件的程序应能与另一个用不同语言编写的程序通信;如果用不同语言重写一个程序,其他程序应不受影响 中间件中要解决的问题 互操作问题(通信) 提供一个基本的环境(基础服务) 互操作问题 Stub,skeleton 注册 C语言中函数函数调用 Java中的调用 Rpc的调用 从一个程序片调用另一个程序片的过程称为远程过程调用,即RPC。 RPC是一个Client/Server模型,调用程序片(本地程序)称为rpc client,被调用程序片(远程程序)称为rpc server。 RPC调用模型 main(…) . . . 调用A . . . 退出 rmi 在分布式程序中,远程对象的方法能被运行在不同主机上的其他java虚拟机的方法调用 类似于rpc 基本概念 远程对象:方法能被不同宿主机上的Java虚拟机调用的对象。 远程接口:一个声明远程对象的方法的接口。 远程服务器:创建远程对象的实例 客户端:使用远程对象 Stub(存根/桩) 存在于客户端 远程对象的本地映象:调用远程对象时,实际调用的是桩对象上的方法 负责 初始化并与远程对象所在的远程VM连接 将参数打包,传递到远程VM 等待方法调用的结果 解包返回值和异常 将值返回给调用者 框架 存在于服务器 接收客户桩的请求 和真正的远程对象进行交互 传送服务器响应到客户 负责 解包客户端输入的远程方法的参数 调用实际的远程对象的方法 将结果打包返回给调用者 传至远程引用层 RMI 系统体系结构 RMI 流程(1) RMI 流程(2) RMI 流程(3) CORBA 客户程序与对象实现之间的界面(interface)是对象的接口定义,对象接口是服务双方共同订立的合约 对象实现可以采用多种方式实现:独立服务程序,一个程序库,被包装的非面向对象应用程序等 对象接口是对象结构与行为的外部可见的规格说明,用IDL描述 对象实现提供对象内部的具体数

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档