2012年下午试题1分析与解答
试题二
【说明】
某软件公司拟开发一套电信领域的分布式系统,该系统后台多个功能模块同时运行时的计算负载较大,且需要控制不同的特定电信硬件设备,由于硬件体积和I/O端口冲突等原因,这些设备需要分散安装在多个不同计算机系统中。该系统上线运行后将为企业最终用户提供7X24小时的不间断服务,而用户的单次接入服务往往需要后台多个模块共同协作完成。基于上述原因,该系统后台软件模块需分布在局域网内的多台计算机上。
项目组决定基于ISO的开放分布进程(0DP)规范来进行系统架构的设计与开发,近期项目组召开了多次会议,对架构设计阶段的关键问题进行了讨论分析。
【问题1】
ODP从5个标准的视点组织分析系统的架构,这些视点描述了同一系统的不同重要方面,请根据图2-1中不同视点所关注的核心内容,将备选的架构视点填入图中的(1)~ (5)。
备选答案:技术选择架构、企业业务架构、分布式工程架构、计算接口架构、逻辑信息架构
(1)企业业务架构
(2) 逻辑信息架构
(3) 计算接口架构
(4) 分布式工程架构
(5) 技术选择架构
【问题2】
在技术选择架构规划时,王工认为系统应基于现有分布式基础设施(分布式中间件) 来构建,因为这样可以充分利用现有基础设施提供的各种支撑,在更短时间内构造出质量更高的分布式系统;而李工则认为可基于基本的进程间通信机制自主开发系统的支撑平台,这样可以避免对特定中间件的依赖,项目组经过认真讨论,最终采用了王工的方案。请用400字以内文字,从构件管理支持、互操作支持以及公共服务支持三个方面说明现有分布式基础设施为构建分布式系统所提供的基本支撑。
(1) 构件管理支持:现有分布式基础设施一般通过构件容器为构件提供基本的运行环境;具体功能一般包括管理构件的实例及其生命周期、管理构件的元信息等。
(2) 互操作支持:现有分布式基础设施均提供了高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统、程序设计语言等方面的异构性;基于互操作支持, 开发人员在开发与调用分布式对象时,均不需自己编写处理底层通信的代码。
(3) 公共服务支持:现有分布式基础设施通常将针对分布式软件的通用支持集成于一身,以公共服务的形式提供给应用程序;其提供的常见公共服务包括命名服务、事务 服务、安全服务、持久性服务等。
【问题3】
由于系统后台模块的分布式特性,后台分布式对象之间的互操作机制是需要考虑的核心问题之一。图2-2所示是当前分布式基础设施中支持分布式对象互操作的基本机制, 请将相应部件名称填入图中(1) ~ (2);基于图2-2给出的结构,用300字以内文字说明完成一次分布式对象调用的详细步骤。
(1) 存根/粧
(2) 框架或
(1) 代理
(2) 存根
一次远程调用的过程如下:
①客户程序将调用请求发送给客户端粧,对于客户程序来说,桩就是服务程序在客户端的代理。
②客户端粧负责将远程调用请求进行编组并发送给通信总线。
③调用请求经通信总线传送到服务端框架。
④服务端框架将调用请求解组并分派给真正的远程对象实现(服务程序)。
⑤服务程序完成客户端的调用请求,将结果返冋给服务端框架。
⑥服务端框架将调用结果编组并发送给通信总线。
⑦调用结果经通信总线传送到客户端桩。
⑧客户端粧将调用结果解组并返回给客户程序,客户程序得到调用结果。