软件体系结构课件-大连交大-第3章软件体系结构风格.ppt

上传人:hyn****60 文档编号:70679710 上传时间:2023-01-24 格式:PPT 页数:123 大小:2.62MB
返回 下载 相关 举报
软件体系结构课件-大连交大-第3章软件体系结构风格.ppt_第1页
第1页 / 共123页
软件体系结构课件-大连交大-第3章软件体系结构风格.ppt_第2页
第2页 / 共123页
点击查看更多>>
资源描述

《软件体系结构课件-大连交大-第3章软件体系结构风格.ppt》由会员分享,可在线阅读,更多相关《软件体系结构课件-大连交大-第3章软件体系结构风格.ppt(123页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、软件体系结构软件体系结构 -软件体系结构风格软件体系结构风格课课程程内内容容 软件体系结构概论软件体系结构概论 软件体系结构建模软件体系结构建模 软件体系结构风格软件体系结构风格 软件体系结构描述软件体系结构描述 动态软件体系结构动态软件体系结构 WebWeb服务体系结构服务体系结构 基于体系结构的软件开发基于体系结构的软件开发 软件体系结构的分析与测试软件体系结构的分析与测试 软件体系结构评估软件体系结构评估 软件产品线体系结构软件产品线体系结构1/21/第第3章章 软件体系结构风格软件体系结构风格3.1 软件体系结构风格概述软件体系结构风格概述 软件体系结构设计的核心问题:软件体系结构设计

2、的核心问题:能能否否使使用用重重复复的的体体系系结结构构模模式式,即即能能否否达达到到体体系系结结构级的软件重用。构级的软件重用。软件体系结构风格:软件体系结构风格:是描述某一特定应用领域中系统组织方式的是描述某一特定应用领域中系统组织方式的惯用模式惯用模式。体体系系结结构构风风格格反反映映了了领领域域中中众众多多系系统统所所共共有有的的结结构构和和语语义义特特性性,并并指指导导如如何何将将各各个个模模块块和和子子系系统统有有效效地地组组织成一个完整的系统。织成一个完整的系统。1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式模式

3、的构成关键要素模式的构成关键要素:问题出现的背景是什么:问题出现的背景是什么:语境语境在此背景下重复出现什么问题:在此背景下重复出现什么问题:问题问题采用什么方案来解决:采用什么方案来解决:解决方案解决方案如何实现解决方案:如何实现解决方案:实现实现1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式 模式的定义模式的定义Christopher AlexanderChristopher Alexander对城市和建筑模式的描述对城市和建筑模式的描述:“每每一一个个模模式式描描述述了了一一个个在在我我们们周周围围不不断断重重复复发发生

4、生的的问问题题,以以及及该该问问题题解解决决方方案案的的核核心心内内容容。这这样样,你可以一次又一次地使用该方案而不必做重复劳动你可以一次又一次地使用该方案而不必做重复劳动”软件体系结构模式软件体系结构模式:描描述述了了在在特特定定设设计计语语境境中中重重复复再再现现的的设设计计问问题题,并并为为之之提提供供一一个个经经过过充充分分验验证证了了的的通通用用解解决决方方案案。该该方方案案提提供供了了构构件件、构构件件的的责责任任、构构件件之之间间的的关关系系、以以及它们之间的协作方式及它们之间的协作方式。1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格

5、概述 关于模式关于模式 -模式的优势模式的优势促进设计复用促进设计复用带来巨大的代码复用带来巨大的代码复用系统组成更易于被他人理解系统组成更易于被他人理解有利于系统的互操作性有利于系统的互操作性模式的存在,有利于模式的存在,有利于SA的分析的分析有利于特定模式有利于特定模式SA的可视化的可视化使用模式的优势使用模式的优势1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式 -模式分类模式分类低层模式:低层模式:惯用法惯用法(idiom)(idiom)中层模式:中层模式:设计模式设计模式(design pattern)(design

6、pattern)高层模式高层模式:体系结构模式体系结构模式 (architecture pattern)(architecture pattern)根据模式的抽象范围和规模根据模式的抽象范围和规模,将模式分为将模式分为:1/21/第第3章章 软件体系结构风格软件体系结构风格-软件体系结构风格概述软件体系结构风格概述 关于模式关于模式 体系结构体系结构(SA)(SA)模式模式 SASA模式是模式系统中的最高等模式模式是模式系统中的最高等模式 描述了软件系统基本结构的组织方案描述了软件系统基本结构的组织方案 用在粗粒度设计的开始阶段用在粗粒度设计的开始阶段1/21/第第3章章 软件体系结构风格软件

7、体系结构风格-软件体系结构风格概述软件体系结构风格概述 GarlanGarlan和和ShawShaw给出的给出的SASA风格的分类风格的分类数据流风格数据流风格:批处理序列、管道:批处理序列、管道/过滤器过滤器调用调用/返回风格返回风格独立构件风格独立构件风格虚拟机风格虚拟机风格仓库风格仓库风格:主程序:主程序/子程序、面向对象、层次结构等子程序、面向对象、层次结构等:进程通信、事件系统:进程通信、事件系统:解释器、基于规则的系统:解释器、基于规则的系统:数据库系统、超文本系统、黑板系统:数据库系统、超文本系统、黑板系统1/21/第第3章章 软件体系结构风格软件体系结构风格3.2 经典软件体系

8、结构风格经典软件体系结构风格 3.2.1 3.2.1 管道和过滤器管道和过滤器过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道管道管道n 构件:过滤器构件:过滤器n 连接件:数据流传输的管道连接件:数据流传输的管道1/21/3.2 经典软件体系结构风格经典软件体系结构风格-管道和过滤器管道和过滤器过滤器过滤器过滤器过滤器过滤器过滤器管道管道管道管道管道管道管道 过滤器过滤器:独立的实体,不能和其他过滤器共享数据:独立的实体,不能和其他过滤器共享数据对一个过滤器而言,它上游和下游的过滤器是透明的。对一个过滤器而言,它上游和下游的过滤器是透明的。管道管道:提供交互:提供交互负责连接一个过滤

9、器的输出和另外一个过滤器的输入。负责连接一个过滤器的输出和另外一个过滤器的输入。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-管道和过滤器管道和过滤器词法分析词法分析/扫描器扫描器语法分析语法分析/分析器分析器语语 义义 分分 析析中间代码生成中间代码生成Unix shell:Unix shell:cat cat filefile|grepgrep xyzxyz|sortsort|uniquniqoutout 即找到含即找到含xyzxyz的行,排序、取掉相同的行,最后输出的行,排序、取掉相同的行,最后输出 信号处理系统信号处理系统 并行计算并行计算编译器1/21/3.2 经典软件

10、体系结构风格经典软件体系结构风格-管道和过滤器管道和过滤器 优点:优点:良好的隐蔽性,高内聚低耦合良好的隐蔽性,高内聚低耦合系统的总体输入输出是每个过滤器的简单组合,易于理解系统的总体输入输出是每个过滤器的简单组合,易于理解支持软件重用支持软件重用系统维护和增强系统性能简单系统维护和增强系统性能简单系统的一些特性容易分析,如吞吐量、死锁等系统的一些特性容易分析,如吞吐量、死锁等支持并行执行支持并行执行 缺点:缺点:经常退化为批处理系统经常退化为批处理系统不适合处理交互的应用不适合处理交互的应用编写过滤器复杂编写过滤器复杂1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构

11、风格经典软件体系结构风格 3.2.2 3.2.2 数据抽象和面向对象组织数据抽象和面向对象组织数据数据操作操作n构件:对象构件:对象n连接件:过程连接件:过程(方法方法)调用调用1/21/3.2 经典软件体系结构风格经典软件体系结构风格-数据抽象和面向对象组数据抽象和面向对象组织织抽象数据类型抽象数据类型(ADT)(ADT)和和OOOO的区别:的区别:ADTADT只有封装的特点,没有继承和多态的特点只有封装的特点,没有继承和多态的特点要点:要点:封装封装隐藏实现细节隐藏实现细节 继承继承由通用的对象开始,逐步定义具体的对象由通用的对象开始,逐步定义具体的对象 多态多态不同类型的对象对相同的激励

12、产生不同的响应不同类型的对象对相同的激励产生不同的响应1/21/3.2 经典软件体系结构风格经典软件体系结构风格-数据抽象和面向对象组数据抽象和面向对象组织织 优点:优点:隐藏内部实现,容易修改隐藏内部实现,容易修改封装的对象使复杂问题更容易分解封装的对象使复杂问题更容易分解支持软件重用支持软件重用 缺点:缺点:过程调用依赖于对象的标识过程调用依赖于对象的标识继承使设计变得复杂,引入多层对象结构使得维护困难。继承使设计变得复杂,引入多层对象结构使得维护困难。1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.3 3.2.3 基于事件的隐式

13、调用基于事件的隐式调用 对对象象之之间间通通过过方方法法调调用用进进行行交交互互,但但是是调调用用是是隐隐式式的,通过事件机制进行调用触发。的,通过事件机制进行调用触发。p 对象可以广播事件对象可以广播事件p 对象也可以通过事件注册将某个方法和事件进行绑定对象也可以通过事件注册将某个方法和事件进行绑定一旦该事件触发,所有与该事件绑定的方法都将被调用。一旦该事件触发,所有与该事件绑定的方法都将被调用。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用广播媒介agentagentagentagent声明事件声明事件监听事件监听事件n构件:模块(过程或事

14、件的集合)构件:模块(过程或事件的集合)n连接件:对过程的隐式调用连接件:对过程的隐式调用1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用比如,请同学帮忙擦黑板比如,请同学帮忙擦黑板指定某位同学帮忙擦指定某位同学帮忙擦请问谁可以帮忙擦?请问谁可以帮忙擦?1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用n数据库中的一致性约束数据库中的一致性约束n集成开发环境中的编辑器支持的语法检查集成开发环境中的编辑器支持的语法检查n开发工具中调试过程中的变量监视器刷新变量值开发工具中调试过程中的变量监视器刷新变量值

15、nWORD的词正确性检查的词正确性检查n应用:应用:1/21/3.2 经典软件体系结构风格经典软件体系结构风格-基于事件的隐式调用基于事件的隐式调用 优点:优点:问题分解问题分解 将计算和交互分离,使得对象更加独立将计算和交互分离,使得对象更加独立系统演化和重用系统演化和重用 通通过过事事件件注注册册,新新的的组组件件可可以以被被轻轻易易引引入入系系统统,为改进系统带来了方便为改进系统带来了方便 缺点:缺点:构件放弃了对系统计算的控制构件放弃了对系统计算的控制数据交换的问题数据交换的问题 大数据量的数据交互往往没法用事件携带大数据量的数据交互往往没法用事件携带可能会对正确性保证带来问题可能会对

16、正确性保证带来问题 对事件触发的方法调用次序无法控制对事件触发的方法调用次序无法控制1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.4 3.2.4 分层系统分层系统层次系统体现出一种层次结构层次系统体现出一种层次结构n 每一层都向它的上一层提供服务每一层都向它的上一层提供服务n 每一层都使用它的下一层的服务每一层都使用它的下一层的服务下层无需知道上层的存在,每一层对其上层隐藏其实现细节下层无需知道上层的存在,每一层对其上层隐藏其实现细节用户应用用户应用标标 准准 库库操作系统操作系统硬硬 件件1/21/3.2 经典软件体系结构风格经典

17、软件体系结构风格 分层系统分层系统用户系统用户系统基本工具基本工具核心层核心层各种构件各种构件过程调用过程调用n构件:实现虚拟机构件:实现虚拟机n连接件:定义层间交互的协议连接件:定义层间交互的协议1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统n广广泛泛应应用用在在分分层层通通讯讯协协议议中中,诸诸如如OSI/ISOOSI/ISO的的分分层通讯模型层通讯模型n计算机网络协议组,如计算机网络协议组,如TCP/IPTCP/IPnOSOSnX X窗口系统窗口系统n应用:应用:1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-操作系统的

18、分层结构操作系统的分层结构1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-操作系统的分层结构操作系统的分层结构1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-ISO/OSI互联参考模型互联参考模型1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统应用应用-ISO/OSI互联参考模型互联参考模型1/21/3.2 经典软件体系结构风格经典软件体系结构风格 分层系统分层系统 优点:优点:支持基于抽象程度递增的系统设计支持基于抽象程度递增的系统设计 设计者可以吧一个复杂系统按递增的步骤进行分解设计者可

19、以吧一个复杂系统按递增的步骤进行分解支持功能层强支持功能层强 功能的改变只影响相邻的上下层功能的改变只影响相邻的上下层支持重用支持重用 缺点:缺点:并非每个系统都可以进行分层设计并非每个系统都可以进行分层设计很难找到一个合适的、正确的层次抽象方法很难找到一个合适的、正确的层次抽象方法1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.5 3.2.5 仓库系统及知识库仓库系统及知识库 仓仓库库模模式式构构建建的的系系统统中中通通常常有有两两种种截截然然不不同同的的功功能能构件:构件:n 中央数据单元构件,中央数据单元构件,代表系统当前的各种

20、状态代表系统当前的各种状态n 相对独立的构件集合,相对独立的构件集合,这些构件对中央数据库单元进行操作这些构件对中央数据库单元进行操作 中中央央数数据据单单元元与与外外部部构构件件集集合合之之间间的的信信息息交交互互成成为为基基于于仓仓库库模模式式的的一一个个重重要要问问题题,系系统统承承担担功功能能不不同同,这这两个构件之间的交互方式也有很大差异。两个构件之间的交互方式也有很大差异。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库 信信息息交交互互方方式式的的差差异异导导致致了了控控制制策策略略的的不不同同。主主要要的的控制策略有两种,由此基于仓库

21、模式的系统被分为两类:控制策略有两种,由此基于仓库模式的系统被分为两类:系系统统由由输输入入数数据据流流中中的的事事务务信信息息来来驱驱动动,即即输输入入数据流中的事务指令可以触发系统响应的进程执行。数据流中的事务指令可以触发系统响应的进程执行。n 传统型数据库传统型数据库 系统由中央数据结构的当前状态决定进行何种处理。系统由中央数据结构的当前状态决定进行何种处理。n 黑板系统黑板系统1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库黑板黑板(共享数据)(共享数据)知识源知识源存储器存储器计算计算直接存取直接存取知识源知识源知识源知识源知识源知识源知识

22、源知识源知识源知识源知识源知识源知识源知识源控控制制器器知识源知识源黑板黑板(共享数据)(共享数据)控控制制器器黑板风格的体系结构:黑板风格的体系结构:1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库n信号处理与模式识别领域信号处理与模式识别领域n用于具有松散用于具有松散-偶合实体对共享数据的存取偶合实体对共享数据的存取nFtpFtp服务器服务器n应用:应用:1/21/3.2 经典软件体系结构风格经典软件体系结构风格-仓库系统及知识库仓库系统及知识库 优点:优点:便于多个用户共享大量的数据便于多个用户共享大量的数据便于添加新的知识源应用程序便于添加新

23、的知识源应用程序 缺点:缺点:对黑板数据结构的修改比较困难对黑板数据结构的修改比较困难 要考虑不同的知识源对共享数据结构达成一致要考虑不同的知识源对共享数据结构达成一致系统复杂系统复杂 因为需要一定的同步因为需要一定的同步/加锁机制保证数据结构的完整性和一致性加锁机制保证数据结构的完整性和一致性1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 3.2.6 C23.2.6 C2风格风格 通通过过连连接接件件绑绑定定在在一一起起的的按按照照一一组组规规则则运运作作的的并并行行构构件件网络网络。构件构件构件连接件连接件连接件连接件连接件连接件构件连接

24、件连接件构件连接件连接件连接件连接件构件构件1/21/3.2 经典软件体系结构风格经典软件体系结构风格-C2风格风格C2C2风格中的系统组织规则如下:风格中的系统组织规则如下:n 系统中的构件和连接件都有一个系统中的构件和连接件都有一个顶部顶部和一个和一个底部底部;n 构构件件的的顶顶部部应应连连接接到到某某连连接接件件的的底底部部,构构件件的的底底部部则则应应连连接接到到某某连连接接件件的的顶顶部部,而而构构件件与与构构件件之之间间的的直直接接连连接接是是不允许的;不允许的;n 一个连接件可以和任意数目的其它构件和连接件连接;一个连接件可以和任意数目的其它构件和连接件连接;n 当当两两个个连

25、连接接件件进进行行直直接接连连接接时时,必必须须由由其其中中一一个个的的底底部部到另一个的顶部。到另一个的顶部。1/21/3.2 经典软件体系结构风格经典软件体系结构风格-C2风格风格通讯规则:通讯规则:所有构件之间的通讯必须通过消息来实现,也是所有构件之间的通讯必须通过消息来实现,也是构件间唯一的通讯途径。构件间唯一的通讯途径。构件构件构件构件构件构件连接件连接件请请 求求 通通 知知服务调用规则:服务调用规则:每每个个构构件件只只能能感感知知层层次次高高于于自自己己的的构构件件提提供供的的服服务务,而而不不能能感感知知层次低于自己的构件的服务。层次低于自己的构件的服务。即请求消息只能向上层

26、传送,而通知消息只能向下层传送即请求消息只能向上层传送,而通知消息只能向下层传送1/21/3.2 经典软件体系结构风格经典软件体系结构风格-C2风格风格应用:应用:基于构件和消息的体系结构的应用基于构件和消息的体系结构的应用对话与对话与约束约束内部对象内部对象WrapperWrapper域转换器域转换器请请求求通通知知C2C2构件的内部结构构件的内部结构特点:特点:在在C2C2构件的内部,通讯和处理是分开完成的构件的内部,通讯和处理是分开完成的1/21/3.2 经典软件体系结构风格经典软件体系结构风格-C2风格风格C2C2风格的特点:风格的特点:系系统统中中的的构构件件可可实实现现应应用用需需

27、求求,并并能能将将任任意意复复杂杂度度的的功能封装在一起;功能封装在一起;所所有有构构件件之之间间的的通通讯讯是是通通过过以以连连接接件件为为中中介介的的异异步步消消息交换机制来实现的;息交换机制来实现的;构构件件相相对对独独立立,构构件件之之间间依依赖赖性性较较少少。系系统统中中不不存存在在某某些些构构件件将将在在同同一一地地址址空空间间内内执执行行,或或某某些些构构件件共共享享特定控制线程之类的相关性假设。特定控制线程之类的相关性假设。1/21/第第3章章 软件体系结构风格软件体系结构风格 -经典软件体系结构风格经典软件体系结构风格 管道和过滤器管道和过滤器 数据抽象和面向对象组织数据抽象

28、和面向对象组织 基于事件的隐式调用基于事件的隐式调用 分层系统分层系统 仓库系统及知识库仓库系统及知识库 C2风格风格课堂作业:课堂作业:请简要描述各风格中构件间交互的方式及特点?(请勿抄书)请简要描述各风格中构件间交互的方式及特点?(请勿抄书)1/21/第第3章章 软件体系结构风格软件体系结构风格3.3 客户客户/服务器风格服务器风格 产生背景产生背景 在在集集中中式式计计算算技技术术时时代代广广泛泛使使用用的的是是大大型型机机/小小型型机机计计算算模模型型。它它是是通通过过一一台台物物理理上上与与宿宿主主机机相相连连接接的的非非智智能能终端来实现宿主机上的应用程序。终端来实现宿主机上的应用

29、程序。2020世世纪纪8080年年代代以以后后,集集中中式式结结构构逐逐渐渐被被以以PCPC机机为为主主的的微微机机网网络络所所取取代代。个个人人计计算算机机和和工工作作站站的的采采用用,永永远远改改变变了协作计算模型,从而导致了分散的个人计算模型的产生。了协作计算模型,从而导致了分散的个人计算模型的产生。1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户/服务器风格服务器风格 基本概念基本概念 C/SC/S软软件件体体系系结结构构是是基基于于资资源源不不对对等等,且且为为实实现现共共享享而而提提出出来来的的,是是2020世世纪纪9090年年代代成成熟熟起起来来的的技技术术,C/

30、SC/S体体系系结结构构定定义义了了工工作作站站如如何何与与服服务务器器相相连连,以以实实现现数数据据和和应应用用分布到多个处理机上。分布到多个处理机上。C/SC/S体系结构有三个主要组成部分:体系结构有三个主要组成部分:数据库服务器数据库服务器客户应用程序客户应用程序网络网络 客客户户/服服务务器器(client/serverclient/server,C/SC/S)计计算算机机技技术术在在信息产业中占有重要的地位。信息产业中占有重要的地位。1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户/服务器风格服务器风格 体系结构体系结构用户用户1 1用户用户2 2用户用户3 3用户用

31、户4 4用户用户5 5Print ServerLink/RxLPT1LPT2COMPower/TXPWROKWIC0ACT/CH0ACT/CH1WIC0ACT/CH0ACT/CH1ETHACTCOL其他公用设备其他公用设备打印机打印机调制解调器调制解调器InternetInternetIntranetIntranet数据库服务器数据库服务器1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户/服务器风格服务器风格 任务分配任务分配服务器(服务器构件):服务器(服务器构件):(1 1)数据库安全性的要求;)数据库安全性的要求;(2 2)数据库访问并发性的控制;)数据库访问并发性的控制

