分布式与云计算系统第4章资料_第1页
分布式与云计算系统第4章资料_第2页
分布式与云计算系统第4章资料_第3页
分布式与云计算系统第4章资料_第4页
分布式与云计算系统第4章资料_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 分布式体系结构1共六十六页分布式软件体系结构产生(chnshng)背景在集中式计算技术时代广泛使用的是大型机/小型机计算模型。它是通过一台物理上与宿主机相连接的非智能终端来实现宿主机上的应用程序。 20世纪80年代以后,集中式结构逐渐被以PC机为主的微机网络所取代。个人计算机和工作站的采用,永远改变(gibin)了协作计算模型,从而导致了分散的个人计算模型的产生。2共六十六页分布式软件体系结构产生(chnshng)背景它们构建在大的或小的网络环境及某种组合上,形成了分布式系统。在分布式系统中,数据、过程、接口(ji ku)等构件被分布到网络的多个端点,支持这些构件所需的计算也部署到分布环境的

2、计算机上。3共六十六页分布式系统是软件开发的重要(zhngyo)方向分布式软件系统直接反映了现实世界中的分别性,例如当前许多业务处理流程通常呈现一种分布式运作方式。改进某些应用程序的运行性能,使它们比单进程的集中式更具有(jyu)效率。软件的分别性能充分利用额外的计算资源分布式系统增强了信息的互联互通和各主体之间的协作关系,增强了整个系统的计算能力4共六十六页分布式系统是软件开发的重要(zhngyo)方向增强了系统的可伸缩性和容错能力分布式系统,尤其是基于(jy)网络的体系结构,可共享异地昂贵的外部设备,把一些应用构件和服务委托在具有处理属性的主机上运行5共六十六页分布式系统的分类(fn li

3、)局域网文件服务器结构(jigu)客户/服务器体系结构浏览器/服务器体系结构基于SOA的分布式体系结构6共六十六页局域网文件(wnjin)服务器体系结构服务器仅装载了数据(shj)层,系统应用的其他层都在客户端实现例如,Access数据库存储在服务器上,但每台使用数据库的计算机必须安装Access应用程序,并从那里执行。7共六十六页局域网文件(wnjin)服务器体系结构当用户发送一个(y )请求给文件服务器时,文件服务器会从数据库中找到相应的表,传送给客户端,同时对所选表加锁,直到客户端返回表为止。客户端采用本地程序对表进行修改、读取或其他处理,然后再把表返回文件服务器。8共六十六页文件服务器

4、体系结构的适用(shyng)领域文件(wnjin)服务器体系结构仅对较少的小型数据库应用是可行的。9共六十六页文件(wnjin)服务器体系结构缺点客户端和服务器之间需要移动大量不必要的数据,降低了应用性能(xngnng)客户端必须相当健壮。客户端做了几乎所有的工作,而且必须有足够的磁盘空间来存储下载的表容易破坏数据的完整性对环境的变化及用户需求变革的适应性差,一旦发生变化,客户端和服务器端的应用程序都必须修改,增加了维护的工作量10共六十六页客户机/服务器体系结构客户机/服务器(Client/Server)是一种广泛流行的分布计算软件体系结构(jigu),经历了三种结构(jigu)的演化,两层

5、分布式表现结构(jigu)、两层分布式数据结构(jigu)和N层分布式数据和应用结构11共六十六页分布式表现(bioxin)结构为了克服文件服务器结构中的客户端的超量负载和网络间大数据量传输,同时改进结构的动态适应性,把应用逻辑层和数据处理层从客户端剥离出来,配置(pizh)在服务器端,构成了分布式表现的C/S体系结构。应用逻辑或数据发生变化时,应修改服务器端的应用程序12共六十六页分布式表现(bioxin)结构利于基于(jy)文件服务器体系结构的现存系统的改造利用易于使这些系统的有效生命期得到延长13共六十六页两层分布式数据结构(sh j ji u)数据和数据处理放在服务器上,应用逻辑、表现

6、逻辑和表现层放在客户端。是经典的两层C/S体系结构。充分(chngfn)挖掘使用了客户端的计算能力,并使得数据库维护方便。14共六十六页C/S的基本概念C/S软件体系结构是基于资源不对等,且为实现共享而提出来的,是20世纪90年代成熟起来的技术,C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布(fnb)到多个处理机上。 C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。15共六十六页C/S的体系结构16共六十六页服务器的任务分配数据库安全性的要求;数据库访问并发性的控制;数据库前端的客户(k h)应用程序的全局数据完整性规则;数据库的备份与恢复。17共六十六页

