《分布式计算环境_绪论.ppt》由会员分享,可在线阅读,更多相关《分布式计算环境_绪论.ppt(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Page 1Beijing University of Posts and Telecommunications分布计算环境分布计算环境邹华邹华 北京邮电大学网络技术研究院北京邮电大学网络技术研究院 20201111.9 9Page 2Page 2Beijing University of Posts and Telecommunications Page 3Page 3Beijing University of Posts and Telecommunications主要内容主要内容t 分布式系统及其挑战分布式系统及其挑战t 什么是分布式计算?什么是分布式计算?t什么是分布计算环境什么是分布
2、计算环境t 分布计算技术的发展历程分布计算技术的发展历程t 课程简介课程简介Page 4Page 4Beijing University of Posts and Telecommunications主要内容主要内容t 分布式系统及其挑战分布式系统及其挑战t 什么是分布式计算?什么是分布式计算?t什么是分布计算环境什么是分布计算环境t 分布计算技术的发展历程分布计算技术的发展历程t 课程简介课程简介Page 5Page 5Beijing University of Posts and Telecommunications什么是分布式系统?什么是分布式系统?tA collection of in
3、dependent computers that appears to its users as a single coherent system.tA collection of autonomous computers linked by a network,with software designed to produce an integrated computing facility.tthe system software runs on a loosely integrated group of cooperating processors linked by a network
4、.t在在 网网 络络 计计 算算 平台平台 上上 开开 发、发、部部 署、署、管管 理理 和和 维维 护护 以以 资资 源源 共共 享享 和和 协协 同同 工工 作作 为为 主主 要要 应应 用用 目目 标标 的的 分分 布布 式式 应应 用用 系系 统。统。tPage 6Page 6Beijing University of Posts and Telecommunications分布式系统举例分布式系统举例 t分布式系统到处可见分布式系统到处可见n校园的图书管理系统、行政办公系统、智能网系统、校园的图书管理系统、行政办公系统、智能网系统、ATM系统、系统、Web、PSTN、GSMn甚至毕设
5、参与开发的系统甚至毕设参与开发的系统t不同的系统会在多个方面有差别,如不同的系统会在多个方面有差别,如n从规模上:从规模上:LAN、WANn从行业上:从行业上:银行网络(银行网络(ATM)电信网络(电信网络(IP Phone)n从技术上:从技术上:WWW、WAP、宽带网、宽带网n从边界上:从边界上:Internet、Intranetn从协议上:从协议上:TCP/IPnt在在IT领域,目前特别关注以领域,目前特别关注以IP为核心实现的网络环境、互联网环境、为核心实现的网络环境、互联网环境、Web环境环境Page 7Page 7Beijing University of Posts and Tel
6、ecommunications分布式系统的主要特征分布式系统的主要特征t包含任意个数的系统进程和用户进程包含任意个数的系统进程和用户进程t体系结构模块化,它由数目可变的多个处理部件组成体系结构模块化,它由数目可变的多个处理部件组成t通过共享通信结构上的报文传递进行通信,进程之间通过共享通信结构上的报文传递进行通信,进程之间的报文传送存在延迟且延迟时间可变的报文传送存在延迟且延迟时间可变t实行某种全系统范围的控制,以便提供动态的进程间实行某种全系统范围的控制,以便提供动态的进程间的合作和运行时间的管理的合作和运行时间的管理n不同系统有着不同的控制程度不同系统有着不同的控制程度Page 8Page
7、 8Beijing University of Posts and Telecommunications分布式系统的挑战分布式系统的挑战t一般,分布式系统需要支持以下特性一般,分布式系统需要支持以下特性n资源共享资源共享n开放性开放性n并发性并发性n可伸缩性可伸缩性n容错性容错性n透明性透明性Page 9Page 9Beijing University of Posts and Telecommunications资源共享资源共享t一旦授权,可以访问环境中的任何资源:一旦授权,可以访问环境中的任何资源:n硬件硬件(e.g.printer,scanner,camera)、软件(服务)、数据、软件
8、(服务)、数据(file,database,web page)t相关技术例:相关技术例:n资源管理器控制资源的访问资源管理器控制资源的访问 提供命名机制提供命名机制 控制并发访问控制并发访问 Page 10Page 10Beijing University of Posts and Telecommunications开放性开放性t新共享资源添加并被各种客户程序使用的程度新共享资源添加并被各种客户程序使用的程度n支持异构资源的添加和使用支持异构资源的添加和使用t相关技术例相关技术例n提供统一的通信机制提供统一的通信机制n发布访问共享资源的接口发布访问共享资源的接口n虚拟化技术虚拟化技术Page
9、 11Page 11Beijing University of Posts and Telecommunications并发性并发性t分布系统中的各个组成部分可以在并发的过程中被执行,分布系统中的各个组成部分可以在并发的过程中被执行,如:如:n多个用户同时访问应用程序多个用户同时访问应用程序n多个服务进程同时运行,相互协作多个服务进程同时运行,相互协作t分布系统中的各个进程可以并发访问、更新共享的资源分布系统中的各个进程可以并发访问、更新共享的资源t 相关技术例相关技术例n并发控制并发控制Page 12Page 12Beijing University of Posts and Telecom
10、munications可伸缩性可伸缩性t在资源和用户数较大增长的情况下,系统性能仍能维持在资源和用户数较大增长的情况下,系统性能仍能维持原状。原状。n利用网络环境可以为更多的用户服务、而且响应更快利用网络环境可以为更多的用户服务、而且响应更快n通常通过增加通常通过增加更多更多/更快的处理器、更可靠、更完善的服务实更快的处理器、更可靠、更完善的服务实现现t当环境增长时,系统组成部分不必改变,所设计的各个当环境增长时,系统组成部分不必改变,所设计的各个组部分应当便于系统的伸缩组部分应当便于系统的伸缩t模块化模块化Page 13Page 13Beijing University of Posts a
11、nd TelecommunicationsScaling Techniques(1)The difference between letting:a)a server orb)a client check forms as they are being filledPage 14Page 14Beijing University of Posts and Telecommunications1.5An example of dividing the DNS name space into zones.Scaling Techniques(2)Page 15Page 15Beijing Univ
12、ersity of Posts and Telecommunications容错性容错性t错误发生时,系统能够继续工作的能力错误发生时,系统能够继续工作的能力n硬件、软件、网络发生错误的不可避免性硬件、软件、网络发生错误的不可避免性t相关技术相关技术n恢复恢复 Recovery如:数据库的如:数据库的Roll backn冗余冗余 Redundancy如:如:IP route,replicated name table of DNSPage 16Page 16Beijing University of Posts and Telecommunications透明性透明性t网络环境对于用户和应用程
13、序而言,应该是一个整体,网络环境对于用户和应用程序而言,应该是一个整体,而不是一个互相协作的简单的构件集合而不是一个互相协作的简单的构件集合nSun:Network is computert透明性具有多重的内容透明性具有多重的内容n访问透明性访问透明性位置透明性位置透明性并发透明性并发透明性副本透明性副本透明性故故障透明性障透明性迁移透明性迁移透明性性能透明性性能透明性伸缩透明性伸缩透明性。t相关技术相关技术n繁多繁多 Page 17Page 17Beijing University of Posts and Telecommunicationst连接不同的系统、不同的机构团体连接不同的系统、
14、不同的机构团体t通过互连和互操作提高系统的协作能力通过互连和互操作提高系统的协作能力t通过并行处理、负载平衡等提高系统的性能通过并行处理、负载平衡等提高系统的性能t通过复制技术提高系统的可靠性和可用性通过复制技术提高系统的可靠性和可用性t通过模块化技术提高系统的可伸缩性通过模块化技术提高系统的可伸缩性t通过动态配置和重新配置功能提高系统的可扩展性通过动态配置和重新配置功能提高系统的可扩展性t通过资源共享提高系统的性能价格比通过资源共享提高系统的性能价格比t.分布式系统的优势分布式系统的优势 Page 18Page 18Beijing University of Posts and Teleco
15、mmunications分布式系统的分布式系统的(潜在潜在)问题问题 t 软件需求:软件需求:适合的操作系统、分布计算环境、程序设计语言及适合的操作系统、分布计算环境、程序设计语言及应用设计方法应用设计方法t 通信网络:通信网络:信息丢失、恢复、网络过载信息丢失、恢复、网络过载.t 安全问题安全问题 数据共享数据共享 vs 数据保密数据保密 Page 19Page 19Beijing University of Posts and Telecommunications小结小结tDistributed systems are everywhere Internet,intranet,wirele
16、ss networks.tResource sharing is the main motivating factor for constructing distribute systems.t分布式系统比想象的要复杂分布式系统比想象的要复杂:n 异构环境下的应用互操作问题异构环境下的应用互操作问题n 系统管理、安全问题系统管理、安全问题n 系统安全问题系统安全问题n透明性支持问题透明性支持问题Page 20Page 20Beijing University of Posts and Telecommunications主要内容主要内容t 分布式系统及其挑战分布式系统及其挑战t 什么是分布式计
17、算?什么是分布式计算?t什么是分布计算环境什么是分布计算环境t 分布计算技术的发展历程分布计算技术的发展历程t 课程简介课程简介Page 21Page 21Beijing University of Posts and Telecommunications什么是分布式计算什么是分布式计算?t简单地说,分布式计算是两个或多个软件共享信息、协同工作简单地说,分布式计算是两个或多个软件共享信息、协同工作(的过程)。这些软件既可以在同一台计算机上运行,也可在(的过程)。这些软件既可以在同一台计算机上运行,也可在通过网络连起来的几台不同机器上运行。通过网络连起来的几台不同机器上运行。n多个进程多个进程t
18、两种典型的应用途径两种典型的应用途径n将分布式软件系统看作直接反映了现实世界中的分布性将分布式软件系统看作直接反映了现实世界中的分布性 n用于改进某些应用程序的运行性能用于改进某些应用程序的运行性能n分布计算技术是构造分布式系统的基础分布计算技术是构造分布式系统的基础Page 22Page 22Beijing University of Posts and Telecommunications并行计算和分布计算并行计算和分布计算 t并行计算并行计算突出的是时间上的突出的是时间上的同步性:同时同步性:同时进行计算进行计算t分布计算突出的是空间上的分布分布计算突出的是空间上的分布性:计算性:计算在
19、不同的位在不同的位置进行置进行t分布式计算在很多情况下也是分布式计算在很多情况下也是并行计算:在并行计算:在网络的不网络的不同位置同时同位置同时进行进行n两者两者之间有之间有交叉的技术,如单一系统映像、容错、网络交叉的技术,如单一系统映像、容错、网络技术技术。n分布分布系统也可以用来做粗粒度的并行计算系统也可以用来做粗粒度的并行计算Page 23Page 23Beijing University of Posts and Telecommunications主要内容主要内容t 分布式系统及其挑战分布式系统及其挑战t 什么是分布式计算?什么是分布式计算?t什么是分布计算环境什么是分布计算环境t
20、分布计算技术的发展历程分布计算技术的发展历程t 课程简介课程简介Page 24Page 24Beijing University of Posts and Telecommunications分布计算环境分布计算环境t分布计算环境提供了不同软、硬件平台资源共享和互操作的有分布计算环境提供了不同软、硬件平台资源共享和互操作的有效手段,使得分布式计算可以比较方便地得以实现,从而分布效手段,使得分布式计算可以比较方便地得以实现,从而分布式系统可以比较方便地得以构造式系统可以比较方便地得以构造n方便分布式系统的构建:设计、实现、部署、维护方便分布式系统的构建:设计、实现、部署、维护n分布式计算环境本身
21、实际上也是分布式系统分布式计算环境本身实际上也是分布式系统t分布式计算环境构造技术基础分布式计算环境构造技术基础n分布在网络上的程序之间的互操作技术分布在网络上的程序之间的互操作技术n目录技术、负载平衡技术、容错技术、事务管理技术、安全技术目录技术、负载平衡技术、容错技术、事务管理技术、安全技术 Page 25Page 25Beijing University of Posts and Telecommunications技术路线技术路线(1)t 理想的技术路线理想的技术路线(80年代学术界普遍追求的目标)试图在互连的计算机硬件上部署全新的分布式操作系统,全面管理系试图在互连的计算机硬件上部署
22、全新的分布式操作系统,全面管理系统中各自独立的计算机,呈现给用户单一的系统视图。统中各自独立的计算机,呈现给用户单一的系统视图。Page 26Page 26Beijing University of Posts and Telecommunications技术路线技术路线(2)现实的技术路线现实的技术路线(90(90年代工业界普遍遵守的路线年代工业界普遍遵守的路线)t在网络计算平台上部署分布计算环境在网络计算平台上部署分布计算环境t提供开发工具和公共服务提供开发工具和公共服务t支持分布式应用支持分布式应用t资源共享和协同工作资源共享和协同工作Distributed Computing Envi
23、ronmentPage 27Page 27Beijing University of Posts and Telecommunications多类分布计算环境多类分布计算环境t面向不同的软件实现技术或目标应用场合,有不同的分布计算环境面向不同的软件实现技术或目标应用场合,有不同的分布计算环境n过程调用:过程调用:DCE(RPC)n面向对象:面向对象:CORBA、DCOM、EJBn面向服务:面向服务:Web ServicenWeb环境下:环境下:Web 1.0、Web 2.0n面向资源整合:网格计算、云计算、面向资源整合:网格计算、云计算、P2PnPage 28Page 28Beijing Un
24、iversity of Posts and Telecommunications主要内容主要内容t 分布式系统及其挑战分布式系统及其挑战t 什么是分布式计算?什么是分布式计算?t什么是分布计算环境什么是分布计算环境t 分布计算技术的发展历程分布计算技术的发展历程t 课程简介课程简介Page 29Page 29Beijing University of Posts and Telecommunications分布计算技术的发展历程分布计算技术的发展历程t 经典的经典的C/S技术技术t 面向过程的远程过程调用技术面向过程的远程过程调用技术t 面向对象的分布计算技术面向对象的分布计算技术t 面向构件
25、的分布计算技术面向构件的分布计算技术t 基于人工智能的代理技术基于人工智能的代理技术t 面向面向Web的分布计算技术的分布计算技术t 面向资源整合的分布计算技术面向资源整合的分布计算技术Page 30Page 30Beijing University of Posts and Telecommunications分布计算技术的发展历程分布计算技术的发展历程t 经典的经典的C/S技术技术t 面向过程的远程过程调用技术面向过程的远程过程调用技术t 面向对象的分布计算技术面向对象的分布计算技术t 面向构件的分布计算技术面向构件的分布计算技术t 基于人工智能的代理技术基于人工智能的代理技术t 面向面向
26、Web的分布计算技术的分布计算技术t 面向资源整合的分布计算技术面向资源整合的分布计算技术Page 31Page 31Beijing University of Posts and TelecommunicationsC/S模式的基本形式模式的基本形式强调客户端与服务端的分离强调客户端与服务端的分离广义上来讲,函数的调用与实现也属于广义上来讲,函数的调用与实现也属于Client/ServerClient/Server关系关系Page 32Page 32Beijing University of Posts and Telecommunications客户客户/服务器模式的层概念服务器模式的层概
27、念t 传统两层传统两层C/S模式模式t 三层三层C/S模式模式t N层层 C/S 模式模式Page 33Page 33Beijing University of Posts and Telecommunications传统两层传统两层C/S模式模式Page 34Page 34Beijing University of Posts and Telecommunications两层模式的特点两层模式的特点t特点特点n 请求应答方式请求应答方式n 以消息交换作为通信方式以消息交换作为通信方式n 服务集中于特定服务集中于特定Servert客户端与服务端分离带来的好处客户端与服务端分离带来的好处n数据独
28、立性数据独立性n(客户端)平台无关性(客户端)平台无关性一定程度上的一定程度上的n可扩充性、安全性、可靠性等可扩充性、安全性、可靠性等Page 35Page 35Beijing University of Posts and Telecommunications2层层=3层层=N层结构层结构t2层结构存在很多缺陷:层结构存在很多缺陷:n客户端的负担仍比较重客户端的负担仍比较重仍然需要客户端进行较复杂的数据处理仍然需要客户端进行较复杂的数据处理n客户端的可移植性不好客户端的可移植性不好处理复杂必然牵涉更多的移植性问题处理复杂必然牵涉更多的移植性问题每个客户端上都要安装数据库驱动程序每个客户端上都
29、要安装数据库驱动程序n系统的可维护性不好系统的可维护性不好客户端包含过多的商业逻辑客户端包含过多的商业逻辑商业逻辑与人机交互界面交织在一起商业逻辑与人机交互界面交织在一起n数据的安全性数据的安全性t需求:需要更合理的工作分配需求:需要更合理的工作分配3层或多层结构层或多层结构Page 36Page 36Beijing University of Posts and Telecommunications三层三层C/S结构结构 层的概念(TIERS):在客户/服务器意义上,一个层就代表一个具有定义好的特定功能平台,一个平台是一个计算机软件和硬件的组合Page 37Page 37Beijing Un
30、iversity of Posts and Telecommunications三层(多层)结构的主要优点三层(多层)结构的主要优点 t更合理的分配任务,层次清晰,更合理的分配任务,层次清晰,管理和维护相对简单。管理和维护相对简单。t使使“胖客户胖客户”变成变成“瘦瘦”客户;客户;客户端只需把精力集中在人机客户端只需把精力集中在人机界面上。界面上。n前例的浏览器是纯粹意义上的前例的浏览器是纯粹意义上的“瘦瘦”客户,也叫做客户,也叫做B/S模式模式t中间业务逻辑层包含了大量的中间业务逻辑层包含了大量的供客户端程序调用的业务逻辑供客户端程序调用的业务逻辑规则规则(被用户共享被用户共享),可随具体,
31、可随具体业务的变化而改变,大大提高业务的变化而改变,大大提高系统的可伸缩性。系统的可伸缩性。Page 38Page 38Beijing University of Posts and Telecommunications三层(多层)结构的主要优点三层(多层)结构的主要优点(续)续)t使中间层的业务逻辑处理与数据使中间层的业务逻辑处理与数据层的业务数据紧密结合在一起,层的业务数据紧密结合在一起,可以提高系统的性能。可以提高系统的性能。t数据服务层主要提供对数据库进数据服务层主要提供对数据库进行各种操作的方法,系统的安全行各种操作的方法,系统的安全性提高。性提高。t大量的中间层分布计算环境提供大量
32、的中间层分布计算环境提供丰富的系统级服务,使得开发人丰富的系统级服务,使得开发人员可以以更少的工作量开发出更员可以以更少的工作量开发出更复杂、可靠、高效的软件系统。复杂、可靠、高效的软件系统。Page 39Page 39Beijing University of Posts and TelecommunicationsN层结构层结构t在在3 3层结构中,客户层和数据层已被严格定义,但中间层并未明确层结构中,客户层和数据层已被严格定义,但中间层并未明确定义。定义。t中间层可以包括所有与应用程序的界面和持久数据存储无关的处中间层可以包括所有与应用程序的界面和持久数据存储无关的处理。假定将中间层划分
33、成许多服务程序是符合逻辑的,那么将每理。假定将中间层划分成许多服务程序是符合逻辑的,那么将每一主要服务都视为独立的层,则一主要服务都视为独立的层,则3 3层结构就成为层结构就成为N层结构。层结构。t例如,中间层可以分为实现界面呈现的例如,中间层可以分为实现界面呈现的Web服务器层和实现实际服务器层和实现实际商业逻辑的商业逻辑的EJB层。层。Page 40Page 40Beijing University of Posts and TelecommunicationsJ2EE架构中的多层结构架构中的多层结构Page 41Page 41Beijing University of Posts and
34、 Telecommunications因因为为分分布布式式软软件件跨跨越越了了多多台台计计算算机机,所所以以需需要要一一种种类类似似于于TCP/IP这这样的网络基础设施来连接应用程序的各节点。样的网络基础设施来连接应用程序的各节点。t需要抽象层次更高、更方便实用的通信机制。需要抽象层次更高、更方便实用的通信机制。t在两层结构中,对网络协议的抽象是比较容易的:在两层结构中,对网络协议的抽象是比较容易的:数据库驱动程序数据库驱动程序 嵌入式嵌入式SQL ODBC/JDBC等。等。t多层结构需要更复杂基础设施以实现跨网络的通信。多层结构需要更复杂基础设施以实现跨网络的通信。n相应的分布计算环境会进行
35、支撑相应的分布计算环境会进行支撑层间通信层间通信Page 42Page 42Beijing University of Posts and Telecommunications分布计算技术的发展历程分布计算技术的发展历程t 经典的经典的C/S技术技术t 面向过程的远程过程调用技术面向过程的远程过程调用技术t 面向对象的分布计算技术面向对象的分布计算技术t 面向构件的分布计算技术面向构件的分布计算技术t 基于人工智能的代理技术基于人工智能的代理技术t 面向面向Web的分布计算技术的分布计算技术t 面向资源整合的分布计算技术面向资源整合的分布计算技术Page 43Page 43Beijing Un
36、iversity of Posts and Telecommunications面向过程的远程过程调用面向过程的远程过程调用 t沿用用户熟悉的编程模式,调用远端过程并将结果返回。沿用用户熟悉的编程模式,调用远端过程并将结果返回。通信一般采用同步方式(通信一般采用同步方式(Request-Wait-ReplyRequest-Wait-Reply)。)。Page 44Page 44Beijing University of Posts and Telecommunications远程过程调用机制远程过程调用机制(RPC)t 在发送方的地址空间里创建一个远程组件在发送方的地址空间里创建一个远程组件(
37、如过程如过程)的代理,在接的代理,在接收方的地址空间里创建一个桩(收方的地址空间里创建一个桩(StubStub)。)。发送方与代理通信,代理发送方与代理通信,代理再和接收方侧的再和接收方侧的StubStub通信。通信。t 在这种体系结构下,组件间的远程通信封装在代理在这种体系结构下,组件间的远程通信封装在代理StubStub通信中,通信中,它是由建立在中间件它是由建立在中间件APIAPI基础上的基础上的IDLIDL编译器生成的。发送方只和本编译器生成的。发送方只和本地代理通信,接收方从本地地代理通信,接收方从本地StubStub得到所有的请求。得到所有的请求。调用过程调用过程接收方代理接收方代
38、理远程过程远程过程Stub进程边界进程边界Page 45Page 45Beijing University of Posts and Telecommunications远程过程调用机制远程过程调用机制(续续1)Page 46Page 46Beijing University of Posts and Telecommunications分布计算技术的发展历程分布计算技术的发展历程t 经典的经典的C/S技术技术t 面向过程的远程过程调用技术面向过程的远程过程调用技术t 面向对象的分布计算技术面向对象的分布计算技术t 面向构件的分布计算技术面向构件的分布计算技术t 基于人工智能的代理技术基于人工
39、智能的代理技术t 面向面向Web的分布计算技术的分布计算技术t 面向资源整合的分布计算技术面向资源整合的分布计算技术Page 47Page 47Beijing University of Posts and Telecommunications面向对象的分布计算技术面向对象的分布计算技术 t近近20年来,面向对象技术已成为软件系统构造的基本技术年来,面向对象技术已成为软件系统构造的基本技术tOO的精髓在于对象维护自身的状态并通过消息进行通信,这对的精髓在于对象维护自身的状态并通过消息进行通信,这对于分布式计算环境是非常理想的于分布式计算环境是非常理想的t分布对象技术分布对象技术核心内容在于分布
40、对象之间的互操作,尤其是异构环境中的核心内容在于分布对象之间的互操作,尤其是异构环境中的互操作问题互操作问题Page 48Page 48Beijing University of Posts and Telecommunications典型的面向对象的分布计算环境典型的面向对象的分布计算环境t CORBA:Common Object Request Broker Architecturet DCOM:Distributed Component Object Modelt EJB:Enterprise Java BeanPage 49Page 49Beijing University of Po
41、sts and TelecommunicationsCORBAPage 50Page 50Beijing University of Posts and Telecommunications分布计算技术的发展历程分布计算技术的发展历程t 经典的经典的C/S技术技术t 面向过程的远程过程调用技术面向过程的远程过程调用技术t 面向对象的分布对象技术面向对象的分布对象技术t 面向构件的分布计算技术面向构件的分布计算技术t 基于人工智能的代理技术基于人工智能的代理技术t 面向面向Web的分布计算技术的分布计算技术t 面向资源整合的分布计算技术面向资源整合的分布计算技术Page 51Page 51Bei
42、jing University of Posts and Telecommunications面向构件的分布计算技术面向构件的分布计算技术t基于基于对对象的象的应应用程序用程序-通过重用类库中的对象达到代码重用通过重用类库中的对象达到代码重用n真正实现了信息隐藏和数据抽象的承诺真正实现了信息隐藏和数据抽象的承诺n各种应用程序分享细颗粒的对象(类库)各种应用程序分享细颗粒的对象(类库)n对象仍然是被动的,仍然需要一种结构(控制流)将它们连接到一起对象仍然是被动的,仍然需要一种结构(控制流)将它们连接到一起n不能把握将对象拼装在一起所需的逻辑联系不能把握将对象拼装在一起所需的逻辑联系=不能提供高度
43、的代码重用机制不能提供高度的代码重用机制t大量的应用程序,特别是同一领域中的应用程序,分享相似的结大量的应用程序,特别是同一领域中的应用程序,分享相似的结构。这些结构并没有经过通常的面向对象技术而得到重用。构。这些结构并没有经过通常的面向对象技术而得到重用。n解决方法:软件构件体系结构解决方法:软件构件体系结构框架、构件、对象总线框架、构件、对象总线Page 52Page 52Beijing University of Posts and Telecommunications软件构件体系结构的应用模型软件构件体系结构的应用模型对象总线总线服务命名生命周期安全性.用户接口任务管理医疗金融.水平功
44、能 垂直功能C框架CCC总成CCCC构件应用程序总线功能Page 53Page 53Beijing University of Posts and Telecommunications分布计算技术的发展历程分布计算技术的发展历程t 经典的经典的C/S技术技术t 面向过程的远程过程调用技术面向过程的远程过程调用技术t 面向对象的分布对象技术面向对象的分布对象技术t 面向构件的分布计算技术面向构件的分布计算技术t 基于人工智能的代理技术基于人工智能的代理技术t 面向面向Web的分布计算技术的分布计算技术t 面向资源整合的分布计算技术面向资源整合的分布计算技术Page 54Page 54Beijin
45、g University of Posts and Telecommunications背景背景 tInternet和和Web技术的飞速发展和普及,对代理技术提出技术的飞速发展和普及,对代理技术提出了很大的需求了很大的需求n信息爆炸信息爆炸n工作生活安排日益复杂工作生活安排日益复杂n软件之间的协作日益复杂软件之间的协作日益复杂nt人工智能技术的成果,对代理技术有了较好的支撑人工智能技术的成果,对代理技术有了较好的支撑Page 55Page 55Beijing University of Posts and Telecommunications什么是代理什么是代理 t广义的代理:人类、物理世界中
46、的移动机器人和信息世界广义的代理:人类、物理世界中的移动机器人和信息世界中的软件机器人中的软件机器人t狭义的代理:信息世界中的软件实体。具有一定程度的智狭义的代理:信息世界中的软件实体。具有一定程度的智能,其智能化的程度可以从简单的预定义规则到复杂的自能,其智能化的程度可以从简单的预定义规则到复杂的自学习人工智能推理机。学习人工智能推理机。t代理可代表其它实体如人、系统资源或其它程序自主地运代理可代表其它实体如人、系统资源或其它程序自主地运行,并常常是事件或时间驱动的。它可与用户、系统资源行,并常常是事件或时间驱动的。它可与用户、系统资源或其它代理进行通信以执行自己的任务。更先进的代理可或其它
47、代理进行通信以执行自己的任务。更先进的代理可与其它代理合作承担单个代理无法完成的任务。移动代理与其它代理合作承担单个代理无法完成的任务。移动代理还可根据需要从一个系统移到另一个系统上运行。还可根据需要从一个系统移到另一个系统上运行。Page 56Page 56Beijing University of Posts and Telecommunications移动代理和移动代理环境移动代理和移动代理环境Page 57Page 57Beijing University of Posts and Telecommunications分布计算技术的发展历程分布计算技术的发展历程t 经典的经典的C/S技
48、术技术t 面向过程的远程过程调用技术面向过程的远程过程调用技术t 面向对象的分布计算技术面向对象的分布计算技术t 面向构件的分布计算技术面向构件的分布计算技术t 基于人工智能的代理技术基于人工智能的代理技术t 面向面向Web的分布计算技术的分布计算技术t 面向资源整合的分布计算技术面向资源整合的分布计算技术Page 58Page 58Beijing University of Posts and Telecommunications面向面向Web的分布式计算的分布式计算 tInternet和和Web技术的飞速发展和普及,对信息共享和应技术的飞速发展和普及,对信息共享和应用协同提出了更高的要求用
49、协同提出了更高的要求n信息共享信息共享Web 1.0Web 2.0n广域网络环境下,异构应用程序的互操作广域网络环境下,异构应用程序的互操作Web ServicePage 59Page 59Beijing University of Posts and TelecommunicationsWeb 1.0 t以数据为核心,将以前没有放在网上的人类知识,通过商业的以数据为核心,将以前没有放在网上的人类知识,通过商业的力量,放到网上去力量,放到网上去 t通过通过WEB,互联网上的资源,可以在一个网页里比较直观的表,互联网上的资源,可以在一个网页里比较直观的表示出来;而且资源之间,在网页上可以链来链去
50、示出来;而且资源之间,在网页上可以链来链去 n手工手工浏览互相链接的文档浏览互相链接的文档n通过手工操作处理采购等商业事务通过手工操作处理采购等商业事务n下载文件下载文件t支持支持Web 1.0 的分布计算环境的主要组成及支撑技术的分布计算环境的主要组成及支撑技术n浏览器、浏览器、Web服务器服务器n搜索引擎、门户网站搜索引擎、门户网站nHTTP、HTMLn静态网页技术、动态网页技术静态网页技术、动态网页技术Page 60Page 60Beijing University of Posts and TelecommunicationsWeb 2.0 t以人为出发点,让所有的人都忙起来,全民织网