32、;(3 3)数据库前端的客户应用程序的全局数据完整性规则;)数据库前端的客户应用程序的全局数据完整性规则;(4 4)数据库的备份与恢复。)数据库的备份与恢复。1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户/服务器风格服务器风格 任务分配任务分配 客户应用程序(客户构件):客户应用程序(客户构件):(1 1)提供用户与数据库交互的界面;)提供用户与数据库交互的界面;(2 2)向数据库服务器提交用户请求并接收来自数据库服)向数据库服务器提交用户请求并接收来自数据库服 务器的信息;务器的信息;(3 3)利用客户应用程序对存在于客户端的数据执行应用)利用客户应用程序对存在于客户端的数

33、据执行应用 逻辑要求。逻辑要求。网络(连接件):网络(连接件):完成数据库服务器和客户应用程序之间的数据传输,完成数据库服务器和客户应用程序之间的数据传输,即它是某种进程间的通信机制即它是某种进程间的通信机制1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户/服务器风格服务器风格 工作原理工作原理网络网络服务请求服务请求结果结果服务器(服务器(ServerServer)数据库数据库DBMS客户端(客户端(ClientClient)应用程序应用程序1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户/服务器风格服务器风格 处理流程处理流程输入数据输入数据输出数据输出数据

34、请求按钮请求按钮表示层表示层业务处理开始业务处理开始SQL SQL 请求结束请求结束SQL SQL 请求开始请求开始业务处理结束业务处理结束数据存取请求数据存取请求业务处理程序业务处理程序业务处理请求和业务处业务处理请求和业务处理所需的全部输入数据理所需的全部输入数据全部处理结束全部处理结束DBMS DBMS 执行执行SQLSQL数据层数据层业务处理开始业务处理开始数据存取请求数据存取请求业务处理结束业务处理结束数据存取程序数据存取程序数据登录数据登录/更新更新/读取的读取的请求请求数据登录数据登录/更新更新/读取的读取的结果结果1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户

35、/服务器风格服务器风格 优点优点C/S C/S 体体系系结结构构具具有有强强大大的的数数据据操操作作和和事事务务处处理理能能力力,模型思想简单,易于人们理解和接受。模型思想简单,易于人们理解和接受。对对于于硬硬件件和和软软件件的的变变化化显显示示出出极极大大的的适适应应性性和和灵灵活活性性,易于对系统进行扩充和缩小。易于对系统进行扩充和缩小。将将大大的的应应用用处处理理任任务务分分布布到到许许多多通通过过网网络络连连接接的的低低成成本计算机上,以节约大量费用。本计算机上,以节约大量费用。1/21/第第3章章 软件体系结构风格软件体系结构风格-客户客户/服务器风格服务器风格 缺点缺点开发成本较高

36、开发成本较高客户端程序设计复杂客户端程序设计复杂信息内容和形式单一信息内容和形式单一用户界面风格不一,使用繁杂,不利于推广使用用户界面风格不一,使用繁杂,不利于推广使用软件移植困难软件移植困难软件维护和升级困难软件维护和升级困难新技术不能轻易应用新技术不能轻易应用1/21/第第3章章 软件体系结构风格软件体系结构风格3.4 三层三层C/S结构风格结构风格 产生背景产生背景传统的传统的C/SC/S结构存在以下几个局限:结构存在以下几个局限:二二层层C/SC/S结结构构是是单单一一服服务务器器且且以以局局域域网网为为中中心心的的,所以难以扩展至大型企业广域网或所以难以扩展至大型企业广域网或Inte

37、rnetInternet软、硬件的组合及集成能力有限软、硬件的组合及集成能力有限客户机的负荷太重,难以管理大量的客户机客户机的负荷太重,难以管理大量的客户机数据安全性不好数据安全性不好1/21/第第3章章 软件体系结构风格软件体系结构风格 三层三层C/S结构风格结构风格 3.4.1 3.4.1 三层三层C/SC/S结构的概念结构的概念用户用户1 1用户用户2 2.用户用户n nInternetInternetIntranetIntranet数据库服务器数据库服务器1 1数据库服务器数据库服务器2 2应用服务器应用服务器.体系结构体系结构1/21/3.4 三层三层C/S结构风格结构风格-三层三层

38、C/S结构的概念结构的概念 体系结构体系结构Data management nodeData management node (数据库管理结点数据库管理结点)SecuritySecurity(安全)(安全)EventEvent(事件)(事件)SearchSearch(搜索)(搜索)客户端客户端A A客户端客户端B B客户端客户端C C客户端客户端D DBusiness logic node(Business logic node(业务逻辑结点业务逻辑结点)服服务务器器客客户户机机1/21/3.4 三层三层C/S结构风格结构风格-三层三层C/S结构的概念结构的概念 处理流程处理流程输入数据输入数

39、据输出数据输出数据请求按钮请求按钮表示层表示层业务处理开始业务处理开始SQL SQL 请求结束请求结束SQL SQL 请求开始请求开始业务处理结束业务处理结束数据存取请求数据存取请求业务处理程序业务处理程序业务处理请求和业务处理请求和业务处理所需的业务处理所需的全部输入数据全部输入数据全部处理结束全部处理结束DBMS DBMS 执行执行SQLSQL数据层数据层业务处理开始业务处理开始数据存取请求数据存取请求业务处理结束业务处理结束数据存取程序数据存取程序数据登录数据登录/更新更新/读取的请求读取的请求数据登录数据登录/更新更新/读取的结果读取的结果功能层功能层1/21/3.4 三层三层C/S结

40、构风格结构风格-三层三层C/S结构的概念结构的概念 物理结构物理结构数据层数据层表示层表示层功能层功能层服务器服务器2 2客户机客户机服务器服务器1 1数据层数据层数据层数据层功能层功能层表示层表示层表示层表示层功能层功能层(1 1)将数据层)将数据层和功能层放在同和功能层放在同一台服务器上一台服务器上(2 2)将数据层)将数据层和功能层放在不和功能层放在不同的服务器上同的服务器上(3 3)将功能)将功能层放在客户机层放在客户机上上1/21/3.4 三层三层C/S结构风格结构风格-三层三层C/S结构的概念结构的概念 中间件中间件 是是一一个个用用APIAPI定定义义的的软软件件层层,是是具具有

