资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第六章 分布式对象概述,6.1 分布式计算,分布式计算就是多个软件互相共享信息以完成统一的计算功能。,计算机 A,2+2,计算机 B,2/1,计算机 C,2*1,(2/1)+(2*1),分布式计算的实现过程,一些需要非常巨大的计算能力才能解决的问题:,1.解决较为复杂的数学问题。例如:,GIMPS,(寻找最大的梅森素数),2.研究寻找最为安全的密码系统。例如:RC5-72(密码破解),美国RSA数据安全实验室,3.生物病理研究。例如:Foldinghome(研究蛋白质折叠,误解,聚合,及由此引起的相关疾病),4.信号处理。例如:SETIHome(在家寻找地外文明),可以帮助一些缺乏研究资金的、公益性质的科学研究,加速人类的科学进程。,2.有效利用全世界联网机器的闲置处理能力。,3.向大众普及科学意识。,BOINC分布式计算平台介绍,Open Infrastructure for Network Computing-,伯克利开放式网络计算平台,BOINC 的开发目的,为了帮助研究人员更方便地获得分布在世界各地的志愿者的计算资源。,BOINC 平台上的主流计算项目:,SETIhome,搜寻外星文明发出的无线电信号。,EinsteinHome,寻找引力波存在的证据,2005世界物理年的活动项目。,Rosettahome,蛋白质结构预测和设计。,ClimatePrediction.Net,研究气候变化的趋势(简称CPDN)。,World Community Grid,IBM公司主持的分布式计算项目,含多个生命科学类的子项目。,b机,a机,就是支持访问异地对象,同一地址空间,C+编译器完成连接,C+Main,Program,C+Object,分布对象技术要解决的问题,6.2.1 分布式对象技术要解决的基本问题,6.2 分布式对象技术,订购,服务器1,订购,服务器2,订购,服务器n,WEB,服务器 1,Internet,.,.,调度程序,考虑负载均衡的问题,6.2.1 分布式对象,技术,要解决的基本问题,问题案例一:如何综合越来越多的数据库资源,以适应不断发展的业务逻辑,客户,Oracle,Sybase,Informix,如何加入综合多个数据库的业务逻辑?,如何集成其它非数据库操作的业务逻辑?,如何处理“肥客户”应用问题?,如何处理用户界面风格多样性,?UI,问题案例二,如何管理不断接入的新应用,管理器,N1,N2,Nk,.,汇编语言,单机应用开发环境,分布式应用开发环境,Socket API,C语言,OOP语言,中间件技术,RPC,分布式对象技术,6.2.1 分布式对象技术要解决的基本问题,OMG:CORBA,MS:ActiveX/DCOM,Sun:JavaRMI/EJB,我们都听到了哪些词汇?,组件模型,CORBA/IIOP,RMI,分布式对象,ActiveX Controls,RPC,COM/DCOM,还有还有.,EJB,6.2.2 分布对象技术概论,分布计算是近二十年来影响计算机急速发展的最活跃因素之一,经历了两种不同的技术路线:,1.理想的技术路线(80年代学术界普遍追求的目标),试图在互连的计算机硬件上部署全新的分布式操作系统,2.现实的技术路线,(90年代工业界普遍遵守的路线),在网络计算平台上部署分布计算环境,提供开发工具和公共服务,支持分布式应用,资源共享和协同工作,集中式,客户/服务器,6.2.2 分布对象技术概论,分布式系统比想象的要复杂:,1.异构环境下的应用互操作的问题,2.系统管理问题,3.系统安全的问题,4.传统的面向过程的技术在开发大型软件系统的局限性,面向对象技术用于分布式(分布对象技术)标志第二代分布式计算技术进入成熟和蓬勃发展时期。,分布式对象技术始于90年代初,已经发展成为当今分布异构环境下建立应用系统集成框架和标准构件的核心技术。,6.2.2 分布对象技术概论,面向的主要问题,信息共享,智能化的协同工作,异构环境下的信息互操作,体系结构,经典的客户/服务器模型,面向对象的多层客户服务器模型,自主的多agent模型,关键技术的特点,沿用传统的计算概念和设施(如过程调用和文件设施),将面向对象技术应用到分布计算,面向agent的拟人化交互环境,成果,能够提供丰富的分布式系统服务,良好的分布式系统管理和典型的分布系统应用,已经成为建立集成构架和软构件标准的核心技术,概念验证系统令人鼓舞,尚未达到广泛应用与协同工作的成熟程度,第一代,(80年代中90年代初),第三代,(从现在开始),第二代,(90年代),6.2.2 分布对象技术概论,分布对象技术的核心概念有那些?,1 分布对象的位置对客户透明,2 可以被远程客户应用以方法调用的形式访问,3 分布对象所使用的语言要对客户透明,4.分布对象运行的系统平台对客户透明,5.分布对象具有移动性,(允许语言、操作平台的差异性),一个应用逻辑,A机,对象,对象,对象,对象,A机,一个应用逻辑,对象,对象,对象,对象,D机,C机,B机,Java,VB,C+,VB,6.2.2 分布对象技术概论,分布式系统、分布对象与软构件(中间件),1.独立于特定程序设计语言和应用系统,可重用和自包含的软件成分称为软构件。,2.分布对象是一种典型的软构件。,3.分布式系统是分散在两个或更多地方的计算机上为了实现一个共同的目标而共同工作的软件实体集合。,分布式应用系统中的成员:,1.创建和维护分布对象的实体的应用称为服务器。,2.按照接口访问该对象的应用称为客户。,3.服务对象同时可以是其它服务对象的客户。,C+Main,Program,Object A,Object A,Object A,Agent 1,Agent 2,网,络,计,算,环,境,A,的代理,对象适配器,ORB,什么是对象请求代理?,支持客户访问异地分布对象的核心机制称为对象请求代理ORB,(Object Request Broker),A机,一个应用逻辑,对象,对象,对象,对象,D机,C机,B机,一个应用逻辑,A机,对象,对象,对象,对象,6.2.3 分布对象技术-基本工作原理,客户,应用逻辑,分布对象,代理,服务器,对象请求分发器,分布对象的实现,对象请求适配器,对象请求感知器,网络传输访问,ORB,服务器构造构架,客户构造构架,相同的接口,相同的接口,6.2.3 分布对象技术-基本工作原理,分布对象技术-基本工作原理,ORB,ORB,客户,客户,客户,客户,O1,O2,Oracle,O3,O4,Sybase,O5,O6,Informix,O1R,O2R,O3R,O4R,O5R,O6R,虚拟,图书馆,查询,预约服务,还书,通知,通知,还/借处理,如何管理客户应用,预约,预约,6.2.4 分布式对象主流技术,分布对象技术的实质性进步:,1.使面向对象技术能够在异构的网络环境中得以方便的实施。,2.有效地控制系统的开发、管理、维护的复杂性。,分布对象的主流技术:,1.OMG的CORBA,2.SUN的JavaRMI/EJB,3.Microsoft ActiveX/DCOM,三种组件模型的比较,CORBA/ORB,ActiveX/DCOM,EJB/RMI,集成性,支持跨语言操作,好,好,一般,支持跨平台操作,好,一般,好,网络通讯,好,一般,好,公共服务构件,好,一般,好,可用性,事务处理,好,一般,一般,消息服务,一般,一般,一般,安全服务,好,一般,好,目录服务,好,一般,一般,容错性,一般,一般,一般,产品成熟性,一般,一般,一般,软件开发商的支持度,一般,好,好,可扩展性,好,一般,好,
展开阅读全文