《Ch面向对象的软件体系结构》由会员分享,可在线阅读,更多相关《Ch面向对象的软件体系结构(39页珍藏版)》请在金锄头文库上搜索。
1、软件工程原理、方法和工具 Ch.15面向对象的软件体系结构第 15章 面向对象的软件体系结构 15.1软件体系结构概述15.2流程处理与客户机/服务器体系结 构15.3三层和多层体系结构15.4公共对象请求代理体系结构15.5基于层次消息总线的体系结构风格15.6 异构结构风格15.1 软件体系结构概述一、什么是体系结构一、什么是体系结构从一般意义上说,体系结构包括两个层面:硬件体系结构(Hardware Architecture )软件体系结构(Software Architecture )硬件体系结构指系统的硬件组织模式;而软件体 系结构则描述软件的组织模式。这里我们主要关注软 件体系结构
2、的问题。体系结构反映了系统的总体结构,是从全局上描 述系统。二、什么是软件体系结构? 软件体系结构是在软件系统的整体结构层次上,关注系统的构建和组成,主要研究软件系统是如 何构建的,由哪些子系统或组件构成,以及这些子 系统或组件之间的关系是什么等。三、什么是面向对象的体系结构? 面向对象的体系结构与传统的体系结构不同,它 强调的是分布式对象的分配、部件及其界面、面向 对象的通信方法。15.2 流程处理与客户机/服务器体系结构15.2.1 流程处理15.2.2 客户机/服务器体系结构15.2.1 流程处理词法分析语法分析语义分析中间代码生成代码优化目标代码生成图15.1 典型编译器系统的处 理过
3、程15.2.1 流程处理用户界面/控制器词法分析语法分析语义分析中间代码生成代码优化目标代码生成系统服务图15.2 典型编译器系统的体系结构 图系统的主要特色是:处理部件之间是单向连 接的,可能安装在不同的计算机上。常用于数据与图像处理、计算机模拟、数值 解题等。优点:系统由各处理部件简单组合,易于扩充处理 ,部件易于复用。适合于在大规模并行计算机 中(massively parallel computer)运行,解决 复杂的工程技术问题。 限制:主要以批处理方式执行,不适合交互方式。 不易管理大量的不同格式的输入、输出数据。15.2.2 客户机/服务器体系结构客户机/服务器体系结构中,应用被
4、分成两部分:1.客户机(前台)负责完成与用户交互的任务 2.服务器则处理低层功能 Internet/Intranet服务器Client 1用户界面应用逻辑打印机Client 2用户界面应用逻辑图15.3 客户机/服务器体系结构图优点:1. 客户机与服务器分离,两者开发可同时进行。2. 一个服务器可服务于多个客户机。限制:1. 客户机与服务器的通信依赖于网络,可能出现网 络阻塞的瓶颈(bottleneck)现象。2. 服务器及界面的改变将引起客户机的相应改变。如何解决客户服务器系统的限制?如何解决客户服务器系统的限制?. 针对网络瓶颈问题,尽量减少客户机作远程调 用,如把一组运算组合起来,在一个
5、远程调用中处理 。 为了解决服务器的变动引起客户机的改变,采 用“轻型(瘦)客户机” (thin cilent)。如Web浏览器/ 服务器模式,简称B/S (Browser/Server)模式。 它无须在不同的客户机上安装不同的客户应用程 序,而只需安装通用的浏览器软件。 简化了系统的开发和维护。系统的开发者无须再 为不同级别的用户设计开发不同的客户应用程序了, 只需把所有的功能都实现在Web服务器上,并就不同的 功能为各个组别的用户设置权限就可以了。 15.3 三层和多层体系结构15.3.1 三层体系结构 15.3.3 多层体系结构 15.3.4 团聚(Clustering)与串行(Seri
6、alizing) 15.3.2 浏览器/服务器体系结构风格(B/S)15.3.1 三层体系结构三层C/S体系结构将应用功能分成表示层、 功能层和数据层三个部分 表示层功能层数据层数据库服务器应用服务器Client 1Client 2Client n图7.4 三层客户机/服务器体系结构图Internet/I第一级是数据库管理结点(database management node)。第二级或中间级是“商业逻辑结点” (business logic node),是指具体应用中实施的 程序逻辑和法则。第三级是用户界面级,强调高效、方便易用的用 户界面。 可由三级系统的概念推广到多级系统(multi-t
7、ier system),即由多个C/S对组成。15.3.2 浏览器/服务器体系结构风格(B/S )要实现一个完整的Browser/Server应用系统,需要 由Brower, Web Server, DB Server三个部分组成。B/S模式第一层客户机的主体是浏览器,第二层Web 服务器是实现B/S结构的关键,第三层数据库服务器 的任务类似于C/S模式,负责协调不同的Web服务器 发出的请求,管理数据库。 15.3.2 浏览器/服务器体系结构风格(B/S)数据库服务器Web服务器InternetBrowser 1Browser n图15.5 浏览器/服务器体系结构图15.3.3 多层体系结构
8、多层体系结构由一系列的客户机/服务器对组成。可由三级系统的概念推广到多级系统(multi- tier system),即由多个C/S对组成。15.3.3 多层体系结构数据库服务器Web服务器Internet客户端瘦客户端应用服务器图15.6四层客户机/服务器体系结构图限制:. 各对客户机与服务器之间有多种不同的通信协议 ,要求熟悉不同协议的专业人员。 . 数据行经的多级结点,分布在不同的计算机系统 中,因此系统的整体运作困难。优点:. 系统功能分布在多级或服务器上,系统易于维护和 扩充。. 进行分级控制,可对不同级的客户机提供不同水平 的服务。. 可方便地将中间级与企业的其他系统连接起来。.
9、多级系统可以对同时使用系统的客户机提供服务。多级系统的特点多级系统的特点在多层C/S体系结构中,服务器提供的服务要 以供多个客户机使用,客户机的数量可以根据 需要进行扩展。当客户机数量增大引起对服务 器性能的更高要求时,可以用一组服务器结点 来联合提供服务。各服务器之间的连接方法有 2种:团聚法(Clustering)与串行法( Serializing)15.3.4 团聚(Clustering)与串行( Serializing)数据库服务器Web服务器Internet/Intranet客户端瘦客户端图15.7使用团聚法的四层客户机/服务器体 系结构图应用服务器应用服务器应用服务器15.3.4
10、团聚(Clustering)与串行 (Serializing)数据库服务器Web服务器Internet/Intranet客户端瘦客户端图15.8团聚法和串行法配合使用的四层客户机/ 服务器体系结构示例图身份验证 应用服务器应用服务器应用服务器分配器15.4 公共对象请求代理体系结构CORBA 系统体系结构主要包括对象请求代理 ORB、接口定义语言IDL、接口仓库 IR、对象 适配器OA、动态调用接口 DII、实现仓库PR 、上下文对象(Context)、客户桩(Stub) 、 服务器框架(Skeleton)、客户端应用程 序和服务器端应用程序等组成部分。 15.4 公共对象请求代理体系结构客户
11、桩ORB客户端动态调用API上下文对象接口仓库ORB APIORB服务器端上下文对象对象工具对象服务OA API对象适配器服务器应用程序服务器框架方法服务器端客户端实现仓库OMG IDL源文件OMG IDLIDL编译器图15.9 CORBA系统体系结构图15.4 公共对象请求代理体系结构客户程序对象实现IDL 桩动态 调用 接口ORB接 口IDL 静态 框架动态 框架 接口对象 适配 器ORB核心图15.10 对象请求代理ORB与CORBA的主要组件之间的关系15.5 基于层次消息总线的体系结构风格HMB风格基于层次消息总线、支持组件的分布和并 发,组件之间通过消息总线进行通信,HMB体系结
12、构风格的系统示意图参见图15.11所示。 消息总线(连接件)组件组件组件组件复合组件图15.11 HMB风格的体系结构示意图15.3.2 浏览器/服务器体系结构风格(B/S )要实现一个完整的Browser/Server应用系统,需要 由Brower, Web Server, DB Server三个部分组成。B/S模式第一层客户机的主体是浏览器,第二层Web 服务器是实现B/S结构的关键,第三层数据库服务器 的任务类似于C/S模式,负责协调不同的Web服务器 发出的请求,管理数据库。 15.3.2 浏览器/服务器体系结构风格(B/S)数据库服务器Web服务器InternetBrowser 1B
13、rowser n图15.5 浏览器/服务器体系结构图15.6 异构结构风格 根据子系统的功能选择相应的体系结 构,为数据处理类子系统可以选择C/S结 构,为查询类子系统可以选择B/S结构。 C/S和B/S两种体系结构模式的结合方 式主要有两种:“内外有别”模型和“ 查改有别”模型。 15.6 异构结构风格数据库服务器Web服务器InternetInternet客户 外部网络 B/S模式图15.12 内、外有别模型的C/S和B/S混合 模式体系结构图数据库驱动接口C/S前端应用程序内部网络 C/S模式内外有别模型的特点优点: “内外有别”模型是企业外部用户不直接访问数据库服务器 , 能够提供企业
14、数据的部分安全;而企业内部用户的交互操作 较多,采用C/S体系结构使得数据查询和修改操作的响应 速度很快。 缺点:企业外部用户修改和维护数据时,由于采用B/S结构 需要经过Web服务器这个中间环节,速度较慢,数据的动 态交互性不强。15.6 异构结构风格数据库服务器Web服务器Internet查询和浏览外部网络图15.13 查、改有别模型结构图内部网络Internet维护和修改维护和修改查询浏览查改有别模型的特点“查改有别”模型体现了C/S体系结构和B/S体系结构的优点 ,但由于外部用户能够直接通过Internet连接到数据库 服务器,企业数据容易暴露给外部用户,给数据安全造 成了一定的威胁。习题15.1 什么是软件体系结构,为什么要研究软件体系结构? 15.2 流程处理系统的特点是什么,主要用于哪些软件系统 的开发? 15.3 客户机/服务器体系结构、三层的客户机/服务器体系 结构、浏览器/服务器体系结构以及多层体系结构的共性 及不同分别是什么,各自适宜于哪种软件系统的开发? 15.4 公共对象请求代理CORBA体系结构中ORB的作用是什么 ? 15.5 基于层次消息总线的体系结构风格适