中间件复习题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中间件复习题

1.你认为什么是中间件?中间件的主要作用是什么?

●定义:中间件是介于应用系统和系统软件之间的一类软件,是位

于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。

●作用:使用系统软件所提供的基础服务(功能),衔接网络上应用

系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

2.比较B/S结构与C/S结构的优缺点。

C/s 是客户机和服务器结构

B/S是浏览器和服务器结构

B/S:

优点:1.具有分布性特点,业务处理方便;2.业务扩展简单方便;3.便于维护

缺点:1.响应速度不及C/S结构;2.用户体验效果不够理想,需要单独界面设计

C/S:

优点:1.客户端与服务器直接相连,响应速度快;2.C/S结构的管理信息系统具有较强的事务处理能力。

缺点:1.客户端需要安装专用的客户端软件,工作量、维护成本较大;

2.对客户端的操作系统有限制。

3.对客户端的操作系统一般也会有限制。不适用于微软新的操作系统等等,Linux、Unix等。

3.ORB、对象适配器的作用分别是什么?

●ORB:是OMA参考模型的核心,是基于分布式对象构建应用程序的

基础设施,保证了在异构平台上对象的互操作性与可移植性。

作用:把客户发出的请求传递给目标对象,并把目标对象的执行结果返回给发出请求的客户。由ORB提供的通信机制负责完成查找请求的对象实现,让对象实现准备好接收请求,传递构成请求的数据。

●对象适配器:对象适配器是联系对象实现与ORB本身的纽带。它

的引入还大大减轻了ORB的任务,从而简化了ORB的设计。

作用:

管理服务器端伺服对象,对象标识,CORBA对象以及它们之间关联。决定在收到一个客户请求时应调用哪一个伺服对象,然后调用该伺服对象上的合适操作。对象适配器主要完成以下工作:对象登记、对象引用(OR, Object Reference)的产生、服务器进程的激活、对象的激活、对象的撤消、对象向上调用。

4.描述典型CORBA程序的开发实现过程(静态工作模式)。

5.什么是POA策略?列举几种标准的POA策略并简要解释。

●POA策略:POA策略是一个对象,负责控制相关POA的行为及这些

POA所管理的对象,使用POA前应仔细考虑应用程序所需的策略集。

●标准POA策略:(选两种即可)

线程策略:该策略指定POA使用的线程模型,它有两种取值:

ORB_CTRL_MODEL(缺省值):表示由ORB负责将对POA的请求指派到线程。在多线程环境中,并发请求可以用多线程传送。

SINGLE_THREAD_MODEL:这时只有一个线程,POA顺序地处理请求。

对象标识指派策略:该策略指定对象标识是由程序员编写的服务程序生成还是由POA自动生成,它可取以下值:

USER_ID:由应用程序为POA的对象引用指定对象标识。

SYSTEM_ID(缺省值):由POA为它的对象引用分配对象标识。如果同时还采用了PERSISTENT策略,则在同一POA的所有实例中对象标识必须是唯一的。

对象标识唯一性策略:该策略允许多个抽象对象共享一个伺服对象,它可取下列值:

UNIQUE_ID(缺省值):被激活的伺服对象仅支持一个对象标识,POA不允许一个伺服对象与多个CORBA对象相关联。

MULTIPLE_ID:被激活的伺服对象可以有一个或多个对象标识,在运行时刻调用伺服对象的操作时必须由操作内部决定对象标识。生命期策略:该策略指定POA中对象实现的使用期限,它可有以下值:

TRANSIENT(缺省值):由POA创建的对象引用是瞬时的,这些对象在创建它的POA之外不可存在。一旦POA被冻结为非活动状态,调用该POA创建的任何对象引用将引发OBJECT_NOT_EXIST异常。对话型对象通常设计为瞬时对象。

PERSISTENT:由POA创建的持久对象可在创建它的POA之外存在,因而使用这一策略通常还会同时采用USER_ID策略。对持久对象的请求可能导致隐式地激活一个进程、一个POA以及实现该对象的伺服对象,这意味着POA应注册伺服对象定位器或激活器。实体型对象通常设计为持久对象。

隐式激活策略:该策略指定POA是否支持伺服对象的隐式激活,它可取以下值:

IMPLICIT_ACTIVATION:POA支持隐式激活,服务程序可调用servant_to_reference操作或servant_to_id操作将伺服对象添加到活动对象映射表并转换为对象引用,也可调用伺服对象的

_this方法激活伺服对象。该值要求同时使用SYSTEM_ID和RETAIN 策略。

NO_IMPLICIT_ACTIVATION(缺省值):POA不支持伺服对象的隐式激活,只有通过显式的调用才可将伺服对象与一个对象标识相关联。

伺服对象保持策略:该策略指定POA是否将活动伺服对象保存在活动对象映射表中,它有两种取值:

RETAIN(缺省值):POA利用活动对象映射表跟踪对象的激活情况,通常与伺服对象激活器或POA显式激活方式结合使用。

NON_RETAIN:POA不在活动对象映射表中保存活动的伺服对象,通常结合伺服对象定位器一起使用。

6.Corba客户端的静态和动态调用

(1)静态调用(SII)

静态调用借助于客户程序桩完成。

桩与框架在编译时创建并且在运行时不再改变,所以这些接口称为SII。

IDL桩负责客户程序的实现语言与ORB内核之间的映射。

客户程序开发者必须在程序编译之前就知道操作的名字和所有参数与返回值的类型,实际的操作名字、参数值和返回值是编写在应用程序的源代码中。

优缺点:编程更容易-根据名字调用远程方法,将参数传递给方法,和本地方法调用相同。

相关文档
最新文档