首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 200字以内文字,说明实现这种透明性的基本原理。 由于应用的具体需求千差万别,再好的分布式软件体系结构也不
虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 200字以内文字,说明实现这种透明性的基本原理。 由于应用的具体需求千差万别,再好的分布式软件体系结构也不
admin
2007-10-08
73
问题
虽然不同的分布式软件体系结构采用的具体实现方式不尽相同,但它们都支持客户端透明地访问分布式对象,即客户端可以像访问本地对象一样访问分布式对象。试用 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
系统分析师下午案例分析考试
软考高级
相关试题推荐
输入一个整数和一棵二元树。从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。打印出和与输入整数相等的所有路径。例如输入整数22和如下二元树10
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,
如何通过ADO.NET读取数据库中的图片?
.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
求两个串中的第一个最长子串(神州数码以前试题)。如"abractyeyt","dgdsaeactyey"的最大子串为"actyet"。
删除字符串中的数字并压缩字符串(神州数码以前笔试题),如字符串”abc123de4fg56”处理后变为”abcdefg”。注意空间和效率。(下面的算法只需要一次遍历,不需要开辟新空间,时间复杂度为O(N))
自定义工具栏上的按钮添加“自动索引”按钮,删除“查找”按钮。
为拨号网络创建快捷方式。
利用"开始"菜单的"运行"选项,启动"计算器"应用程序,计算器应用程序的标识为:c:\windows\system32\calc.exe(在"打开"中直接填写标识名)。
Excel2000中,列标()A.可以用各种符号表示B.用数字表示C.用字母表示D.可以用中文文字表示
随机试题
Humanityusesalittlelessthanhalfthewateravailableworldwide.Yetoccurrencesofshortagesanddroughtsarecausingfami
患儿,1岁。腹泻3天,大便为水样便,有呕吐,精神稍差,眼窝凹陷,皮肤弹性差,尿少,周围循环好。关于小儿腹泻的一些概念,错误的是哪一项
大气环境评价工作等级的确定是根据()确定。
建设项目在主体工程开工之前,必须完成各项施工准备工作,其主要工作内容不包括()。
20×5年2月,A公司与其全资子公司B公司签订了《协议一》,约定A公司将其建设用地使用权用于抵偿其欠B公司的2000万元债务,并约定了仲裁条款。但A公司未依约将该用地使用权过户到B公司名下,而是将之抵押给不知情的银行以获贷款,办理了抵押登记。同年4月,
下列有关增值税检查调整专门账户表述不正确的是()。
零基预算法的编制程序包括()。
案例一:某位班主任老师在班会上,用无记名的方式评选出3名“坏学生”,其中两位同学是因为最近违反了学校纪律,另一位学生虽然只有9岁,居然被同学们选出了18条“罪状”。当天下午二年级组组长召集评选出来的“坏学生”开会,对这三个孩子进行批评和警告,要求
派生类的构造函数的成员初始化列表中,不能包含()。
【B1】【B19】
最新回复
(
0
)