第四章中间件对CORBA的进一步解释课件.pptVIP

第四章中间件对CORBA的进一步解释课件.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 对CORBA的进一步解释 IDL的特点 面向对象 用于定义分布式服务的规格说明 定义复杂的数据类型 独立于具体的程序设计语言和特定的硬件,网络和操作系统平台 4.2 语法与定义 词法规则 模块声明 类型的声明 常量 异常 接口 值类型 4.2.1 词法规则 类似ANSI C++词法规则和预处理特性 关键字是大小写敏感;标识符大小写无关 4.2.2 模块的声明 用于限制标识符的作用域 一般将逻辑上密切相关的接口,类型,常量,异常等存放在同一模块中 4.2.3 类型的声明 基本数据类型 复合数据类型 枚举 结构 UNION 序列和数组 4.2.4 常量的声明 转换为该IDL接口生成的操作接口中的常量声明 接口内 接口外 4.2.5 异常的声明 引入关键字exception专门定义异常 4.2.6 接口的声明 属性声明 参数传递 单向传递 上下文传递 继承机制 抽象接口 接口——属性 属性不应看作对象的状态数据,是一种特殊的操作(0元操作) 可读写属性被映射为java中重载的方法(getter(),setter()) IDL接口中的属性被映射为JAVA语言的方法而不是变量,因此IDL接口可直接映射到JAVA的接口而不是类 接口——参数传递方向 in:客户到对象实现 out:对象实现到客户 inout:双向 in可直接映射到java方法的参数 out,inout无法直接映射,利用持有类解决 接口——单向操作 没有返回值的操作可设计为oneway操作 对象实现不确认请求是否真的收到 接口——上下文表达式 附带于操作中 指明客户端那些影响对象请求执行结果的,与发出调用请求的客户环境有关的因素 4.2.7 值类型的声明 作用 典型用法 声明形式 抽象 具体 动态确定参数传递 盒装值类型 定制值类型与可截断值类型 值类型——作用 在网络中传递对象状态信息,即为了实现按值传递对象 值类型——典型用法 按值调用传递参数:创建实参的副本 远程操作返回一个对象时创建返回的副本 实质:一个对象的目的是为了封装数据,或一个APP需要显式地对某一对象进行复制,该对象应使用IDL值类型而不是接口类型,此时的对象实例称为“值” 值类型——抽象值类型 只含操作的基调而没有状态数据和初始化数据,因而不能创建值的实例 可继承多个抽象值类型,但不能继承具体值类型 值类型——具体值类型 类似IDL结构类型,但允许包含状态数据和初始化数据 可继承单个具体值和多个抽象值类型,还可支持单个具体接口和多个抽象接口 映射为JAVA的抽象类 对接口的支持关系映射为JAVA中类对接口的实现关系 值类型——盒装值类型 允许将非值类型的IDL数据类型包装为值类型 值类型——定制值类型与可截断值类型 不采用默认的对象打包和解包操作,而是由程序员手工实现由CustomMarshal接口继承的marshal()和unmarshal()方法 映射的java抽象类继承CustomValue,而不像具体值类型那样继承StreamableValue 不生成映射的read(),write()方法,需自己实现 4.4.1 接口库的定义 接口定义也可由一个专门的服务进程来存储或管理,即把IDL文件中地对象接口定义组织成可运行的接口库服务,由该服提供对象接口的相关信息 表达的信息与IDL文件完全相同,更适于动态访问 常见用法:查找一个对象引用的所有IDL接口定义 客户程序或对象实现利用接口库获取一个编译时未知类型的对象引用的详细接口信息,从而更好地利用DII,DSI 4.4.2 结构 接口库将接口描述看作对象,为其定义了新的接口,无需引入数据库机制 层次结构 库标识:用于唯一标识一个接口库对象的字符串 IDL:一系列/分隔的标识符:版本号 IDL:Bank/Account/deposit:1.0 对象适配器 作用:管理服务器端伺服对象,对象标识,CORBA对象以及它们之间关联的主要工具是对象适配器 决定在收到一个客户请求时应调用哪一个伺服对象,然后调用该伺服对象上的合适操作 POA的可移植性指建立在POA基础上的服务端程序不依赖于特定的ORB产品,从而在不同ORB产品之间是可移植的 可移植对象适配器 POA是对象实现与ORB其他组件之间的中介,它将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。 对CORBA对象发出的所有调用请求都必须经过POA,即使目标对象是本地的(即伺服对象与客户程序处于同一地址空间),这样POA能够统一地应用POA策略 CORBA对象与伺服对象 CORBA对象与具体的伺服对象是两个不同抽象层次的概念: 它们之间的彻底分离使得CORBA独立于任何特定程序设计语言,并为服务端程序的可移植性打下基础。对象适配器(object adapter)是一个重要的ORB

文档评论(0)

558955999 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档