41、有强强大大通通信信能能力力和和良好可扩展性的分布式软件管理框架良好可扩展性的分布式软件管理框架功能功能:在在客客户户机机和和服服务务器器或或者者服服务务器器和和服服务务器器之之间间传传送送数数据据,实现客户机群和服务机群之间的通信实现客户机群和服务机群之间的通信工作流程工作流程:在在客客户户机机里里的的应应用用程程序序需需要要驻驻留留网网络络上上某某个个服服务务器器的的数数据据或或服服务务时时,搜搜索索此此数数据据的的C/SC/S应应用用程程序序需需访访问问中中间间件件系系统统。该该系系统统将将查查找找数数据据源源或或服服务务,并并在在发发送送应应用用程程序序请请求后重新打包响应,将其传送回应

42、用程序。求后重新打包响应,将其传送回应用程序。1/21/第第3章章 软件体系结构风格软件体系结构风格-三层三层C/S结构风格结构风格 3.4.2 3.4.2 三层三层C/SC/S结构应用实例结构应用实例请大家自学请大家自学:P60:P601/21/第第3章章 软件体系结构风格软件体系结构风格-三层三层C/S结构风格结构风格 3.4.3 3.4.3 三层三层C/SC/S结构的优点结构的优点允允许许合合理理地地划划分分三三层层结结构构的的功功能能,使使之之在在逻逻辑辑上上保保持持相相对独立性,能提高系统和软件的可维护性和可扩展性。对独立性,能提高系统和软件的可维护性和可扩展性。允许更灵活有效地选用