7、客户端的任务分配提供用户与数据库交互的界面;向数据库服务器提交用户请求并接收来自数据库服务器的信息;利用客户应用程序对存在(cnzi)于客户端的数据执行应用逻辑要求。18共六十六页C/S的处理(chl)流程19共六十六页C/S体系结构的优点(yudin)C/S 体系结构具有强大(qingd)的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。20共六十六页C/S体系结构的优点(yudin)系统中的功能构件(guj

8、in)充分隔离客户应用程序的开发集中于数据的显示和分析数据库服务器的开发则集中于数据的管理不必在每一个新的应用程序中都要对一个DBMS进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。 21共六十六页C/S体系结构的缺点(qudin)开发成本较高客户端程序设计(shj)复杂信息内容和形式单一用户界面风格不一,使用繁杂,不利于推广使用软件移植困难软件维护和升级困难新技术不能轻易应用22共六十六页C/S N层体系结构在客户端和服务器之间加入(jir)一层或多层服务器。23共六十六页三层C/S风格(fngg)的体系结构24共六十六页三层C/S的处理(chl)流程处理

9、(chl)流程25共六十六页三层C/S的物理(wl)结构26共六十六页三层C/S的优点(yudin)应用的各层可以并行开发,可以选择各自最适合的开发语言。利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格(yng)的安全管理奠定了坚实的基础。27共六十六页三层C/S的优点(yudin)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高(t go)系统和软件的可维护性和可扩展性。允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的

10、可升级性和开放性。28共六十六页三层C/S的优点(yudin)把应用的业务逻辑与用户界面分开,将商业逻辑放在经过合理(hl)任务划分与物理部署后的中间层应用服务器上,从而客户程序通过中间层简介访问数据库,客户端修改不影响服务器客户数可以充分扩展,如果需要修改应用程序代码,只需对中间层应用服务器进行修改,而不用修改成千上万的客户端应用程序。29共六十六页三层C/S要注意(zh y)的问题三层C/S结构各层间的通信效率若不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。设计时必须慎重考虑三层间的通信方法、通信频度及数据量。这和提高(t go)各层的独立性一样是三层C/S结构的

11、关键问题。30共六十六页浏览器/服务器结构(jigu)B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现(shxin)的核心部分集中到服务器上,简化了系统的开发、维护和使用。 31共六十六页浏览器/服务器风格(fngg)B/S体系结构主要是利用不断成熟的WWW浏览器技术(jsh),结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,B/S结构是一种全新的软件体系结构。32共六十六页浏览器/服务器的体系结

12、构33共六十六页浏览器/服务器的优点(yudin)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行(ynxng)全部的模块,真正达到了“零客户端”的功能,很容易在运行(ynxng)时自动升级。34共六十六页浏览器/服务器的优点(yudin)B/S体系结构还提供(tgng)了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。35共六十六页浏览器/服务器的缺点(qudin)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。B/S体系结构的系统扩展(kuzhn)能力差,安全性难以控制。36共六十六页

13、浏览器/服务器的缺点(qudin)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。B/S体系结构的数据提交(tjio)一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。OLTP就是数据库数据一直在变动、更新的37共六十六页 B/S应用程序模型(mxng)传统(chuntng)的应用程序模型38共六十六页 B/S应用程序模型(mxng)N层计算(j sun)模式的引入 采用N层计算结构,从逻辑角度看,系统分成客户端、Web服务器、应用服务器、数据库服务器四层;从物理角度看,应用服务器可以视用户并发数从1到N台进行扩充,以保证客户端用户的

14、响应要求。 39共六十六页B/S应用程序模型(mxng)应用程序各部分之间松耦合,从而(cng r)应用程序各部分的更新相互独立业务逻辑集中放在服务器上由所有用户共享,使得系统的维护和更新变得简单,也更安全数据库不再和每一个活动的用户保持一个连接,而是由应用程序组件负责与数据库打交道,降低数据库服务器的负担,提高了性能多层应用程序的真正优点40共六十六页J2EE开源(ki yun)框架41共六十六页Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。 (1)硬件环境不同: (2)对安全要求不同 (3)对程序架构不同 (4)软件重用不同 (5

15、)系统维护不同 (6)处理(chl)问题不同 (7)用户接口不同 42C/S 与 B/S 区别(qbi) 42共六十六页C/S 一般建立在专用的网络上, 小范围(fnwi)里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务。B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备, 信息自己管理, 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行。43(1)硬件(yn jin)环境不同:43共六十六页C/S 一般面向相对固定(gdng)的用户群, 对信息安全的控制能力很强。 一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开

16、信息。B/S 建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群。44(2)对安全(nqun)要求不同44共六十六页C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。B/S 对安全以及访问速度的多重的考虑, 建立(jinl)在需要更加优化的基础之上。 比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统。SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。45(3)、对程序(chngx)架构不同 45共六十六页C/S 程序可以不

17、可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好。B/S 对的多重结构,要求构件相对独立的功能。 能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头(sh tou)桌子。46(4)软件重用(zhngyng)不同46共六十六页系统维护是软件生存周期中,开销大,相当重要C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难, 可能是再做一个全新的系统。B/S 构件组成方面构件个别的更换,实现(shxin)系统的无缝升级。 系统维护开销减到最小,用户从网上自己下载安装就可以实现(shxin)升级。 47(5)系统维护不同(b tn) 47共六十六页C/

