中间件技术02.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内 容 一、协议是什么 二、IIOP 三、SOAP 四、协议比较 ORB Interface ORB操作 对象引用操作 ORB及OA的初始化 3)基于系统的ORB为增强安全性、健壮性和性能 可以将ORB作为底层操作系统的基本服务对象引用可以永远不变,从而减少了每次请求时验证的开销由于操作系统可以知道客户和实现的地点及接口因此可以实现许多不同的优化例如当客户与实现在同一台机器上时,可以省缺编排活动 4)基于库的ORB对于小型、并且其实现可以共享的对象,实现可以在库中 3、 GIOP概述 公共数据表示 GIOP消息格式 GIOP包含的要素: 目前已经被广泛地采纳 经被ISO组织采纳,成为一种工业标准 (ISO/IEC 19500-2) 公共数据表示 CDR(Common Data Representation)是传输语法 它将用OMG IDL定义的数据类型映射到低层表示以便在代理之间 进行传输 少量、简单消息仅仅用八个消息格式GIOP就可以 支持ORB之间的全部CORBA功能以及 支持对象地点服务的 扩展功能动态迁移 和对通讯资源的管理GIOP语义不要求格式或绑定协议 在大多数情况下 客户可以在打开连接后立即向对象发送请求 GIOP消息特点 动态对象定位许多ORB的体系结构允许 对象实现 在其生命期内 在不同地点 被激活 并且 允许动态迁移对象GIOP消息 为对象定位和迁移提供支持但在不需要或不适合ORB的体系结构时不要求ORB实现这样的机制 完全的CORBA支持 GIOP消息直接支持CORBA要求的所有功能和行为 包括例外情况报告、传送操作环境和远程对象引用操作 (例如CORBA::Object::get_interface) GIOP支持传送特定于服务的环境 例如由事务服务定义的事务环境 该机制的设计目的是支持要求在请求中隐式传送与服务相关环境的任何服务 4、 公共数据表示(CDR) CDR有如下特点: 1)可变的字节次序 有相同字节次序的机器 可以在不进行字节交换的情况下进行消息交换 当与字节次序不同的机器进行通讯时 消息发起者决定消息字节次序 接收者负责交换字节以便匹配它的本地次序 每个GIOP消息(以及CDR封装)包含指出正确字节次序的标记 字节顺序: MSB 大结尾(Big-Endian) 小结尾(Little-Endian) LSB MSB LSB short long MSB LSB LSB MSB long long MSB LSB LSB MSB 0 0 0 0 0 0 1 1 3 3 7 7 2)对齐的主类型 在GIOP消息内基本OMG IDL数据类型在它们的自然边界对齐 这样强制在内存中进行数据对齐的体系结构可以有效地处理它们 对齐: char 1 wchar 1、2或4 octet 1 short 2 unsigned short 2 long 4 unsigned long 4 long long 8 unsigned long long 8 float 4 double 8 long double 8 boolean 1 enum 4 OMG IDL 原始数据类型的对齐要求 3)完整的OMG IDL映射 CDR描述所有OMG IDL数据类型 (包括可传输的伪对象,例如TypeCode)的表示 如果需要,CDR为CORBA Core规范中 表示未定义或与实现有关的数据类型定义表示方法 5、 GIOP 消息格式(1.2版) GIOP消息类型(8类) 消息类型 发起者 值 GIOP版本 Request 客户机 0 1.0, 1.1, 1.2 Reply 服务器 1 1.0, 1.1, 1.2 CancelRequest 客户机 2 1.0, 1.1, 1.2 LocateRequest 客户机 3 1.0, 1.1, 1.2 LocateReply 服务器 4 1.0, 1.1, 1.2 CloseConnection 服务器 5 1.0, 1.1, 1.2 MessageError 两者 6 1.0, 1.1, 1.2 Fragment 两者 7 1.1, 1.2 GIOP头 消息头 消息体 GIOP消息格式: struct MessageHeader { char magic [4]; //4字节 Version GIOP_version; //2字节 Octec flags;//1字节 octet message_type; //1字节 unsigned long message_size; //4字节

文档评论(0)

dreamclb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档