全部博文(626)
分类: WINDOWS
2013-09-25 10:03:59
ISA标准和惯例
ISA(Interactive Services Architecture)交互式服务架构
1)软件设计模式
ISA设计团队采用Factory模式来实现ISA设计的主要方面。
2)UML
ISA架构使用Rational Rose设计工具来创建复杂的面向对象系统的对象模型。
3)ISA1.4的实现
ISA1.4的实现采用下面的软件:
CORBA2.0
IDL
XML
IIOP作为基本的互操作能力协议
4)ISA对象模型
分布式对象技术:采用CORBA2.0作为理想的ISA兼容系统的实现,理由:
面向对象的能力
定位的独立性
语言的独立性
实现的独立性
硬件架构的独立性
操作系统的独立性
协议的独立性
传输的独立性
5)CORBA服务
CORBA提供了大量的预定义服务,
(1)命名服务
任何分布式系统都要解决的关键问题之一是怎样获得对象的引用,不管对象的实际位置。
对象位置透明 是CORBA的主要特征之一。
CORBA命名服务提供了一个分层的分布式命名服务。
(当服务器对象开始执行时,它用CORBA命名服务注册自身为一特殊的名字。客户端可使用此名字向命名服务器发出一请求,然后命
名服务器返回一对象引用供客户端调用对象的方法。)
为了客户端高效使用命名服务,ISA定义了标准的命名分层结构,客户端很清楚要使用的对象的标准名字。
(2)命名结构
CORBA命名服务以树结构分层命名的方式存储对象引用,类似于Windows的文件系统。
ISA架构采用了一个非常特殊的策略来使用CORBA命名服务和决定注册到命名服务的对象类型。此策略就是命名服务中的Factory
Object Reference。
Factory模式是:将对象的创建交由父类中定义的一个标准方法来完成,而不是其构造函数,究竟该创建何种对象由具体的子类负责
决定,并提供一个共同的接口来创建相互关联的多个对象。
Factory对象是创建其它对象的对象。
(3)通知服务
分布式系统中,当一些组件感兴趣的事件出现后,需要通知相关的系统组件。
CORBA通知服务提供了一个框架来异步发送通信消息(通知)到对象,提醒指定的事件已发生。
CORBA通知服务使用supplier/consumer分布式模型。
ISA事件模型由下面组件组成:
· PUSH Supplier(推供应商):
一ISA组件、连接到“代理推消费者”,通过调用适当的推方法来传输事件数据到消费者。
· Proxy Push Consumer(代理推消费者):
事件通道支持的一个接口,代理所有注册到事件通道的推消费者,接收事件并发送到实际的消费者。
· Push Consumer(推消费者):
一ISA组件,连接到"代理推消费者".
· Proxy Push Supplier(代理推供应商):
事件通道支持的一个接口,工作在事件通道的消费者端。消费者连接“代理推供应商”。
(4)通知服务支持三种方式的事件交付
· In CORBA::Any
· A CosNotification::StructuredEvent
· A sequence of StructuredEvents
基于事件通知使用的类型,适当的代理消费者和供应商必须被用于各自的供应商和消费者端。
事件通知经事件通道发送到组件。
一个事件通道是一个CORBA对象,它允许其它的对象相互通信而无需知道对方。
供应商是对象,提供事件到事件通道。
消费者是对象,从事件通道接收事件。
提供事件的过程有时是调用publishing事件。
通知服务提供了QoS设置,允许应用程序控制为事件消息交付的QoS所需的东西。
ISA事件模型使用通知服务的通信推事件模型。(此模型中,每个个体都关注事件通道提供的代理消费者。代理消费者从供应商处接
收事件通信,然后使用代理供应商传递事件数据到实际的消费者。简单说,供应商调用在消费者的接口来推事件。
(5)事件过滤
通知服务支持事件过滤,给事件消费者过滤事件的能力。
事件消费者能定义过滤器,它封装了一套限制,并添加到proxy或admin。
过滤器包含了限制表达式,限制表达式定义了过滤标准。
每个限制表达式由事件类型序列组成,使用限制语言,缺省的限制语言是EXTENDED_TCL。