《分布对象技术》由会员分享,可在线阅读,更多相关《分布对象技术(57页珍藏版)》请在金锄头文库上搜索。
1、分布对象技术 1 北京大学 北京大学计算机系 代亚非 2 第九章 分布对象技术 布对象技术要解决的基本问题 布对象技术概论 布对象的核心概念 布对象主流技术介绍 布对象处理技术 布对象主流技术开发过程 3 布对象技术要解决的基本问题 以下情况是不是分布式? 1、浏览 2、两个及其之间的通信 3、计算引擎 4 就是支持访问异地对象 同一地址空间 C+编译器完成连接 C+ 布对象技术要解决的问题 布对象技术要解决的基本问题 5 两层客户 /服务器模型 (胖客户 ) 三层客户 /服务器模型 (瘦客户 ) 服务器模型 层的概念 (在客户 /服务器意义上将 ,一个层就代表一个具有定义好的特定功能平台 ,
2、一个平台就是就是一个计算机软件和硬件的组合 . . . 应用程序对象 应用程序对象 应用程序对象 布对象技术要解决的基本问题 分布式系统的客户 /服务器模型 6 布对象技术要解决的基本问题 一个分布式系统的例子 (原始的方法 ) 电话订购 客户 1 电话订购 客户 2 电话订购 客户 n 务器 1 务器 2 中心订购 服务器 务器 m . . 7 布对象技术要解决的基本问题 使用多个服务器分割用户 电话订购 客户 1 务器 1 话订购 客户 2 中心订购 服务器 1 务器 2 电话订购 客户 1 务器 1 电话订购 客户 2 中心订购 服务器 1 务器 2 电话订购 客户 1 务器 1 电话订
3、购 客户 2 中心订购 服务器 1 务器 2 8 布对象技术要解决的基本问题 订购 服务器 1 订购 服务器 2 订购 服务器 n 务器 1 . . 调度程序 考虑负载平衡的问题 9 布对象技术要解决的基本问题 问题案例一 : 如何综合越来越多的数据库资源,以适应不断发展的业务逻辑 客户 何加入综合多个数据库的业务逻辑? 如何集成其它非数据库操作的业务逻辑? 如何处理“肥客户”应用问题? 如何处理用户界面风格多样性 ? 10 布对象技术要解决的基本问题 问题案例二 如何管理不断接入的新应用 管理器 2 . 11 布对象技术要解决的基本问题 汇编语言 单机应用开发环境 分布式应用开发环境 软构件
4、技术 布对象技术 12 布对象技术要解决的基本问题 我们都听到了哪些词汇 ? 构件模型 布对象 有还有 . 3 布对象技术概论 分布计算是近二十年来影响计算机急速发展的最活跃因素之一 经历了两种不同的技术路线 1. 理想的技术路线 (80年代学术界普遍追求的目标 ) 试图在互连的计算机硬件上部署全新的分布式操 作系统 2. 现实的技术路线 (90年代工业界普遍遵守的路线 ) 在网络计算平台上部署分布计算环境 提供开发工具和公共服务 支持分布式应用 资源共享和协同工作 集中式 客户 /服务器 14 布对象技术概论 分布式系统比想象的要复杂 : 1. 异构环境下的应用互操作的问题 2. 系统管理问
5、题 3. 系统安全的问题 4. 传统的面向过程的技术在开发大型软件系统的局限性 面向对象技术用于分布式 (分布对象技术 )标志第二代分布式计算技术进入成熟和蓬勃发展时期 . 分布式对象技术始于 90年代初,已经发展成为当今分布异构环境下建立应用系统集成框架和标准构件的核心技术 15 布对象技术概论 面向的主要问题 信息共享 智能化的协同工作 异构环境下的信 息互操作 体系结构 经典的客户 /服务器模型 面向对象的多层客户服务器模型 自主的多 关键技术的特点 沿用传统的计算概念和设施 (如过程调用和文件设施 ) 将面向对象技术应用到分布计算 面向 成果 能够提供丰富的分布式系统服务 ,良好的分布
6、式系统管理和典型的分布系统应用 已经成为建立集成构架和软构件标准的核心技术 概念验证系统令人鼓舞 ,尚未达到广泛应用与协同工作的成熟程度 第一代 (80年代中 90年代初 ) 第三代 (从现在开始 ) 第二代 (90年代 ) 16 布对象技术概论 分布对象技术的核心概念有那些 ? 1 分布对象的位置对客户透明 2 可以被远程客户应用以方法调用的形式访问 3 分布对象所使用的语言要对客户透明 4. 分布对象运行的系统平台对客户透明 5. 分布对象具有移动性 (允许时间 ,空间 ,语言 ,操作平台的差异性 ) 17 布对象技术概论 一个应用逻辑 对象 对象 对象 对象 一个应用逻辑 对象 对象 对
7、象 对象 B C+ 8 布对象技术概论 分布式系统 , 分布对象与软构件是什么关系 ? 1. 独立于特定程序设计语言和应用系统 ,可重用和自包含的软件成分称为软构件 . 2. 分布对象是一种典型的软构件 3. 分布式系统是分散在两个或更多地方的计算机上为了实现一个共同的目标而共同工作的软件实体集合 . 分布式应用系统中的成员 : 1. 创建和维护分布对象的实体的应用称为服务器 2. 按照接口访问该对象的应用称为客户 3. 服务对象同时可以是其它服务对象的客户 19 布对象技术概论 软构件模型的开发的目的是什么 ? 重用 ,高层开发 ,通过工具进行自动化开发 ,简化开发过程等 . 软构件模型的开
8、发的手段是什么 ? 软构件开发者 : 构件界面的结构 ,与 其它构件及容器相互作用的机制 软构件应用者 : 在可视的开发环境将以存在的构件进行简单的组装。 20 布对象技术概论 软构件模型的例子 ? 21 C+ 网 络 计 算 环 境 对象适配器 布对象技术 什么是对象请求代理 ? 支持客户访问异地分布对象的核心机制称为对象请求代理 一个应用逻辑 对象 对象 对象 对象 一个应用逻辑 对象 对象 对象 对象 22 布对象技术 客户 应用逻辑 分布对象 代理 服务器 对象请求分发器 分布对象的实现 对象请求适配器 对象请求感知器 网络传输访问 务器构造构架 客户构造构架 相同的接口 相同的接口
9、23 布对象技术 客户 客户 客户 2 3 5 1R 3R 5R 拟 图书馆 查询 预约服务 还书 通知 通知 还 /借处理 如何管理客户应用 预约 预约 24 利用这些服务创建一个新的对象而不必知道对象在哪 布对象技术 对象服务 :支持分布式系统正常工作的各类基本的系统级服务 3. 对象事务管理 4. 对象生命周期 应用对象对象服务通用功能对象请求代理 ( O b je c t R eq u e s t B r o k 25 布对象技术 通用功能 :支持分布式系统高效开发和有效工作的各类面向领域的常规服务和工具 数据库服务 电子邮件服务 系统管理服务 面象应用领域的领域构架 应用对象对象服务
10、通用功能对象请求代理 ( O b je c t R eq u e s t B r o k 26 布对象技术 应用对象 :涉及各种应用软件 ,它在对象服务和公共设施帮助下完成相应的应用逻辑 把分布式系统中各类对象和应用连接成相互作用的整体 应用对象对象服务通用功能对象请求代理 ( O b je c t R eq u e s t B r o k 27 布对象主流技术 分布对象技术的实质性进步 : 1. 使面向对象技术能够在异构的网络环境中得以全面 ,彻底 ,方便的实施 2. 有效地控制系统的开发 ,管理 ,维护的复杂性 分布对象的主流技术 1. . . 8 布对象主流技术 致力于使所不在的中间件” 1989年成立 ,当时仅有 8家成员 ,目前有 900家成员 按照这些规范设计的开发的分布式计算软件环境可以在几乎所有的主流硬件平台和操作系统上运行 9 布对象主流技术 动态激活接口I D LS tu b D LS k e le to n k e le to B 内核客户( C li e n t)对象实现( S e r v e r )30 布对象主流技术 译器编译产生的,用于静态调用,有较好的性能和效率。 动态调用接口和动态 得即使在编译时不知道可用的服务器和接口消息,也能完成客户与服务器的作用 作