首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 200字以内文字,说明实现这种透明性的基本原理。 由于应用的具体需求千差万别,再好的分布式软件体系结构也不
虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 200字以内文字,说明实现这种透明性的基本原理。 由于应用的具体需求千差万别,再好的分布式软件体系结构也不
admin
2007-10-08
45
问题
虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 200字以内文字,说明实现这种透明性的基本原理。
由于应用的具体需求千差万别,再好的分布式软件体系结构也不可能适应所有的应用系统,有时不得不放弃现有的分布式软件体系结构的支持,自己利用底层的通信协议来实现各子系统之间的交互。试用200自以内文字,简要说明用底层通信协议实现各子系统之间的交互时要解决的主要问题。
选项
答案
要解决的主要问题如下。 (1)异类系统间交互的兼容性:例如,处理不同操作系统的字节顺序、数据长度、数据表示方式等。 (2)通信的可靠性问题:例如,出错处理、重传机制等。 (3)通信的安全性问题。 (4)接口的可用性、易用性问题。 说明直接利用底层通信协议,可以解决哪些基于成熟的分布式软件体系结构不能解决的问题。 第二步:根据问题要点,仔细阅读正文,找出相应段落 (1)现在主流的分布式软件体系结构(如EJB,CORBA,DCOM/COM+)都融合了面向对象技术,对分布式对象提供了很好的支持,可以利用这些体系结构支持分布式对象访问的通信机制(如RMI/IIOP,ORB,ORPC等)来实现各子系统之间的交互,其优点是实现相对简单且比较可靠。 (2)利用底层通信协议(如TCP/IP)实现各子系统之间的交互,其优点是通信效率高且可控性好。 (3)透明访问:客户端可以像访问本地对象一样访问分布式对象。 (4)再好的分布式软件体系结构也不可能适应所有的应用系统,有时不得不放弃现有的分布式软件体系结构的支持,自己利用底层的通信协议来实现各子系统之间的交互。 第三步,分析试题的内容,构思答案的要点
解析
[问题1]
在分布式系统中,不同的组件可能用不同的程序语言来实现,且这些组件可能运行在不同类型的处理器上。数据模型、信息表示法以及通信协议可能都不一样。因此,分布式系统就需要某种软件来管理这些不同的部分,确保它们能够通信和交换数据。中间件就是这样一种软件,它位于系统的不同的分布式组件之间。
中间件是一种通用软件,通常不是由应用开发人员编写的,而是买现成的。中间件的例子有负责数据库通信管理的软件、事务管理器、数据转换器和通信控制器等,最重要的一种中间件就是分布式系统框架。
在分布式系统的客户机/服务器模型中,客户机必须要知道服务器的存在及它们能提供的服务,还要知道如何才能使用这些服务器上的服务。这个模型对许多类型的应用来说能工作得很好。然而,它对系统设计者是一个很大的限制,因为设计必须决定服务在哪里提供,而且还得规划系统的伸缩性,当有较多的客户机增加到系统中时,就得考虑如何将服务器的负载分布开来。
更通用的分布式系统的设计方法是去掉客户机与服务器之间的差别,用分布式对象体系结构来设计系统。在一个分布式对象体系结构中,其基本系统组件是对象,它能够提供一组服务,对外给出这些服务的接口。其他对象调用这些服务,对象之间并不存在客户机与服务器的界限,接受服务者即扮演客户机的角色,提供服务者就是服务器。
对象可能分布在网络的多台计算机上,它们通过中间件相互通信。就像硬件总线允许不同的卡插于其上以支持硬件设备之间的通信一样,这个中间件被看成软件总线。它提供一组服务,允许对象之间通信和往系统上添加和移走对象。这个中间件称作对象请求代理。它的作用是在对象之间提供一个无缝接口。
主要的分布式对象体系结构框架有OMG定义的CORBA(通用对象请求代理体系结构),Microsoft开发的DCOM(分布式组件对象模型),SUN开发的EJB(企业级Java Bean)3种。它们在分布式对象处理方面的原理基本一样,只是具体实现上有所区别。下面以最通用的CORBA为例做简单的介绍。
CORBA对象模型也将对象看成是对属性和服务的封装,这对对象而言是很常见的,不同之处在于CORBA对象一定有一个独立的接口定义,它定义了对象的公共属性和操作。CORBA对象接口使用标准的、语言无关的接口描述语言(IDL)。如果一个对象想用另一个对象提供的服务,那么它就通过IDL接口访问这些服务。CORBA对象有一个独立的标识,称作互操作对象引用(IOR),当一个对象请求另外一个对象上的服务时使用IOR。
对象请求代理(ORB)知道正在请求服务的对象以及接口,ORB处理对象之间的通信。相互通信的对象没有必要知道对方的位置,也没有必要知道关于实现的具体细节。由于IDI。接口隔离了ORB和对象,因此可以以一种完全透明的方式改变对象的实现。对象位置可以在请求期间改变,对系统中其他对象来讲这也是透明的。
调用对象有一个相关联的IDL占位模块(stub,又称桩模块),定义了提供服务的那个对象的接口。当需要一个服务时,调用对象的实现者就将调用嵌入到实现对象的相应占位模块中去。提供服务的对象有一个相关联的IDL框架,它连接接口和服务的实现。当服务通过接口被调用时,IDL框架将它翻译成对服务的调用,而不管服务是用什么语言实现的。
对象请求代理不总是被实现成单独的过程,而是连接对象实现的框架。因此,在分布式系统中,每台运行着分布对象的计算机都有自己的对象请求代理,它将处理局部对象的所有请求。在请求调用的是远程对象提供的服务时,就需要在不同的ORB之间进行通信。实现ORB之间的通信有2种实现方式:一是提供所有ORB对全部IDL接口定义的访问,二是实现OMG标准的通用ORB间通信协议(GIOP),IIOP则是基于TCP/IP的 GIOP,如图6-5所示。
[问题2]
基于成熟的分布式软件体系结构来构建整个系统,可以利用这些体系结构支持分布式对象访问的通信机制来实现各子系统之间的交互,因为其通信机制、数据接口等已成标准,程序员只需直接使用就可以了,所以这种方法的优点是实现相对简单且比较可靠。
如果利用底层通信协议实现各子系统之间的交互,则各子系统之间的通信机制、数据接口等都需要开发人员自己拟订和确定,这是该方法要解决的主要问题。
转载请注明原文地址:https://kaotiyun.com/show/leQZ777K
本试题收录于:
系统分析师下午案例分析考试题库软考高级分类
0
系统分析师下午案例分析考试
软考高级
相关试题推荐
求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
用C++设计一个不能被继承的类。
输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
已知一台计算机的IP地址是192.168.1.159有共享文档,通过“我的电脑”窗口地址栏访问该文件夹。
把D:下的流行音乐文件夹进行共享但是文件仅可供本地用户使用。
设置拨号连接属性使得用户在使用拨号连接时需要使用我的Windows登录名和密码。
利用"开始"菜单的"运行"选项,启动"计算器"应用程序,计算器应用程序的标识为:c:\windows\system32\calc.exe(在"打开"中直接填写标识名)。
Excel2000中,列标()A.可以用各种符号表示B.用数字表示C.用字母表示D.可以用中文文字表示
关于Excel中创建图表,叙述正确的是______A.嵌入式图表建在工作表之内,与数据同时显示B.如果需要修饰图表,只能使用格式栏上的按钮C.创建了图表之后,便不能修改D.图表工作表建在工作表之外,与数据分开显示
下列叙述正确的是______A.进行打印预览时必须开启打印机B.使用“文件”菜单中的“打开”命令可以打开一个以存在的.DOC文件C.Word2000可将正在编辑的文档另存为一个纯文本(.TXT)文件D.Word2000允许同时打开多个文件
随机试题
条件性更新
关于炮制品的质量要求叙述不正确的是
在大体积混凝土施工中,为了保证工程质量,一般优先采用水化热较低的水泥,下列不属于水化热较低水泥的是( )。
在计算建筑安装工程费用时,住房公积金的费率可按照每万元发承包价中所含(),结合工程所在地所规定的缴纳标准来确定。
关于“平等待人”,理解或做法正确的是()
适合幼儿一日活动中过渡环节的游戏主要有手部游戏、()、歌谣游戏等。
[2003年]有一平底容器,其内侧壁是由曲线x=φ(y)(y≥0)绕y轴旋转而成的旋转曲面(见图1.3.5.10),容器的底面圆的半径为2m.根据设计要求,当以3m3/min的速率向容器内注入液体时,液面的面积将以πm2/min的速率均匀扩大(假设
为了在报表中打印当前时间,应该插入的控件是
Thedecisionaboutwheretolivewhilestudyingatthetertiarylevelcanhaveamajorinfluenceonastudent’schancesofsucce
A、300million.B、3billion.C、Over335million.D、Morethan28million.C短文提到,PAI的研究显示,目前有超过3.35亿人口缺水,因此C正确。
最新回复
(
0
)