ISA标准和惯例

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/2705731 ISA标准和惯例 ISA(Interactive Services Architecture)交互式服务架构1)软件设计模式ISA设计团队采用Factory模式来实现ISA设计的主要方面。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/2705731

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。

目录
相关文章
|
存储 监控 安全
【RISC-V 理论篇】SBI 规范解读(下)
【RISC-V 理论篇】SBI 规范解读(下)
685 0
|
7月前
|
安全 调度
软件体系结构 - 宏内核
【4月更文挑战第19天】软件体系结构 - 宏内核
102 0
|
4月前
|
存储 缓存 安全
USB 2.0 规范摘录2
USB 2.0 规范摘录
82 1
|
4月前
|
监控
USB 2.0 规范摘录1
USB 2.0 规范摘录
98 1
|
6月前
|
API C语言 开发者
C语言中抽象函数与具体实现的命名与组织
在C语言的嵌入式系统和开源软件开发中,良好地处理抽象函数与实现对于代码质量至关重要。建议将API作为接口定义操作,使用函数指针实现动态替换。避免使用`Impl`后缀,推荐用`Callback`或`Handler`表示具体实现。回调函数用于异步事件处理,通过指针传递。示例展示了C语言中函数指针的用法,嵌入式项目常通过目录结构区分平台相关代码。清晰的命名和组织能提升代码可读性和团队协作效率。
|
6月前
|
C语言
20.(C语言)联合和枚举全
20.(C语言)联合和枚举全
20.(C语言)联合和枚举全
|
7月前
|
Linux 编译器 Android开发
设备树覆盖:概念与术语
设备树覆盖:概念与术语
120 0
|
编译器 Linux C语言
ANSI C标准 vs GNU C标准
ANSI C标准 vs GNU C标准
706 0
ANSI C标准 vs GNU C标准
|
虚拟化 芯片 C++
【RISC-V 理论篇】SBI 规范解读(上)
【RISC-V 理论篇】SBI 规范解读(上)
829 0
|
存储 C语言
C语言-结构、联合、枚举
C语言-结构、联合、枚举
103 0
C语言-结构、联合、枚举