当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年软考系统架构设计师学习笔记第十章(1)
发布时间:2010/12/4 22:32:22 来源:城市学习网 编辑:ziteng
  构建平台与典型架构
  10.1 OMG 方式
  对象管理组 OMG,通过规范化对象 开放市场的 所有层次上的互操作性。
  10.1.1 对象请求代理
  CORBA 的主要目标就是使用不同语言、不同实现、不同平台 能进行交互。
  CORBA 三个基本部分:一套调用接口、对象请求代理 ORB、一套对象适配器。
  10.1.2 公共对象服务规范
  两类服务:一类服务应用于企业计算系统。一类服务应用于细粒度的对象操作,但目前这些服务的实用价值较差。
  1、支持企业分布式计算的服务
  1.命名服务、交易器服务
  命名服务 允许 任意地给对象赋予一个名字,这个名字在其所属的命名语境中是唯一的。
  命名语境所形成的层次结构,使得所有的名字形成名字树。
  交易器服务 允许给对象 赋予一个复杂的描述,从而允许客户基于该描述来定位所需的对象。
  搜寻结果往往是 满足查询条件的 一组对象列表。
  2.事件服务、通告服务
  事件服务 允许定义那些 从 时间生产者 被 发送到时间消费者 的事件对象。
  信息只能从生产者流向消费者,事件必须通过事件通道传播,事件可以具有类型,而通道可以根据类型过滤事件。
  事件通道支持“推”“拉”两种方式 的事件通告模型。
  通告服务为事件服务增加了几个重要的特征——服务质量 QoS 规范和管理。
  3.对象事务服务
  对象事务服务OTS,是建立分布式应用最重要的服务之一。
  OTS 实现必须支持平坦事务,而嵌套事务是可选的。
  在基于构件的系统中,嵌套事务似乎不可避免。
  平坦事务在构件系统中的价值有限,实际上,现有的主流事务中间件也不支持嵌套事务。 [NextPage]   6.并发控制服务
  支持对象资源进行 加锁、解锁。
  锁必须依赖于 事务的语境 或 其他语境才能获得。
  读锁、写锁、升级锁。
  读锁允许多个客户同时执行读操作,写锁允许一个客户写操作,升级锁是可以升级为写锁的读锁 支持互斥读。
  每个受保护的资源都拥有一个锁集合。锁集合 不是事务型 就是非事务型,并可与其他锁集合建立关联。
  8.生命周期服务
  支持 创建、复制、移动、删除 CORBA对象,及其相关的对象组。
  包含关系支持嵌套复制。
  11.外部化服务
  支持对象网 和 对象流 之间的双向映射。对象网外部化后 再内部化 意味着创建该对象网副本。
  外部化服务并不保证引用的完整性,仅保留同时外部化的对象之间的引用。
  对象必须实现 Streamable 接口才能被外部化。
  12.属性服务
  允许将任意的属性与对象关联起来,被关联的对象必须实现 ProperySet接口。
  13.对象查询服务
  依靠属性定位对象。
  15.时间服务
  拥有众多异步时钟的分布式系统 固有的误差问题。
  10.1.3 CORBA 构件模型
  CORBA 对象适配器主要的作用 就是在一个 ORB 和 真正接收调用并且返回结果的 对象之间 进行交互。
  10.2 SUN 公司的方式
  Java 构件技术的概述
  Java中,编译器会检查 Applet 代码的安全性,通过了编译器检查的 Applet 代码不会带来安全隐患。
  由于编译得到的字节码仍然可能被人修改,代码在装载时刻会被再次检查(称为“校验”)。
  运行环境(Runtime Environment,RE)、软件开发工具包(Software Development Kit,SDK)、参考实现。
  运行环境是 Java 虚拟机 和 必须具有的 J2SE API 的实现。
  10.3 Microsoft 的方式
  微软选择的是最简单的路线,他没有提出一整套标准;相反,他不断对已有的应用和平台基础进行再工程,这就可以获益于以前的成功技术。
  语言无关性,作为 CLR 的一条主要原则。
  10.3.1 第一个基础关联模型——COM
  COM 所定义的一个基础实体是接口。在二进制层面上,一个接口被表示为指向一个接口节点的指针。
  接口节点 唯一被指定的部分是 置于其内部第一个域的 另一个指针,这个指针指向一个过程变量表(或者说,函数指针表)。
  每个 COM 对象都有 IUnknown接口,通常置于 COM对象图的顶端。
  他的“真实”名字是他的 IID,即 00000000-0000-0000-C000-000000000046 为了方便,所有接口也有一个 可读名。
  根据习惯,可读接口名以字母I开头。与 IID 不同,可读接口名 并不保证是唯一的。因此,编程中的接口引用均使用 IID。
  IUnknown 接口的首要用途是在 最抽象的情况下 标志 COM对象,此时 COM对象 没有任何特殊功能。
  IUnknown 接口 只提供对任何 COM接口都必须的三个强制性方法。QueryInterface、AddRef、Release,后两个强制性方法被用来控制对象的生命周期。
  类型 HRESULT 被大多数 COM接口的方法用来表示调用成功或失败。 QueryInterface表明查询的接口是否被支持。
  每个 COM对象都会进行引用计数,引用计数变量被共享使用的情况下,COM对象 不能释放接口节点。
  一般这样做没有问题,也是通常的做法。
  某些情况下占用很多资源,可以使用独立的引用计数变量,以便节点可以尽早释放。这种根据需要创建和删除接口节点的技术有时被称作“快速装卸接口(Tear-Off Interface)”
 
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved