第三章软件体系结构风格2要点课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第三章软件体系结构风格2要点课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 软件 体系结构 风格 要点 课件
- 资源描述:
-
1、1第三章第三章 软件体系结构风格软件体系结构风格分布式体系结构分布式体系结构2分布式软件体系结构产生背景产生背景 在集中式计算技术时代广泛使用的是大型机在集中式计算技术时代广泛使用的是大型机/小小型机计算模型。它是通过一台物理上与宿主机相型机计算模型。它是通过一台物理上与宿主机相连接的非智能终端来实现宿主机上的应用程序。连接的非智能终端来实现宿主机上的应用程序。20世纪世纪80年代以后,集中式结构逐渐被以年代以后,集中式结构逐渐被以PC机机为主的微机网络所取代。个人计算机和工作站的为主的微机网络所取代。个人计算机和工作站的采用,永远改变了协作计算模型,从而导致了分采用,永远改变了协作计算模型,
2、从而导致了分散的个人计算模型的产生。散的个人计算模型的产生。3分布式软件体系结构产生背景产生背景 它们构建在大的或小的网络环境及某种组合上,它们构建在大的或小的网络环境及某种组合上,形成了分布式系统。形成了分布式系统。在分布式系统中,数据、过程、接口等构件被分在分布式系统中,数据、过程、接口等构件被分布到网络的多个端点,支持这些构件所需的计算布到网络的多个端点,支持这些构件所需的计算也部署到分布环境的计算机上。也部署到分布环境的计算机上。4分布式系统是当前软件开发的重要方向 分布式软件系统直接反映了现实世界中的分别性,例如当前许多业务处理流程通常呈现一种分布式运作方式。改进某些应用程序的运行性
3、能,使它们比单进程的集中式更具有效率。软件的分别性能充分利用额外的计算资源 分布式系统增强了信息的互联互通和各主体之间的协作关系,增强了整个系统的计算能力5分布式系统是当前软件开发的重要方向 增强了系统的可伸缩性和容错能力 分布式系统,尤其是基于网络的体系结构,可共享异地昂贵的外部设备,把一些应用构件和服务委托在具有处理属性的主机上运行6三类分布式系统 局域网文件服务器结构 客户/服务器体系结构(2层和N层)基于Web的计算7一般系统的主要层次 数据存储层 数据处理层 应用逻辑层 表现逻辑层 表现层8局域网文件服务器体系结构 服务器仅装载了数据层,系统应用的其他层都在客户端实现 例如,Acce
4、ss数据库存储在服务器上,但每台使用数据库的计算机必须安装Access应用程序,并从那里执行。9局域网文件服务器体系结构 当用户发送一个请求给文件服务器时,文件服务器会从数据库中找到相应的表,传送给客户端,同时对所选表加锁,直到客户端返回表为止。客户端采用本地程序对表进行修改、读取或其他处理,然后再把表返回文件服务器。10文件服务器体系结构的适用领域 文件服务器体系结构仅对较少的小型数据库应用是可行的。11文件服务器体系结构缺点 客户端和服务器之间需要移动大量不必要的数据,降低了应用性能 客户端必须相当健壮。客户端做了几乎所有的工作,而且必须有足够的磁盘空间来存储下载的表 容易破坏数据的完整性
5、 对环境的变化及用户需求变革的适应性差,一旦发生变化,客户端和服务器端的应用程序都必须修改,增加了维护的工作量12客户机/服务器体系结构 客户机/服务器(Client/Server)是一种广泛流行的分布计算软件体系结构,经历了三种结构的演化,两层分布式表现结构、两层分布式数据结构和N层分布式数据和应用结构13分布式表现结构 为了克服文件服务器结构中的客户端的超量负载和网络间大数据量传输,同时改进结构的动态适应性,把应用逻辑层和数据处理层从客户端剥离出来,配置在服务器端,构成了分布式表现的C/S体系结构。应用逻辑或数据发生变化时,应修改服务器端的应用程序14分布式表现结构 利于基于文件服务器体系
6、结构的现存系统的改造利用 易于使这些系统的有效生命期得到延长15两层分布式数据结构 数据和数据处理放在服务器上,应用逻辑、表现逻辑和表现层放在客户端。是经典的两层C/S体系结构。充分挖掘使用了客户端的计算能力,并使得数据库维护方便。16C/S的基本概念的基本概念 C/S软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。17C/S的体系结构的体系结构用户1用户2用户3用户4用户5Print ServerLink/
7、RxLPT1LPT2COMPower/TXPWROKWIC0ACT/CH0ACT/CH1WIC0ACT/CH0ACT/CH1ETHACTCOL其他公用设备打印机调制解调器InternetIntranet数据库服务器18服务器的任务分配服务器的任务分配 数据库安全性的要求;数据库安全性的要求;数据库访问并发性的控制;数据库访问并发性的控制;数据库前端的客户应用程序的全局数数据库前端的客户应用程序的全局数据完整性规则;据完整性规则;数据库的备份与恢复。数据库的备份与恢复。19客户端的任务分配客户端的任务分配 提供用户与数据库交互的界面;提供用户与数据库交互的界面;向数据库服务器提交用户请求并接收来
8、自向数据库服务器提交用户请求并接收来自数据库服务器的信息;数据库服务器的信息;利用客户应用程序对存在于客户端的数据利用客户应用程序对存在于客户端的数据执行应用逻辑要求。执行应用逻辑要求。20C/SC/S的处理流程的处理流程输入数据输出数据请求按钮表示层业务处理开始SQL 请求结束SQL 请求开始业务处理结束数据存取请求业务处理程序业务处理请求和业务处理所需的全部输入数据全部处理结束DBMS 执行SQL数据层业务处理开始数据存取请求业务处理结束数据存取程序数据登录/更新/读取的请求数据登录/更新/读取的结果21C/SC/S体系结构的优点体系结构的优点 C/S 体系结构具有强大的数据操作和事务处理
9、能体系结构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。力,模型思想简单,易于人们理解和接受。系统的客户应用程序和服务器构件分别运行在不系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充大的适应性和灵活性,而且易于对系统进行扩充和缩小。和缩小。22C/SC/S体系结构的优点体系结构的优点 系统中的功能构件充分隔离系统中的功能构件充分隔离 客户应用程序的开发集中于数据的显示和
10、分析客户应用程序的开发集中于数据的显示和分析 数据库服务器的开发则集中于数据的管理数据库服务器的开发则集中于数据的管理 不必在每一个新的应用程序中都要对一个不必在每一个新的应用程序中都要对一个DBMS进行编码。进行编码。将大的应用处理任务分布到许多通过网络连将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。接的低成本计算机上,以节约大量费用。23C/SC/S体系结构的体系结构的缺点缺点 开发成本较高开发成本较高 客户端程序设计复杂客户端程序设计复杂 信息内容和形式单一信息内容和形式单一 用户界面风格不一,使用繁杂,不利于推广使用用户界面风格不一,使用繁杂,不利于推广使用
11、 软件移植困难软件移植困难 软件维护和升级困难软件维护和升级困难 新技术不能轻易应用新技术不能轻易应用24C/S N层体系结构 在客户端和服务器之间加入一层或多层服务器。25第三章第三章 软件体系结构风格软件体系结构风格三层客户三层客户/服务器风格服务器风格26三层三层C/S风格的体系结构风格的体系结构用户1用户2.用户nInternetIntranet数据库服务器1数据库服务器2应用服务器.27三层三层C/S的处理流程的处理流程处理流程处理流程28C/SC/S的处理流程的处理流程输入数据输出数据请求按钮表示层业务处理开始SQL 请求结束SQL 请求开始业务处理结束数据存取请求业务处理程序业务
12、处理请求和业务处理所需的全部输入数据全部处理结束DBMS 执行SQL数据层业务处理开始数据存取请求业务处理结束数据存取程序数据登录/更新/读取的请求数据登录/更新/读取的结果29三层三层C/S的物理结构的物理结构数据层表示层功能层服务器2客户机服务器1数据层数据层功能层表示层表示层功能层(1)将数据层和功能层放在同一台服务器上(2)将数据层和功能层放在不同的服务器上(3)将功能层放在客户机上30三层三层C/S的优点的优点 应用的各层可以并行开发,可以选择各自最适合应用的各层可以并行开发,可以选择各自最适合的开发语言。的开发语言。利用功能层有效地隔离开表示层与数据层,未授利用功能层有效地隔离开表
13、示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。奠定了坚实的基础。31三层三层C/S的优点的优点 允许合理地划分三层结构的功能,使之在逻辑上允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性保持相对独立性,能提高系统和软件的可维护性和可扩展性。和可扩展性。允许更灵活有效地选用相应的平台和硬件系统,允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于使之在处理负荷能力上与处理特
14、性上分别适应于结构清晰的三层;并且这些平台和各个组成部分结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。可以具有良好的可升级性和开放性。32三层三层C/S的优点的优点 把应用的业务逻辑与用户界面分开,将商业逻辑放在经过合理任务划分与物理部署后的中间层应用服务器上,从而客户程序通过中间层简介访问数据库,客户端修改不影响服务器 客户数可以充分扩展,如果需要修改应用程序代码,只需对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。33三层三层C/S要注意的问题要注意的问题 三层三层C/S结构各层间的通信效率若不高,即结构各层间的通信效率若不高,即使分配给各层的硬
15、件能力很强,其作为整使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。体来说也达不到所要求的性能。设计时必须慎重考虑三层间的通信方法、设计时必须慎重考虑三层间的通信方法、通信频度及数据量。这和提高各层的独立通信频度及数据量。这和提高各层的独立性一样是三层性一样是三层C/S结构的关键问题。结构的关键问题。34浏览器浏览器/服务器风格服务器风格 浏览器浏览器/服务器(服务器(B/S)风格就是上述三层应用结)风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器构的一种实现方式,其具体结构为:浏览器/Web服务器服务器/数据库服务器。数据库服务器。35浏览器浏览器/服务器风格服务
16、器风格 B/S体系结构主要是利用不断成熟的体系结构主要是利用不断成熟的WWW浏览浏览器技术,结合浏览器的多种脚本语言,用通用浏器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。的强大功能,并节约了开发成本。从某种程度上来说,从某种程度上来说,B/S结构是一种全新的软件结构是一种全新的软件体系结构。体系结构。36浏览器浏览器/服务器风格的体系结构服务器风格的体系结构数据库服务器数据库客户端浏览器客户端浏览器Web服务器37浏览器浏览器/服务器风格的优点服务器风格的优点 基于基于B/S体系结构
17、的软件,系统安装、修改体系结构的软件,系统安装、修改和维护全在服务器端解决。和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了就可运行全部的模块,真正达到了“零客零客户端户端”的功能,很容易在运行时自动升级。的功能,很容易在运行时自动升级。38浏览器浏览器/服务器风格的优点服务器风格的优点 B/S体系结构还提供了异种机、异种网、异体系结构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最种应用服务的联机、联网、统一服务的最现实的开放性基础。现实的开放性基础。39浏览器浏览器/服务器风格的缺点服务器风格的缺点
18、 B/S体系结构缺乏对动态页面的支持能力,体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。没有集成有效的数据库处理功能。B/S体系结构的系统扩展能力差,安全性难体系结构的系统扩展能力差,安全性难以控制。以控制。40浏览器浏览器/服务器风格的缺点服务器风格的缺点 采用采用B/S体系结构的应用系统,在数据查询等响体系结构的应用系统,在数据查询等响应速度上,要远远地低于应速度上,要远远地低于C/S体系结构。体系结构。B/S体系结构的数据提交一般以页面为单位,数体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理据的动态交互性不强,不利于在线事务处理(OLTP)
19、应用。应用。OLTP是在线事务处理。比如收银台就像是是在线事务处理。比如收银台就像是OLTP,因为不断有数据的录入(或是修改);因为不断有数据的录入(或是修改);OLTP就是数据库数据一直在变动、更新的就是数据库数据一直在变动、更新的41第三章第三章 软件体系结构风格软件体系结构风格公共对象请求代理结构公共对象请求代理结构42对象管理结构对象管理结构 公共对象请求代理结构公共对象请求代理结构CORBA(Common Object Request Broker Architecture)是一种独立于语言和软件)是一种独立于语言和软件/硬件平台的软件构件模型。硬件平台的软件构件模型。43CORBA
20、的构成的构成 CORBA主要由对象请求代理、公共对象服主要由对象请求代理、公共对象服务、通用设施和应用接口组成。务、通用设施和应用接口组成。44对象请求代理对象请求代理ORB 请求代理是建立基于分布式对象的应用程序的基础,使请求代理是建立基于分布式对象的应用程序的基础,使得分布式对象之间能够透明的发送请求或接受响应得分布式对象之间能够透明的发送请求或接受响应 在在CORBA中,所有的通信都通过中,所有的通信都通过ORB进行,因而无论进行,因而无论一个对象是本地的还是远程的,对于与之进行通信的其一个对象是本地的还是远程的,对于与之进行通信的其他对象来说都是等价的他对象来说都是等价的 CORBA保
21、证了异构和同构环境中对象的可移植性和可保证了异构和同构环境中对象的可移植性和可互操作性互操作性 ORB独立于实现对象的特定平台与技术,客户程序无独立于实现对象的特定平台与技术,客户程序无需知道如何与对象通信、如何激活对象、对象如何实现、需知道如何与对象通信、如何激活对象、对象如何实现、如何查找对象如何查找对象45对象请求代理对象请求代理ORB 请求代理是建立基于分布式对象的应用程序的基础,使请求代理是建立基于分布式对象的应用程序的基础,使得分布式对象之间能够透明的发送请求或接受响应得分布式对象之间能够透明的发送请求或接受响应 对象请求代理对象请求代理ORB规定了分布对象的接口定义和语言规定了分
22、布对象的接口定义和语言映射、实现了对象间的透明通信和互操作,是分布对象映射、实现了对象间的透明通信和互操作,是分布对象的的“软总线软总线”在在ORB上定义了并发服务、命名服务、时间服务、安上定义了并发服务、命名服务、时间服务、安全服务等多样公共服务;全服务等多样公共服务;通用设施定义了构件框架,为领域对象提供可使用的共通用设施定义了构件框架,为领域对象提供可使用的共享服务,规定领域对象有效协作所需的规则。享服务,规定领域对象有效协作所需的规则。46CORBA对象服务 对象服务是对象管理体系结构对象服务是对象管理体系结构OMA定义的一系定义的一系列独立于应用领域的服务列独立于应用领域的服务 CO
展开阅读全文