- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件互操作接口定义 (6)IDL属性 IDL 定义显露公共的属性与操作 如果属性或者操作是私有的 则它不应出现在IDL定义中 属性可以是 只读的(Read-only) 或者 可读写的(read-write) 每个属性都具有一个IDL数据类型 并出现在一个特定的IDL接口定义中 例如: interface foo { enum material_t {rubber, glass}; struct position_t { float x, y; }; attribute float radius; attribute material_t material; readonly attribute position_t position;}; IDL序列 (Sequence) 序列是IDL特有的特殊数据类型 其本质上是变长数组 下面的例子通过IDL向C语言的映射 显示了序列的实现方式 typedef sequencelong LongSeq; struct Automobile { string make, model; unsigned short year;}; typedef sequenceAutomobile AutomobileSeq; C: typedef struct { CORBA_unsigned_long _maximum; CORBA_unsigned_long _length; CORBA_long *_buffer; } LongSeq; typedef struct { CORBA_char *make, *model; CORBA_unsigned_short year; } Autumobile; typedef struct { unsigned long _maximum; unsigned long _length; Automobile *_ buffer; } AutomobileSeq; (7) 值类型(Value Type) 一般情况下 在IDL定义的接口中 如果一个返回参数是一般的类型 则它将总是返回参数的值 如果一个返回参数是一个对象的接口 则它通常返回参数(即服务对象)的引用 如果此时希望返回服务对象的值 则需要将该参数声明为值类型 值类型是CORBA为解决在操作过程中传递对象的值而引入的类型 值类型介于接口类型与结构类型之间 值类型的实现总是本地的为IDL定义 创建 分离的名空间 防止不同领域中标识之间的冲突 模块可以嵌套以创建 具有一定长度的限定范围的 名字引用 名字引用例子: Part::Assembly::ComponentWidget (8)IDL 模块 (Modules) 3个模块例子: module Assembly { typedef string Widget; }; module Part { typedef Assembly::Widget PartWidget; module ComponentPart { typedef PartWidget ComponentWidget; }; }; CORBAServices 对模块进行扩充使用 每个服务定义了一个或多个模块 * * 为了使客户能够准确、方便地访问服务 服务的提供者必须 对自身进行准确的描述 并以一定的方式提供给客户 一、接口是什么 二、OMG-IDL 三、WSDL 四、比较 内 容 一、接口是什么 1、概念 接口(Interface) 应用编程接口(API) 对象接口 构件接口 抽象?实在? 模块通常由接口和实现两部分组成 模块的接口部分 刻画了各个模块是如何耦合的 其他模块的设计者和使用者需要知道 模块的实现部分 是各个模块的内部事务 其他模块的设计者和使用者不需要知道 包含什么具体内容?(功能性、约束性) 利用什么形式描述?(接口定义语言) 含义解释 单机环境下的不同软件模块之间 主要定义模块的功能性(Functional)内容类似于一个函数的映射过程 接口的功能性定义是对接口中各个操作调用方式的描述 操作 是由操作符标识的实体 指明了一个不可再分的服务原语 请求一个操作的动作被称为调用一个操作 对一个操作功能的描述由输入、输出两部分组成 也被称为一个特征标记(signature) 用于描述操作的输入、输出参数名称及类型 功能性(Functional) 网络环境下的不同软件模块的合作需要考虑的因素 不仅仅包含功能方面 还涉及分布性、可靠性
您可能关注的文档
最近下载
- 防腐、保温施工方案.docx VIP
- (完整版)沟槽开挖及支护专项施工方案(深基坑专家论证).doc
- 4.1 水循环(教案)2023-2024学年湘教版(2019)高中地理必修一.docx VIP
- EIM Book 1 Unit 1 Free time单元检测试题.pdf VIP
- 金风1.5MW型风机变流器断路器反馈丢失故障作业指导书.docx VIP
- 信息与通信技术产品供应链安全测试方法.docx VIP
- 高中必备成语及解释800个.docx VIP
- 公差配合与测量技术 第2版 项目三 千分尺与指示表的测量操作.pptx VIP
- 金风1.5MW型风机主控柜断路器状态反馈丢失故障作业指导书.docx VIP
- 第2课学会沟通交流(教学课件) 道德与法治统编版五年级上册.ppt
文档评论(0)