第十二章 分布式系统架构

  • 格式:pdf
  • 大小:1.50 MB
  • 文档页数:54

下载文档原格式

  / 54
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程导论
23
因特网银行系统的分布式结构
2012/3/17
软件工程导论
24
不同客户/服务器体系结构的使用
Architecture Two-tier C/S architecture with thin clients Applications Legacy system applications where separating application processing and data management is impractical. Computationally-intensive applications such as compilers with little or no data management. Data-intensive applications (browsing and querying) with little or no application processing. Applications where application processing is provided by off-the-shelf software (e.g. Microsoft Excel) on the client. Applications where computationally-intensive processing of data (e.g. data visualisation) is required. Applications with relatively stable end-user functionality used in an environment with well-established system management. Large scale applications with hundreds or thousands of clients Applications where both the data and the application are volatile. Applications where data from multiple sources are integrated.
Two-tier C/S architecture with fat clients
Three-tier or multi-tier C/S architecture
2012/3/17
软件工程导论
25
分布式对象体系结构
在分布式对象体系结构中不存在客户机和服务器的 界限. 每一个分布式的实体既为其他对象提供服务也从其 他对象处接受服务. 对象间通过对象请求代理的中间件(ORB)进行通信. 分布式对象体系结构比设计C/S系统要复杂.
2012/3/17
软件工程导论
35
CORBA标准
应用对象的对象模型
CORBA 对象模型也将对象看成是对属性和服务的封 装, CORBA 接口使用标准的、语言无关的接口定义 语言IDL。
对象请求代理,负责对象服务请求的管理. 一组通用的对象服务,这些服务是许多分布 式应用普遍需要的. 一组通用的组件,这些组件是建立在基本服 务之上的.
2012/3/17
软件工程导论
42
机构间分布式计算
由于安全以及互操作等原因,许多的分布式 计算系统主要在机构层次上实现. 采用局部的标准,管理和操作流程. 新的分布式计算模型运行设计机构间分布式 计算系统。
2012/3/17
软件工程导论
43
Peer-to-peer 架构
Peer to peer (p2p) 系统是分散式的系统,计算可以 在网络中的任何节点上执行. 整个系统的设计是为了充分利用大量网络计算机的 计算能力和存储能力. 许多p2p系统都用于个人系统,但迹象表明这项技 术越来越多地用于商业环境.
软件工程— 第十二章分布式系统架构
2012/3/17
软件工程导论
1
目标
讨论几种分布式系统架构的优点和缺点 讨论客户/服务器和分布式对象架构 描述ORB(对象请求代理)和CORBA标准的基本原 理 介绍分布式计算中两种新的体系结构:对等体系结 构和面向服务的体系结构.
2012/3/17
软件工程导论
2
2012/3/17
软件工程导论
9
多处理机体系结构
简单的分布式系统模型. 系统由许多不同的进程组成,这些进程可以 在不同的处理器上运行. 在大型实时系统中比较常见. 进程在处理器上的分配可以是预先定义的, 也可以由分配器动态分配.
2012/3/17
软件工程导论
10
多处理器交通管制系统
2012/3/17
21
三层体系结构
在三层体系结构中,应用分层中的每一层 (表示,应用处理,数据管理)都是逻辑上 独立的进程。. 比瘦客户端性能更好,比胖客户端更易管理. 一个伸缩性很好的体系结构,随着请求的增 加,可以引入额外的服务器.
2012/3/17
软件工程导论
22
一个三层的客户/服务器体系结构
2012/3/17
2012/3/17
软件工程导论
44
P2p 架构模型
逻辑网络架构
分散式体系结构 半集中式体系结构
应用架构 集中的网络架构
2012/3/17
软件工程导论
45
分散式p2p 体系结构
2012/3/17
软件工程导论
46
半集中式 p2p 体系结构
2012/3/17
软件工程导论
26
分布式对象体系结构
2012/3/17
软件工程导论
27
分布式对象体系结构的好处
允许系统设计者延迟关于服务在哪里以及如何提供 方面的决策. 是一个非常开放的体系结构,允许新的资源根据需 要增加进来. 系统具有很好的柔性和可伸缩性.通过不同对象或者 复制对象提供相同服务缓解服务负担. 通过对象在网络上的迁移对系统进行动态配置成为 可能,改善系统性能.
在逻辑通信层次上,中间件提供的功能允许两个 位于不同计算机上的对象交换数据和控制信息。 在组件层次上,中间件提供开发兼容组件的基 础。
2012/3/17
软件工程导论
33
CORBA 应用结构
2012/3/17
软件工程导论
34
应用结构
应用对象. 标准对象, 由OMG为专门领域定义的对象。 CORBA 基本服务 提供基本的分布式计算服 务,如目录服务和信息安全管理服务等。 水平CORBA设施 例如用户界面设施,系统 管理设施等。
软件工程导论
38
ORB-based 对象通信
2012/3/17
软件工程导论
39
ORB间的通信
ORBs通常不是独立的应用程序,而是与开发的应 用链接在一起的库中的一系列对象. ORBs 处理在同一台机器上执行的对象间的通信. 可能有多个ORBs,分布式系统中的每一台机器都 有自己的ORBB. ORB间的通信主要用于分布式对象调用.
内容
多处理机体系结构 客户/服务器体系结构 分布式对象体系结构 机构间分布式计算
2012/3/17
软件工程导论
3
分布式系统
现在基本上所有的大型系统都是分布式系统. 分布式系统的信息处理分布在许多计算机上 而不是局限于一台机器. 对于企业计算系统来说,分布式软件工程变 得非常重要.
2012/3/17
分布式系统比集中式系统更复杂;
安全
信息安全管理非常困难;
管理
运行和维护管理系统需要较多的精力;
不可预见
分布式系统的响应是不可预知的,这个响应取决于系 统上的总负荷,它的组织以及网络负荷。
2012/3/17
软件工程导论
7
分布式系统体系结构
客户/服务器体系结构
客户机使用分布式服务。客户机区分对待提供服务的 服务器并使用其提供的相应服务。
37
对象请求代理(ORB)
ORB处理对象通信,它知道系统中的所有对象以及 它们的接口. 使用ORB,调用对象有一个相关联的IDL桩模块, 定义了提供服务的那个对象的接口. 对桩的调用会导致对ORB的调用,随后ORB将通过 公开的IDL框架(连接接口和服务实现)调用提供 服务的对象。
2012/3/17
2012/3/17
软件工程导论
19
胖客户端模型
将更多的处理放在客户端本地处理. 胖客户端模型比瘦客户端模型在分布式处理 上更有效. 比瘦客户端更加复杂,特别是管理方面。应 用程序的新版本需要在所有的客户端上重新 安装.
2012/3/17
软件工程导论
20
客户/服务器ATM系统
2012/3/17
软件工程导论
软件工程导论
13
客户机/服务器网络中的计算机
2012/3/17
软件工程导论
14
应用分层
表示层
考虑的是系统用户计算的结果表示和收集用户输 入。
应用处理层
考虑的是特定应用功能的提供。
数据管理层
考虑的是系统数据库的管理。
2012/3/17
软件工程导论
15
应用分层
2012/3/17
软件工程导论
16
瘦/胖客户端
2012/3/17
软件工程导论
40
ORB间通信
ORB间通信协议(GIOP)
2012/3/17
软件工程导论
41
CORBA 服务
OMG大约定义了15个通用服务 命名和商业服务
允许对象引用和发现网络上的其他对象。
通知服务
允许对象通知其他对象一个事件已经发生。
事务处理服务
支持原子事务处理活动和对失败的回溯。
2012/3/17
软件工程导论
36
CORBA 对象
CORBA 对象也将对象看成是对属性和服务的封装. 必须有独立的接口定义,用接口定义语言来描述, IDL很类似于C++. 有从IDL到编程语言的映射 (C++, Java, etc.). 因此,使用不同语言写的对象能相互通信.
2012/3/17
软件工程导论
31
分布式对象体系结构主要缺点
复杂程度高. 不能反应自然的业务逻辑和过程. 设计通用的服务提供模式比较困难,无大粒 度业务对象设计开发的足够经验.
2012/3/17
软件工程导论
32
CORBA
CORBA是对象请求代理(ORB)的国际 标准-用于管理分布式对象间通信的中间 件. 分布式计算需要2个层次中间件的支持:
分布式对象体系结构
没有客户机与服务器的区分。系统中任何对象将提供 和使用其它的对象所提供的服务。 P2P/SOA
2012/3/17
软件工程导论
8
中间件
管理和支持分布式系统中不同组件的软件。基本 上,它位于系统的中间层次. 中间件通常是采购成熟商业软件而不是应用开发人 员编写. 实例
Transaction processing monitors; Data converters; Communication controllers.
2012/3/17
软件工程导论
29
数据挖掘系统(超市数据)
2012/3/17
软件工程导论
30
案例分析
系统的逻辑模型不是一个服务提供模型,这 与数据管理服务区分。 允许被访问的数据库的数量增加而不会使系 统中断. 允许通过增加新的集成器来对新的数据关系 类型进行挖掘.
2012/3/17
软件工程导论
瘦客户端模型
在瘦客户端模型中,所有应用处理和数据管理都 在服务器上执行。客户机只负责表示部分。
胖客户端模型
在这个模型中,服务器只负责对数据的管理。客 户机上的软件实现应用逻辑和与系统用户的交Fra Baidu bibliotek.
2012/3/17
软件工程导论
17
瘦客户端/胖客户端
2012/3/17
软件工程导论
18
瘦客户端模型
可用于遗留系统向客户/服务器结构迁移. 主要缺点在于它将繁重的处理负荷都放在了 服务器和网络上.
软件工程导论
11
客户/服务器体系结构
应用程序被建模成一组服务,这组服务由服 务器提供,并由客户机来使用. 客户机知道服务的存在,而服务器通常不需 要知道客户机. 客户机和服务器是不同的进程 进程和处理器之间没必要非得1:1映射.
2012/3/17
软件工程导论
12
一个客户/服务器系统
2012/3/17
软件工程导论
4
系统类型
个人系统 嵌入式系统 分布式系统
2012/3/17
软件工程导论
5
分布式系统的特点
资源共享(区别于多用户系统) 开放(不同厂商的软硬件资源) 并发(多计算机,多进程/线程) 可伸缩性(添加资源满足需求) 容错性(硬件/软件)
2012/3/17
软件工程导论
6
分布式系统的问题
复杂
2012/3/17 28
软件工程导论
分布式对象体系结构的使用
可以作为一个逻辑模型来组织和构造系统。在这种 情况下,要考虑如何提供应用功能,把这些功能按 照服务或服务组合的形式给出. 也可作为实现客户/服务器系统的一种柔性方法。系 统的逻辑模型是客户/服务器模型,但客户和服务器 都被当作分布式对象通过公共软件总线相互通信.