1 / 45
文档名称:

高级软件工程IDL与ORB接口.ppt

格式:ppt   大小:109KB   页数:45页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

高级软件工程IDL与ORB接口.ppt

上传人:rabbitco 2021/6/29 文件大小:109 KB

下载得到文件列表

高级软件工程IDL与ORB接口.ppt

相关文档

文档介绍

文档介绍:4、OMG IDL
OMG IDL
IDL特点
IDL规范
模块
接口
提前声明
类型声明
序列
any 类型
属性
例外
操作签名
预编译
高级软件工程IDL与ORB接口
1、IDL特点
CORBA规范中最有意义的内容
IDL类似于应用程序接口(API)
在客户代码与对象实现(服务)之间定义了
一个清晰的边界
OMG IDL是一个稳定的标准
自1991年公布以来,基本未改变
是OMG其它被采纳规范的基础
已经被ISO采纳(ISO DIS 14750)
OMG IDL
高级软件工程IDL与ORB接口
一个IDL文件可以向多个编程语言映射
IDL是独立于语言的
CORBA规范包含IDL向具体编程语言的映射
已经发布映射规范的语言包括:
C, C++, SmallTalk, Ada95 等
IDL支持平***立性
IDL是独立于平台的
由IDL指定的接口可以在不同的ORB
与平台上一致地表达
只要程序员使用由IDL定义的接口
不会遇到由于使用CORBA导致的
平台移植问题
OMG IDL
高级软件工程IDL与ORB接口
IDL是一个纯规范,不涉及实现问题:
IDL定义的接口不对对象实现进行任何约束
例如: 编程语言
进程
算法 等
将客户从对象实现细节中清晰地分离出来
有利于:
软件复用
软件演化
这是IDL被广泛接收的重要原因
OMG IDL
高级软件工程IDL与ORB接口
IDL设计的质量至为重要
IDL通常被用于定义应用系统中的重要接口
例如:
子系统接口
企业模型接口
库接口 等
这些接口是复用、互操作的关键部分
IDL的变化将影响系统中的多个软件模块

好的IDL将: 提高复用与互操作性
提高系统的适应性
降低维护费用
OMG IDL
高级软件工程IDL与ORB接口
2、IDL规范
IDL是一个严格的定义
用OMG IDL编写的接口定义
完整地定义了接口 并且
完全指定了每个操作的参数
OMG IDL接口提供的信息
被用于开发使用接口操作的客户
客户程序不用纯描述性语言OMG IDL编写
而是用事先定义的映射
从OMG IDL概念映射到的语言编写的
OMG IDL
高级软件工程IDL与ORB接口
OMG IDL词法 遵循C++的词法规则
OMG IDL语法 是已被提议的ANSI C++标准的子集
但比C++更严格:
函数返回类型是强制的
对操作声明的每个正式参数都必须提供名称
由单个符号void组成的参数列表
不允许作为 空参数列表的同义字
结构、discriminated联合和枚举要求被标记
整数类型不能定义为简单的 int 或 unsigned
它们必须显式声明为short或long
char不能由 signed 或 unsigned 关键字限定
OMG IDL
高级软件工程IDL与ORB接口
(1)IDL 模块 (Modules)
为IDL定义 创建 分离的名空间
防止不同领域中标识之间的冲突
模块可以嵌套
以创建 具有一定长度的
限定范围的 名字引用
名字引用例子:
Part::Assembly::ComponentWidget
OMG IDL
高级软件工程IDL与ORB接口
3个模块例子:
module Assembly {
typedef string Widget;
};

module Part {
typedef::Assembly::Widget PartWidget;
module ComponentPart {
typedef PartWidget ComponentWidget;
};
};
CORBAServices 对模块进行扩充使用
每个服务定义了一个或多个模块
OMG IDL
高级软件工程IDL与ORB接口
(2) I