43、相应的平台和硬件系统。允许更灵活有效地选用相应的平台和硬件系统。应应用用的的各各层层可可以以并并行行开开发发,可可以以选选择择各各自自最最适适合合的的开开发发语言。语言。利利用用功功能能层层有有效效地地隔隔离离开开表表示示层层与与数数据据层层,未未授授权权的的用用户户难难以以绕绕过过功功能能层层而而利利用用数数据据库库工工具具或或黑黑客客手手段段去去非非法法地访问数据层,为严格的安全管理奠定了坚实的基础。地访问数据层,为严格的安全管理奠定了坚实的基础。1/21/3.4 三层三层C/S结构风格结构风格-三层三层C/S结构的优点结构的优点 注意的问题注意的问题 C/SC/S模模式式的的层层次次越越

44、多多,就就会会因因为为中中间间层层带带来来额额外外通通信信花花费费而而使使得得系系统统的的运运行行效效率率越越低低。因因此此,设设计计时时必必须须慎慎重考虑三层间的通信方法、通信频度及数据量。重考虑三层间的通信方法、通信频度及数据量。由由于于客客户户端端的的相相对对独独立立性性,它它随随着着软软件件的的升升级级对对硬硬件件的的要要求求会会不不断断提提高高,这这也也使使得得系系统统的的开开发发成成本本相相对对较较高。高。1/21/第第3章章 软件体系结构风格软件体系结构风格3.5 浏览器浏览器/服务器风格服务器风格 浏浏览览器器/服服务务器器(Browser/Server,Browser/Ser

45、ver,B/SB/S)风风格格就就是是上上述述三三层层应应用用结结构构的的一一种种实实现现方方式式,其其具具体体结结构构为为:浏浏览器览器/Web/Web服务器服务器/数据库服务器。数据库服务器。B/SB/S体体系系结结构构主主要要是是利利用用不不断断成成熟熟的的WWWWWW浏浏览览器器技技术术,结结合合浏浏览览器器的的多多种种脚脚本本语语言言,用用通通用用浏浏览览器器就就实实现现了了原原来来需需要要复复杂杂的的专专用用软软件件才才能能实实现现的的强强大大功功能能,并并节节约约了了开开发发成成本本。从从某某种种程程度度上上来来说说,B/SB/S结结构构是是一一种种全全新新的的软软件体系结构。件

