《软件体系结构Chap03风格(上).ppt》由会员分享,可在线阅读,更多相关《软件体系结构Chap03风格(上).ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课课 程程 内内 容容第第1章章 绪论绪论第第2章章 软件体系结构概论软件体系结构概论第第3章软件体系结构风格章软件体系结构风格第第4章软件体系结构建模章软件体系结构建模第第5章章 软件体系结构描述软件体系结构描述第第6章章 基于体系结构的软件开发基于体系结构的软件开发第第7章章 流行的软件体系结构流行的软件体系结构第第8章章 案例分析案例分析1第三章 软件体系结构风格 3.1 概述 3.2 经典软件体系结构风格 3.3 公共对象请求代理体系结构 3.4 正交体系结构 3.5 基于层次消息总线的体系结构风格 3.6 异构结构风格 3.7 互联系统构成的系统及其体系结构 3.8 面向体系结构的架
2、构(SOA)23.1 概述 软件体系结构风格软件体系结构风格(Style):描述特定系统组织方式的惯用范:描述特定系统组织方式的惯用范例,强调组织模式和惯用范例。组织模式即静态表述的样例,强调组织模式和惯用范例。组织模式即静态表述的样例,惯用范例则是反映群众多系统共有的结构和语义。例,惯用范例则是反映群众多系统共有的结构和语义。软件体系结构设计的核心问题:能否达到体系结构级的软件重软件体系结构设计的核心问题:能否达到体系结构级的软件重用;用;对软件体系结构风格的研究和实践促进了对设计的复用,一些对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的
3、问题。经过实践证实的解决方案也可以可靠地用于解决新的问题。PS:体系结构模式 体系结构惯用描述和体系结构风格是同一个意思目的:展示软件体系结构丰富的选择空间,在此基础上对目的:展示软件体系结构丰富的选择空间,在此基础上对风格选择的一些权衡风格选择的一些权衡3使用软件体系结构风格的优点:促进设计重用;促进设计重用;带来巨大的代码重用;带来巨大的代码重用;使系统更易于被他人理解;使系统更易于被他人理解;使用标准化的风格有利于系统的互操作性;使用标准化的风格有利于系统的互操作性;便于利用特有的体系结分析方法;便于利用特有的体系结分析方法;提供特定风格的可视化。提供特定风格的可视化。4 在体系结构层次
4、上,常出现客户机服务器系统、管道过滤在体系结构层次上,常出现客户机服务器系统、管道过滤器设计或者分层体系结构等软件风格术语,这些术语一般与特定的器设计或者分层体系结构等软件风格术语,这些术语一般与特定的设计方法和符号相关,如面向对象和数据流等,虽然还没有对体系设计方法和符号相关,如面向对象和数据流等,虽然还没有对体系结构惯用模式实现分类,但是这种分类的轮廓已开始出现,如下部结构惯用模式实现分类,但是这种分类的轮廓已开始出现,如下部分主要种类:分主要种类:5软件体系结构风格是软件体系结构风格是反复出现的的组织模式和和习惯用法,是对一系列体系结构设计的抽象;是对一系列体系结构设计的抽象;软件体系结
5、构风格是描述某一特定应用领域中系统组织软件体系结构风格是描述某一特定应用领域中系统组织方式的方式的惯用模式。体系结构风格定义了一个系统家族,。体系结构风格定义了一个系统家族,即一个体系结构定义一个即一个体系结构定义一个词汇表和一组和一组约束;词汇表包括一些构件和连接件,约束指出系统如何将这词汇表包括一些构件和连接件,约束指出系统如何将这些构件和连接件组合起来;些构件和连接件组合起来;一个软件体系结构风格定义了构件和连接件类一个软件体系结构风格定义了构件和连接件类型的符号集,以及规定它们怎样组合起来的约束集型的符号集,以及规定它们怎样组合起来的约束集合合。6讨论体系结构风格时要回答的问题:讨论体
6、系结构风格时要回答的问题:设计词汇表是什么?设计词汇表是什么?构件和连接件的类型是什么?构件和连接件的类型是什么?可容许的结构模式是什么?可容许的结构模式是什么?基本的计算模型是什么?基本的计算模型是什么?风格的基本不变性是什么?风格的基本不变性是什么?其使用的常见例子是什么?其使用的常见例子是什么?其优缺点是什么?其优缺点是什么?体系结构风格最关键的四个要素:提供一个体系结构风格最关键的四个要素:提供一个词汇表、定义定义一套配置规则、定义、定义一套语义解释原则和定义和定义对基于这种风格的系统所进行的对基于这种风格的系统所进行的分析。分析分析7种通用的风格种通用的风格7Garlan和Shaw对
7、通用体系结构风格的分类:(1 1)数据流风格:批处理序列、管道:批处理序列、管道/过滤器过滤器(2 2)调用/返回风格:主程序:主程序/子程序、面向对象系统、子程序、面向对象系统、多级分层多级分层(3 3)独立构件风格:进程通讯、事件系统;:进程通讯、事件系统;(4 4)虚拟机风格:解释器、基于规则的系统;:解释器、基于规则的系统;(5 5)知识库风格:数据库系统、超文本系统、黑板系统:数据库系统、超文本系统、黑板系统PS:知识库风格也称为数据中心系统或仓库系统83.2 经典软件体系结构3.2.1 管道和过滤器3.2.2 数据抽象和面向对象组织3.2.3 基于事件的隐式调用3.2.4 分层系统
8、3.2.5 知识库3.2.6 模型-视图-控制器(MVC)风格3.2.7 解释器风格3.2.8 客户/服务器风格(C/S)3.2.9 三层C/S结构风格3.2.10 浏览器/服务器风格(B/S)93.2.1 管道和过滤器(PIPES AND FILTER)产生于产生于UNIXUNIX操作系统,适用于对有序数据进行操作系统,适用于对有序数据进行一系列已经定义的独立计算的应用程序;一系列已经定义的独立计算的应用程序;每个每个构件(过滤器)都有一组输入和输出,构件都有一组输入和输出,构件读输入的数据流,经内部处理,产生输出数据读输入的数据流,经内部处理,产生输出数据流;流;连接件位于过滤器之间,起到
9、信息流导管的作位于过滤器之间,起到信息流导管的作用,称为用,称为管道;管道和过滤器系统的输出的正确性不依赖于过管道和过滤器系统的输出的正确性不依赖于过滤器的递进处理顺序。滤器的递进处理顺序。10管道过滤器通用结构:管道过滤器通用结构:过滤器是一个独立实体,其间无需共享状态过滤器是一个独立实体,其间无需共享状态管线(管线(PipelinesPipelines):限制系统的拓扑结构只能是过滤器的线性序列):限制系统的拓扑结构只能是过滤器的线性序列 有界管线(有界管线(Bounded PipesBounded Pipes):限制了在管道中能容纳的数据量):限制了在管道中能容纳的数据量 类型定义管道(
10、类型定义管道(Type PipesType Pipes):明确定义在两个过滤器间的数据类型):明确定义在两个过滤器间的数据类型11管道和过滤器风格的例子:UNIXUNIX的的shellshell程序,如命令:程序,如命令:cat file|grep xyz|sort|uniq out在文件在文件filefile中查找包括中查找包括xyzxyz的行的行 排序排序 去掉重行去掉重行 输出到输出到outout文件中;文件中;编译器:词法分析编译器:词法分析 句法分析句法分析 语义分析语义分析 代代码生成。码生成。12管道和过滤器的实现:将系统任务分成几个独立的处理阶段;将系统任务分成几个独立的处理阶
11、段;定义每个管道传输的数据格式;定义每个管道传输的数据格式;决定管道的连接;决定管道的连接;设计和实现过滤器;设计和实现过滤器;设计出错处理;设计出错处理;建立处理流水线。建立处理流水线。13管道和过滤器的优点:每个过滤器都是独立的整体,相互之间的状态每个过滤器都是独立的整体,相互之间的状态互不影响;只要具备输入条件即可独立地完成互不影响;只要具备输入条件即可独立地完成自己的处理自己的处理支持功能模块的重用;过滤器并不知道它的上支持功能模块的重用;过滤器并不知道它的上游和下游的过滤器的特性;它的设计和实现不游和下游的过滤器的特性;它的设计和实现不会对与它相连的过滤器加以限制。会对与它相连的过滤
12、器加以限制。系统容易维护和扩展系统容易维护和扩展支持某些特定的分析,如吞吐量和死锁检测支持某些特定的分析,如吞吐量和死锁检测并发性并发性14管道和过滤器的缺点:管线或流水线管线或流水线(Pipe Line)(Pipe Line):过滤器严格限制:过滤器严格限制为单输入、单输出类型,系统拓扑结构只能是为单输入、单输出类型,系统拓扑结构只能是线性序列;线性序列;交互性比较弱交互性比较弱兼容性相对弱;维持两个相对独立但又存在某兼容性相对弱;维持两个相对独立但又存在某种关系的数据流之间的通信可能比较困难;种关系的数据流之间的通信可能比较困难;有名管道:在过滤器之间通过有名的管道来进有名管道:在过滤器之
13、间通过有名的管道来进行数据传送,增加了解析或反馈工作,从而降行数据传送,增加了解析或反馈工作,从而降低系统的效率。低系统的效率。15 数据抽象和面向对象组织建立在数据抽象和面向对象的基础上,数据表示建立在数据抽象和面向对象的基础上,数据表示方法及其相应操作被装到一个抽象数据类型方法及其相应操作被装到一个抽象数据类型(对对象象)中;中;对象(构件)负责保持资源的完整性,对象通过负责保持资源的完整性,对象通过函数和过程调用(连接件)来交互;来交互;适用于以相互关联的数据实体的标识和保护为中适用于以相互关联的数据实体的标识和保护为中心问题的应用程序。心问题的应用程序。16面向对象风格的优点:面向对象
14、风格的优点:封装:对象具有信息隐藏特性,内部结构对外不可见;:对象具有信息隐藏特性,内部结构对外不可见;继承:从具有通用特征的对象开始,逐渐定义更具体对象:从具有通用特征的对象开始,逐渐定义更具体对象多态:不同类型的对象可以对相同的激励做出不同的响应:不同类型的对象可以对相同的激励做出不同的响应17PS:数据抽象是特殊化的面向对象风格:ADT(Abstract Data Type)只有封装特点,没有继承和多态的特点。面向对象风格的缺点:面向对象风格的缺点:1 1、对象调用过程中必须要知道对象的标识,、对象调用过程中必须要知道对象的标识,只要一个对象的标识改变,就必须修改所有其他只要一个对象的标
15、识改变,就必须修改所有其他明确调用它的对象。明确调用它的对象。2 2、同时要修改每一个引用了这个模块的、同时要修改每一个引用了这个模块的“导导入入”列表,这样会带来不可预料的副作用。列表,这样会带来不可预料的副作用。183.2.3 基于事件的隐式调用基于事件(Event-Based)(Event-Based)的风格又称为的风格又称为隐式调用(Implicit Invocation)(Implicit Invocation)风格,构件不直接调用一个风格,构件不直接调用一个过程,而是触发或广播一个或多个,而是触发或广播一个或多个事件,由系统调用为,由系统调用为这一事件注册的其他构件的过程;这一事件
16、注册的其他构件的过程;每个每个构件的接口不仅提供一个过程的集合,也提供一的接口不仅提供一个过程的集合,也提供一个事件的集合;一个构件可注册多个事件,一个事件个事件的集合;一个构件可注册多个事件,一个事件可触发对多个构件过程的调用;可触发对多个构件过程的调用;适用于涉及低耦合构件集合的应用程序,如在用户界适用于涉及低耦合构件集合的应用程序,如在用户界面系统中管理数据,在数据库管理系统中确保数据的面系统中管理数据,在数据库管理系统中确保数据的一致性,在编辑器中支持语法检查。一致性,在编辑器中支持语法检查。19隐式调用风格的优点隐式调用风格的优点为软件重用提供了强大的支持为软件重用提供了强大的支持为
17、改进系统带来了方便为改进系统带来了方便隐式调用风格的缺点隐式调用风格的缺点构件放弃了对系统计算的控制构件放弃了对系统计算的控制数据交换的问题数据交换的问题既然过程的语义必须依赖于被触发事件的上下文约既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题束,关于正确性的推理存在问题20 分层系统系统组织为系统组织为层次结构,每一层为上层提供,每一层为上层提供服务,作为,作为下层的下层的客户,通常不允许跨层交互;,通常不允许跨层交互;适应于可以按照层次结构来组织不同类别的相关服务适应于可以按照层次结构来组织不同类别的相关服务的应用程序;的应用程序;系统中系统中构件在一些层实现了在
18、一些层实现了虚拟机的功能;的功能;连接件通过决定层间如何交互的协议来定义,通过决定层间如何交互的协议来定义,拓扑约束包括对相邻层间交互的约束;包括对相邻层间交互的约束;如分层通信协议,每一层提供一个抽象的功能作为上如分层通信协议,每一层提供一个抽象的功能作为上层通信的基础,最低层只定义硬件物理连接。层通信的基础,最低层只定义硬件物理连接。21例:例:ISOISO的的OSI/RM(Open Systems OSI/RM(Open Systems Interconnection Reference Model)Interconnection Reference Model)7 7层模层模型型22分
19、层系统的实现:为分层定义抽象准则,定义抽象层次;为分层定义抽象准则,定义抽象层次;给每一层命名并指定它们的任务和提供的服务;给每一层命名并指定它们的任务和提供的服务;为每个层定义接口、实现独立的层;为每个层定义接口、实现独立的层;确定相邻层通信、降低相邻层的耦合程度;确定相邻层通信、降低相邻层的耦合程度;设计错误处理策略。设计错误处理策略。23基于微内核模式构建的基于微内核模式构建的Windows NTWindows NT系统:系统:系统服务层:子系统与子系统与NTNT执行程序间的接口层;执行程序间的接口层;资源管理层:包括对象管理、安全引用监视、进程管理、包括对象管理、安全引用监视、进程管理
20、、I/OI/O管理、虚拟存储管理、局部过程调用等模块;管理、虚拟存储管理、局部过程调用等模块;内核:负责基本功能,如中断和异常处理,多处理器同负责基本功能,如中断和异常处理,多处理器同步,线程调度;步,线程调度;硬件抽象层:隐藏不同处理器系列机器间硬件的差异;隐藏不同处理器系列机器间硬件的差异;硬件层;硬件层;非严格分层结构,内核和非严格分层结构,内核和I/OI/O管理需要直接访问硬管理需要直接访问硬件。件。24分层系统风格的优点分层系统风格的优点可以把一个复杂系统按递增的步骤进行分解可以把一个复杂系统按递增的步骤进行分解支持功能强,因为每一个层至多和相邻的上下层交互,因支持功能强,因为每一个
21、层至多和相邻的上下层交互,因此功能的改变最多影响相邻的上下层。此功能的改变最多影响相邻的上下层。支持重用,定义一组标准接口允许各种不同的实现方法。支持重用,定义一组标准接口允许各种不同的实现方法。分层系统风格的缺点分层系统风格的缺点层次的划分不太容易层次的划分不太容易很难找到一个合适的、正确的层次抽象方法很难找到一个合适的、正确的层次抽象方法 25 知识库适用于适用于无确定性求解策略的问题:实践中许多复杂的问题:实践中许多复杂问题难以用数学精确地描绘和严格地分析,如医疗问题难以用数学精确地描绘和严格地分析,如医疗诊断、法律推理、军事分析等;诊断、法律推理、军事分析等;解决方法依赖于积累了人类知
22、识和经验的解决方法依赖于积累了人类知识和经验的知识库;知识库风格的体系结构由两种知识库风格的体系结构由两种构件组成:组成:一个一个中央数据结构,表示系统当前状态;,表示系统当前状态;一个一个独立构件的集合,对中央数据结构进行操作。,对中央数据结构进行操作。26对于系统中数据和状态的控制方法分两种:对于系统中数据和状态的控制方法分两种:由输入事务选择进行何种处理,并把执行结果作为由输入事务选择进行何种处理,并把执行结果作为当前状态存储到中央数据结构中,知识库为当前状态存储到中央数据结构中,知识库为传统的数据库型知识库;由中央数据结构的当前状态决定进行何种处理,知由中央数据结构的当前状态决定进行何
23、种处理,知识库为一识库为一黑板体系结构。黑板反映的一种信息共享的系统,传统应用是黑板反映的一种信息共享的系统,传统应用是信号处理领域,源于信号处理领域,源于1970s1970s人工智能的自然人工智能的自然语言处理系统语言处理系统HEARSAY-IIHEARSAY-II。27黑板体系结构模型通常由黑板体系结构模型通常由3 3部分组成:部分组成:知识源:包含独立的、与应用程序相关的知识;包含独立的、与应用程序相关的知识;黑板数据结构:反映应用程序求解状态的数据,:反映应用程序求解状态的数据,按照与应用程序相关的层次来组织;按照与应用程序相关的层次来组织;控制器:一组对公共数据结构进行协同操作的独:
24、一组对公共数据结构进行协同操作的独立程序集合,由黑板的状态驱动。立程序集合,由黑板的状态驱动。28黑板结构实现:定义问题:指出问题的领域、确定系统输入、输出,指出问题的领域、确定系统输入、输出,细化系统与用户的交互要求;细化系统与用户的交互要求;定义问题解空间:确定目标解的构成,列出解决方确定目标解的构成,列出解决方案的不同抽象等级,找出能独立工作的完整解的部案的不同抽象等级,找出能独立工作的完整解的部分解;分解;求解过程:如何将低级中间解转换成高等解,定义如何将低级中间解转换成高等解,定义在某抽象层上如何进行启发性搜索,定义黑板词汇在某抽象层上如何进行启发性搜索,定义黑板词汇集,设计系统控制
25、,实现知识库。集,设计系统控制,实现知识库。黑板系统传统上应用在复杂信号处理解释上,如语音和模式识别,现代编译器也是以共享信息为基础的29解释器风格中通常有一个虚拟机,弥合程序语义所期望的解释器风格中通常有一个虚拟机,弥合程序语义所期望的与硬件提供的计算引擎之间的差距与硬件提供的计算引擎之间的差距解释器包括正在被解释执行的伪码和解释引擎本身解释器包括正在被解释执行的伪码和解释引擎本身伪码由需要解释的源代码和解释引擎分析所得到的中间代码组成。伪码由需要解释的源代码和解释引擎分析所得到的中间代码组成。解释引擎:语法、解释器的定义和解释器当前执行状态解释引擎:语法、解释器的定义和解释器当前执行状态3
26、.2.6 解释器303.2.7 模型-视图-控制器(MVC)风格许多应用系统使用许多应用系统使用图形用户界面,MVCMVC主要用于主要用于处理软件用户界面开发中所面临的问题:处理软件用户界面开发中所面临的问题:用户界面需要经常改变;用户界面需要经常改变;不同的用户对用户界面的表示和使用有不同的要求;不同的用户对用户界面的表示和使用有不同的要求;同样的数据希望能以不同的形式显示给用户;同样的数据希望能以不同的形式显示给用户;为方便为方便界面修改和和移植,应把计算模型和显示模,应把计算模型和显示模型独立。型独立。31Model-View-ControllerModel-View-Controlle
27、r将交互式应用划分为将交互式应用划分为3 3种构件:种构件:模型:应用程序的核心,封装内核数据与状态;应用程序的核心,封装内核数据与状态;视图:为用户显示模型信息,一个模型可对应多个为用户显示模型信息,一个模型可对应多个视图;视图;控制器:提供给用户进行操作的接口,每个视图与提供给用户进行操作的接口,每个视图与一个控制器构件相关联。一个控制器构件相关联。例:例:MicrosoftMicrosoft提供的提供的WindowsWindows应用程序的文档应用程序的文档视图结构视图结构(Document-View Architecture)(Document-View Architecture)。3
28、2MVC的实现:分析应用问题,将人机交互从核心功能中分分析应用问题,将人机交互从核心功能中分离开来;离开来;设计应用程序的设计应用程序的模型构件;构件;设计和实现每个设计和实现每个视图;设计和实现每个设计和实现每个控制器;创建创建“可安装可安装”的的控制器,增加系统灵活性。,增加系统灵活性。333.2.8 客户/服务器风格(C/S)客户/服务器风格(Client/Server):数据和处理分布在一定范围内的多个构件上,构件通过网络连接。特征:服务器构件:向多个客户提供服务,永远处于激活:向多个客户提供服务,永远处于激活状态,监听用户请求;状态,监听用户请求;客户构件:向服务器构件请求服务;:向
29、服务器构件请求服务;连接件:某种通信机制,通常是基于:某种通信机制,通常是基于RPC(Remote RPC(Remote Procedure Call protocol)Procedure Call protocol)的交互协议;的交互协议;理解情况下,访问是理解情况下,访问是透明的。的。34服务器负责有效地管理系统的资源:数据库安全性的要求;数据库安全性的要求;数据库访问并发性的控制;数据库访问并发性的控制;数据库前端的客户应用程序的全局数据完整性规则;数据库前端的客户应用程序的全局数据完整性规则;数据库的备份与恢复;数据库的备份与恢复;客户应用程序的主要任务:提供用户与数据库交互的界面;提
30、供用户与数据库交互的界面;向数据库服务器提交用户请求并接收来自数据库服务器的信息向数据库服务器提交用户请求并接收来自数据库服务器的信息利用客户应用程序对存在于客户端的数据执行应用逻辑要求。利用客户应用程序对存在于客户端的数据执行应用逻辑要求。C/S特点C/SC/S结构将应用一分为二,服务器结构将应用一分为二,服务器(后台后台)负责数据管理,客户机负责数据管理,客户机(前台前台)完成与用户的交互任务完成与用户的交互任务服务器为多个客户应用程序管理数据,而客户程序发送、请求和分析服务器为多个客户应用程序管理数据,而客户程序发送、请求和分析服务器接收的数据,属服务器接收的数据,属“胖客户机(fat
31、client)”(fat client)”,或称为,或称为“瘦服务器(thin server)(thin server)”体系结构体系结构35C/SC/S体系结构风格的优点体系结构风格的优点强大的数据操作和事务处理能力强大的数据操作和事务处理能力通过局域网络连接低成本计算机,可以节约大量费用通过局域网络连接低成本计算机,可以节约大量费用易于系统的扩充和缩小易于系统的扩充和缩小C/SC/S体系结构风格的缺点体系结构风格的缺点开发成本高开发成本高客户端程序设计复杂客户端程序设计复杂信息内容和形式单一信息内容和形式单一用户界面风格不一,使用繁杂,不易推广使用用户界面风格不一,使用繁杂,不易推广使用软
32、件移植困难软件移植困难软件维护和升级困难软件维护和升级困难新技术不能轻易应用新技术不能轻易应用36 三层C/S结构风格传统二层传统二层C/SC/S结构的局限性:结构的局限性:以单一服务器为局域网中心,难以扩展至大型以单一服务器为局域网中心,难以扩展至大型企业广域网或企业广域网或InternetInternet;软、硬件的组合及集成能力有限;软、硬件的组合及集成能力有限;客户机的负荷重,难以管理大量的客户机,系客户机的负荷重,难以管理大量的客户机,系统性能容易变坏;统性能容易变坏;客户端程序可直接访问数据库服务器,数据安客户端程序可直接访问数据库服务器,数据安全性不好;全性不好;三层三层C/SC
33、/S结构增加一个结构增加一个应用服务器,分为,分为表示层、功能层和和数据层;37表示层应用的用户接口部分,担负着用户与应用间的对话功能;应用的用户接口部分,担负着用户与应用间的对话功能;方便用户使用,如方便用户使用,如GUIGUI;检查输入数据合法性;检查输入数据合法性;功能层应用的主体,具体的业务处理逻辑;应用的主体,具体的业务处理逻辑;用户对应用和数据的存取权限,处理日志。用户对应用和数据的存取权限,处理日志。数据层数据库管理系统,负责管理对数据库数据的读写数据库管理系统,负责管理对数据库数据的读写如通过如通过SQLSQL访问的关系型数据库管理系统访问的关系型数据库管理系统RDBMSRDB
34、MS;PSPS:对三层进行明确分割,并在逻辑上使其独立。:对三层进行明确分割,并在逻辑上使其独立。38中间件中间件(middleware)(middleware)用用APIAPI定义的软件层,具有强大通信能力和良好可扩展性定义的软件层,具有强大通信能力和良好可扩展性的分布式软件管理框架;的分布式软件管理框架;在客户机和服务器用、或服务器和服务器之间传送数据,在客户机和服务器用、或服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。实现客户机群和服务器群之间的通信。三层三层C/SC/S结构提供了良好的结构扩展能力,其结构提供了良好的结构扩展能力,其本质上是一种开发分布式应用程序的框架,
35、在系统本质上是一种开发分布式应用程序的框架,在系统实现时可采用支持分布式应用的构件技术实现,如实现时可采用支持分布式应用的构件技术实现,如微软的微软的、OMGOMG的的CORBACORBA、SUNSUN的的JAVABEANSJAVABEANS等等39三层三层C/SC/S结构的优点结构的优点提高系统和软件的可维护性和可扩展性提高系统和软件的可维护性和可扩展性允许灵活有效地选用相应的平台和硬件系统,具有良好允许灵活有效地选用相应的平台和硬件系统,具有良好的可升级性和开放性的可升级性和开放性可以并行开发,提高性能价格比可以并行开发,提高性能价格比三层三层C/SC/S结构的缺点结构的缺点各层间的通信效
36、率若不高,即使分配给各层的硬件能力各层间的通信效率若不高,即使分配给各层的硬件能力很强,其做为整体来说也达不到所要求的性能。很强,其做为整体来说也达不到所要求的性能。40 浏览器/服务器风格浏览器浏览器/服务器服务器B/S(Browser/Server)B/S(Browser/Server)风格是三层风格是三层C/SC/S结构的结构的一种实现方式;一种实现方式;B/SB/S结构:结构:浏览器、Web服务器和和数据库服务器三层;B/S+Internet=B/S+Internet=电子商务、电子商务、CRMCRMB/SB/S体系结构风格的缺点:体系结构风格的缺点:缺乏对动态页面的支持能力,没有集成有效的数据库处理缺乏对动态页面的支持能力,没有集成有效的数据库处理功能功能系统扩展能力差,安全性难以控制系统扩展能力差,安全性难以控制采用采用B/SB/S体系结构的应用系统,在数据查询等相应速度上,体系结构的应用系统,在数据查询等相应速度上,要远远低于要远远低于C/SC/S体系结构体系结构B/SB/S体系结构的数据提交以页面为单位,数据的动态交互体系结构的数据提交以页面为单位,数据的动态交互性不强,不利于在线事务处理应用性不强,不利于在线事务处理应用41