18、S 程序可以处理用户面固定,并且(bngqi)在相同区域, 安全要求高的需求,与操作系统相关, 应该都是相同的系统。B/S 建立在广域网上, 面向不同的用户群,分散地域, 这是C/S无法作到的,与操作系统平台关系最小。 48(6)处理问题(wnt)不同48共六十六页C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。B/S 建立在浏览器上, 有更加丰富和生动(shngdng)的表现方式与用户交流, 并且大部分难度减低,降低开发成本。49(7)用户(yngh)接口不同 49共六十六页基于(jy)SOA的分布式体系结构 SOA(Service-Oriented Archite

19、cture),是面向服务的一种分布式软件架构。它是一种设计模式和设计方法,并不是一种具体的技术。 SOA可以根据需求,通过网络对松散耦合的粗粒度,应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接(zhji)被调用,从而有效控制系统中与软件代理交互的人为依赖性。这个定义看起来比较抽象,却很好地说明了SOA是应用架构中的一层,这个层可以被直接(zhji)调用,也可以被不同的程序调用。50共六十六页 传统(chuntng)的三层结构图传统(chuntng)的三层结构图51共六十六页SOA结构图SOA架构(ji u)模式52共六十六页为什么要使用(shyng)SOA 传统(chunt

20、ng)的架构,软件包是被编写为独立的(self-contained)软件,即在一个完整的软件包中将许多应用程序功能整合在一起。实现整合应用程序功能的代码通常与功能本身的代码混合在一起。我们将这种方式称作软件设计“单一应用程序“。与此密切相关的是,更改一部分代码将对使用该代码的代码具有重大影响,这会造成系统的复杂性,并增加维护系统的成本。而且还使重新使用应用程序功能变得较困难,因为这些功能不是为了重新使用而打的包。缺点:代码冗余 不能重用 紧耦合 成本高 53共六十六页 SOA旨在将单个应用程序功能彼此分开,以便这些功能可以单独用作单个的应用程序功能或“组件”。这些组件可以用于在企业内部创建各种

21、其他的应用程序,或者如有需要,对外向合作伙伴公开,以便用于合作伙伴的应用程序。 SOA优点:代码重用(zhngyng) 松耦合 平台独立 语言无关为什么要使用(shyng)SOA54共六十六页商品消费软件(run jin)服务55共六十六页SOA工作(gngzu)流程56共六十六页SOA架构(ji u)中有三种角色:服务提供者:发布自己的服务,并且对服务请求进行响应。服务注册中心:注册已经发布的web service,对其进行分类,并提供搜索服务。服务请求者:利用服务中心查找所需要的服务,然后使用该服务。SOA角色(ju s)57共六十六页SOA操作(cozu)SOA的三种操作(cozu):

22、发布操作:为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。 查找操作:服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。 绑定操作:在检索到服务描述之后,服务使用者继续根据服务描述中的信息来调用服务。58共六十六页SOAP: 简单对象访问协议 (Simple Object Access Protocol)WSDL: Web服务描述语言 WSDL (Web Services Description Language) UUDI: 统一描述、发现和集成 (Universal Description, Discovery and Integration) WSDL用来描述

23、服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。一个消费者可以在UDDI注册表(registry)查找(ch zho)服务,取得服务的WSDL描述,然后通过SOAP来调用服务。 SOA的相关(xinggun)标准WSDL、UUDI、SOAP59共六十六页一个SOA系统要具有以下六大关键要素基础设施、已有资源、企业服务、流程(lichng)模型、服务展现和系统工具(包括开发、测试和管理工具等)。因此,在基础设施和已有资源都已具备的基础上,开发和构建一个SOA系统要包括以下几方面的工作:首先需要设计开发出符合标准的服务,这是整个SOA系统最核心的要素

24、。基于标准服务,借助流程编排工具和建模工具,组织构造流程,生成流程模型,更好地满足业务需求。实际构建和开发SOA系统,具体包括服务和应用程序的开发,数据的访问、处理和管理,及对服务各种形式的展现等。 如何(rh)构建SOA60共六十六页假设股票行业存在以下6个服务:Country()输入参数:国家编码。输出项:国家名称和其他信息。YellowPages()输入参数:公司名称;输出项:企业代码,所在国家等其他信息。NewYorkStock()输入参数:公司代码,时间;输出项:该公司在纽约的股票价格(美元)。LondonStock()输入参数:公司代码,时间;输出项:该公司在伦敦(ln dn)的股票价格。USToRMB()输入参数:美元价格,时间;输出项:对应的人民币价格。UKToRMB()输入参数:英镑价格,时间;输出项:对应的人民币价格。使用SOA进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论