46、体系结构。1/21/第第3章章 软件体系结构风格软件体系结构风格-浏览器浏览器/服务器风服务器风格格 体系结构体系结构数数据据库库服服务务器器数据库数据库客户端客户端浏览器浏览器客户端客户端浏览器浏览器WebWeb服务器服务器1/21/第第3章章 软件体系结构风格软件体系结构风格-浏览器浏览器/服务器风服务器风格格 工作原理工作原理数据访问引擎数据访问引擎网络网络请求服务请求服务数据请求数据请求结果集结果集最终结果最终结果数数据据库库服服务务器器(DB ServerDB Server)浏览器(浏览器(BrowserBrowser)Web Web 服务器服务器(Web Server(Web Se

47、rver)1/21/第第3章章 软件体系结构风格软件体系结构风格-浏览器浏览器/服务器风服务器风格格 优点优点基基于于B/SB/S体体系系结结构构的的软软件件,系系统统安安装装、修修改改和和维维护护全全在在服服务务器器端端解解决决。用用户户在在使使用用系系统统时时,仅仅仅仅需需要要一一个个浏浏览览器器就就可可运运行行全全部部的的模模块块,真真正正达达到到了了“零零客客户户端端”的功能,很容易在运行时自动升级。的功能,很容易在运行时自动升级。B/SB/S体体系系结结构构还还提提供供了了异异种种机机、异异种种网网、异异种种应应用用服服务务的联机、联网、统一服务的最现实的开放性基础。的联机、联网、统

48、一服务的最现实的开放性基础。1/21/第第3章章 软件体系结构风格软件体系结构风格-浏览器浏览器/服务器风服务器风格格 缺点缺点B/SB/S体体系系结结构构缺缺乏乏对对动动态态页页面面的的支支持持能能力力,没没有有集集成成有有效的数据库处理功能。效的数据库处理功能。B/SB/S体系结构的系统扩展能力差,安全性难以控制。体系结构的系统扩展能力差,安全性难以控制。采采用用B/SB/S体体系系结结构构的的应应用用系系统统,在在数数据据查查询询等等响响应应速速度度上,要远远地低于上,要远远地低于C/SC/S体系结构。体系结构。B/SB/S体体系系结结构构的的数数据据提提交交一一般般以以页页面面为为单单

49、位位,数数据据的的动动态交互性不强,不利于在线事务处理态交互性不强,不利于在线事务处理(OLTP)(OLTP)应用。应用。1/21/第第3章章 软件体系结构风格软件体系结构风格-浏览器浏览器/服务器风服务器风格格 课堂作业课堂作业 根据自己的理解简述根据自己的理解简述C/SC/S结构和结构和B/SB/S结构各自结构各自的特点。(请勿抄书)的特点。(请勿抄书)1/21/第第3章章 软件体系结构风格软件体系结构风格-浏览器浏览器/服务器风服务器风格格 总结总结 B/S B/S 是是Browser/ServerBrowser/Server指浏览器和服务器,在客户指浏览器和服务器,在客户机端不用装专门

50、的软件,只要一个浏览器即可(瘦客户机端不用装专门的软件,只要一个浏览器即可(瘦客户端)端)C/S C/S 是是Client/ServerClient/Server指客户机和服务器,在客户机指客户机和服务器,在客户机端必须装客户端软件及相应环境后,才能访问服务器端必须装客户端软件及相应环境后,才能访问服务器(胖客户端)(两层?三层?)(胖客户端)(两层?三层?)1/21/第第3章章 软件体系结构风格软件体系结构风格-浏览器浏览器/服务器风服务器风格格 总结总结C/SC/S的优点:的优点:能充分发挥客户端能充分发挥客户端PCPC的处理能力的处理能力,很多工作可以在客户端,很多工作可以在客户端处理后

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com