![在一定程度上人类思维产生于简单个体之间相互作用_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/566f2854-2570-42cb-957a-ab4d03f20c40/566f2854-2570-42cb-957a-ab4d03f20c401.gif)
![在一定程度上人类思维产生于简单个体之间相互作用_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/566f2854-2570-42cb-957a-ab4d03f20c40/566f2854-2570-42cb-957a-ab4d03f20c402.gif)
![在一定程度上人类思维产生于简单个体之间相互作用_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/566f2854-2570-42cb-957a-ab4d03f20c40/566f2854-2570-42cb-957a-ab4d03f20c403.gif)
![在一定程度上人类思维产生于简单个体之间相互作用_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/566f2854-2570-42cb-957a-ab4d03f20c40/566f2854-2570-42cb-957a-ab4d03f20c404.gif)
![在一定程度上人类思维产生于简单个体之间相互作用_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/566f2854-2570-42cb-957a-ab4d03f20c40/566f2854-2570-42cb-957a-ab4d03f20c405.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件互操作软件互操作 1/62高级软件工程高级软件工程在一定程度上在一定程度上人类的思维产生于人类的思维产生于简单个体之间的相互作用简单个体之间的相互作用Marvin Minsky软件互操作软件互操作 2/62高级软件工程高级软件工程软件互操作软件互操作 3/62高级软件工程高级软件工程内内 容容一、网络编程基本架构一、网络编程基本架构二、软件互操作的基本架构二、软件互操作的基本架构三、互操作协议三、互操作协议四、互操作接口定义四、互操作接口定义五、交互实体的查找五、交互实体的查找软件互操作软件互操作 4/62高级软件工程高级软件工程一、网络编程基本架构一、网络编程基本架构1、TCP/IP2、
2、基于、基于Socket的网络软件的网络软件3、直接基于、直接基于Socket编程的不足编程的不足软件互操作软件互操作 5/62高级软件工程高级软件工程ApplicationPresentationTransportNetworkData linkPhysicalSessionTCP, UDP、TCP/IPTCP/IP(1)ISO/OSI 参考模型 与TCP/IP的对照ISO/OSI 参考模型参考模型主机与网络的连接:ethernet、token-ring 因特网层:IP 应用层:telnet、ftp、smtp、snmp、dns、http、nntp TCP/IP软件互操作软件互操作 6/62高级
3、软件工程高级软件工程0 Network Host 1 0 Network Host 1 1 0 Network Host 1 1 1 0 Multicast address 1 1 1 1 0 Reversed for future use ABCDE 55地址范围地址范围 55 55 55 55类类(2 2)IPIP:Internet Protocol软件互操作软件互操作 7/6
4、2高级软件工程高级软件工程Vers. H.len Service type Total length Identification Flags Fragment offset dataTime to live Protocol Header checksum Source IP addressDestination IP address IP options (may be omitted) PaddingIPIP头头Service typeService type Precedence D T R unused20 bytes软件互操作软件互操作 8/62高级软件工程高级软件工程(3)TCP
5、 :Transmission Control Protocol lTCP 为两个分布式的构件提供了双向的消息通信为两个分布式的构件提供了双向的消息通信lUNIX 中的命令中的命令 rsh, rcp 及及 rlogin 全部基于全部基于 TCPl它是一个可靠但较慢的协议它是一个可靠但较慢的协议l在客户服务器双方进行缓冲在客户服务器双方进行缓冲以提高速度以提高速度软件互操作软件互操作 9/62高级软件工程高级软件工程 TCP头格式头格式Source portDestination portSequence numberAcknowledgement numberChecksum Urgent po
6、inter Options (0 or more words)Data (optional)H.lenCode bitsReserved Window size软件互操作软件互操作 10/62高级软件工程高级软件工程UDP : User Datagram Protocol l一个构件向另一个构件发送消息一个构件向另一个构件发送消息l另一个构件的标识包含在消息中另一个构件的标识包含在消息中l不可靠但快速的协议不可靠但快速的协议l消息长度固定消息长度固定l消息在接受方排队消息在接受方排队lUNIX rwho 命令基于命令基于UDP软件互操作软件互操作 11/62高级软件工程高级软件工程2、基于、基
7、于Socket的网络软件的网络软件服务器服务器 客户客户 创建 通信套接字 通常通过随机分配得到端口 等待连接套接字 通常对应于一个固定端口 连接请求 软件互操作软件互操作 12/62高级软件工程高级软件工程面向连接:面向连接:服务器服务器客户客户Socket()bind()listen()read()close()Socket()connect()write()close()处理请求write()read()accept()阻塞,等待阻塞,等待客户连接客户连接建立连接建立连接请求服务请求服务应答数据应答数据软件互操作软件互操作 13/62高级软件工程高级软件工程面向非连接:面向非连接:服务器
8、服务器客户客户Socket()bind()readfrom()sendto()close()Socket()bind()sendto()readfrom()close()处理请求应答数据应答数据请求服务请求服务阻塞,等待阻塞,等待客户数据客户数据软件互操作软件互操作 14/62高级软件工程高级软件工程l套接字的出现促进了软件从单机环境向网络环境的发展扩展了软件的应用范围l人们很快不满足于直接基于套接字的开发过程基于套接字的开发方式较为繁琐这种软件的排错十分困难l特别是当服务器端需要根据用户的不同请求内容区分不同的处理过程时根本原因在于基于套接字的交互层次较低根本原因在于基于套接字的交互层次较低
9、 不同软件之间需要约定专门的消息格式、数据类型等不同软件之间需要约定专门的消息格式、数据类型等 软件互操作软件互操作 15/62高级软件工程高级软件工程二、软件互操作的基本架构二、软件互操作的基本架构为支持为支持应用层的某一实体使用另一实体应用层的某一实体使用另一实体而制定的一套技术规范而制定的一套技术规范软件互操作软件互操作 16/62高级软件工程高级软件工程 互操作消息互操作消息 客户端指代客户端指代 互操作接口定义语言互操作接口定义语言 互操作协议互操作协议 网络基础设施网络基础设施 网络基础设施网络基础设施 互操作消息互操作消息 服务器端指代服务器端指代 客户端程序客户端程序 服务器端
10、程序服务器端程序 互操作实现(以互操作实现(以RPC 为例)为例) 实体查找方式实体查找方式 互操作规范互操作规范 底层协议底层协议 决定决定 决定决定 软件互操作软件互操作 17/62高级软件工程高级软件工程软件互操作体系与人类交互过程的比较软件互操作体系与人类交互过程的比较 底层协议提供了基本的通信基础底层协议提供了基本的通信基础 互操作消息是软件之间进行交互时所表述的语言互操作消息是软件之间进行交互时所表述的语言互操作协议是对这些语言的语法说明互操作协议是对这些语言的语法说明 互操作接口定义是软件之间的一种约定互操作接口定义是软件之间的一种约定接口定义语言是合约的撰写规则接口定义语言是合
11、约的撰写规则 实体查找方式是交互双方建立联系的途径实体查找方式是交互双方建立联系的途径包括白页、黄页、绿页等多种途径包括白页、黄页、绿页等多种途径软件互操作软件互操作 18/62高级软件工程高级软件工程1、 底层协议底层协议底层协议是互操作协议所依赖的底层通信机制底层协议是互操作协议所依赖的底层通信机制目前最受重视的协议目前最受重视的协议 是前面讲过的是前面讲过的 TCP/IP协议协议也可以是也可以是 ATM等其它协议等其它协议软件互操作软件互操作 19/62高级软件工程高级软件工程2、互操作协议、互操作协议消息中关于字节序、数据表示等问题的解决方法消息中关于字节序、数据表示等问题的解决方法体
12、现了通信双方之间关于消息的体现了通信双方之间关于消息的数据格式数据格式 消息的类型消息的类型 等的约定等的约定类似的约定还有类似的约定还有 服务器的管理服务器的管理 等等等等所有这些约定所有这些约定 共同构成了互操作的高层协议共同构成了互操作的高层协议互操作协议一般独立于底层协议互操作协议一般独立于底层协议即互操作协议可以向不同的底层协议进行映射即互操作协议可以向不同的底层协议进行映射从而由不同的底层协议进行支持从而由不同的底层协议进行支持互操作协议一般都比较烦琐互操作协议一般都比较烦琐其实现由应用服务器开发者承担其实现由应用服务器开发者承担应用系统的开发者在开发具体系统时应用系统的开发者在开
13、发具体系统时不必关心协议的实现问题不必关心协议的实现问题软件互操作软件互操作 20/62高级软件工程高级软件工程 3、互操作接口定义语言、互操作接口定义语言客户指代主要完成上层代码(客户程序、服务器程序)客户指代主要完成上层代码(客户程序、服务器程序)与底层代码(与底层代码(RPC API等)之间的等)之间的“映射映射” 其参数传递、编排、服务器定位等功能完全其参数传递、编排、服务器定位等功能完全与应用系统具体的业务逻辑实现细节无关与应用系统具体的业务逻辑实现细节无关因此因此只要系统明确定义了服务器的接口只要系统明确定义了服务器的接口即可以产生与该接口对应的指代即可以产生与该接口对应的指代接口
14、定义语言(接口定义语言(Interface Definition Language)描述了描述了 客户与服务器之间的接口客户与服务器之间的接口软件互操作软件互操作 21/62高级软件工程高级软件工程4、实体查找方式、实体查找方式实体查找方式主要是指服务器的定位实体查找方式主要是指服务器的定位根据自己掌握的信息根据自己掌握的信息客户如何才能查找到具体服务器客户如何才能查找到具体服务器这实际上涉及这实际上涉及 服务器端服务信息的发布服务器端服务信息的发布服务信息的管理等问题服务信息的管理等问题软件互操作软件互操作 22/62高级软件工程高级软件工程互操作体系名称互操作体系名称互操作协议互操作协议接
15、口定义语言接口定义语言实体查找实体查找RPCRPCIDLRPC注册注册DCOMORPCMIDL系统注册系统注册CORBAGIOP(IIOP)IDL命名服务命名服务EJBJRMPJava InterfaceJNDIWeb ServiceSOAPWSDLUDDI现有互操作架构比较现有互操作架构比较软件互操作软件互操作 23/62高级软件工程高级软件工程通信消息通信消息 对于计算机的重要性对于计算机的重要性 完全类似于人类的言语对于人类的重要性完全类似于人类的言语对于人类的重要性协议是协议是通信双方传输消息时必须遵守的规则的集合通信双方传输消息时必须遵守的规则的集合 Protocol: IP、 TC
16、P、UDP、 IIOP、JRMP、SOAP FTP、HTTP、SMTP、SNMP1、概念、概念软件互操作软件互操作 24/62高级软件工程高级软件工程对于互操作协议,尽管其发展的历史不长对于互操作协议,尽管其发展的历史不长但目前也已经有许多协议被设计、实现但目前也已经有许多协议被设计、实现例如:例如:RPC协议、协议、IIOP、JRMP、SOAP等等等等与人类言语类似,它们的实现方式也十分丰富与人类言语类似,它们的实现方式也十分丰富可以建立在不同的底层协议之上可以建立在不同的底层协议之上例如例如TCP/IP、HTTP、ATM等等等等到目前为止,在互操作方面使用得最广泛的协议是到目前为止,在互操
17、作方面使用得最广泛的协议是IIOP这主要得益于这主要得益于CORBA的巨大成功的巨大成功以及以及IIOP对异构平台的支持对异构平台的支持软件互操作软件互操作 25/62高级软件工程高级软件工程所谓互操作协议要素是指所谓互操作协议要素是指设计一个互操作协议时必须考虑的主要问题设计一个互操作协议时必须考虑的主要问题这些问题主要包括:这些问题主要包括:数据表示数据表示消息格式消息格式引用表示引用表示 等等等等其它需要考虑的问题包括:其它需要考虑的问题包括:如何将协议映射到底层协议之上如何将协议映射到底层协议之上如何管理连接过程如何管理连接过程如何提高协议的效率如何提高协议的效率等等等等 2 2、互操
18、作协议要素、互操作协议要素软件互操作软件互操作 26/62高级软件工程高级软件工程在单机环境内,数据表示属于硬件层、语言层在单机环境内,数据表示属于硬件层、语言层而在网络环境下,调用参数必须经由网络进行传输而在网络环境下,调用参数必须经由网络进行传输这意味着这些数据将变成一种字节流的形式这意味着这些数据将变成一种字节流的形式以便于参数(数据)在网络上传输以便于参数(数据)在网络上传输就产生了如何在网络传输上表示程序中的数据问题就产生了如何在网络传输上表示程序中的数据问题数据表示是一种传输语法数据表示是一种传输语法描述各种数据类型在传输线路上描述各种数据类型在传输线路上以字节流的形式表示出来的格
19、式以字节流的形式表示出来的格式ONC-RPC中使用的格式为外部数据表示中使用的格式为外部数据表示(XDR:eXternal Data Representation)而而CORBA中使用的格式为公共数据表示中使用的格式为公共数据表示(CDR:Common Data Representation) (1)数据表示数据表示软件互操作软件互操作 27/62高级软件工程高级软件工程底层协议底层协议 主要解决通信的主要解决通信的 可行性可行性 以及部分以及部分 可靠性可靠性 等问题等问题高层协议不同于底层协议的一个明显特征在于高层协议不同于底层协议的一个明显特征在于高层协议带有一定的语义信息高层协议带有一
20、定的语义信息几乎每种高层协议几乎每种高层协议都对消息进行分类都对消息进行分类定义了多种不同类型的消息格式定义了多种不同类型的消息格式对于互操作协议而言对于互操作协议而言一次调用通常至少包含请求与应答两种消息一次调用通常至少包含请求与应答两种消息消息的种类较为类似消息的种类较为类似但消息格式差异较大但消息格式差异较大 (2)消息格式消息格式软件互操作软件互操作 28/62高级软件工程高级软件工程互操作协议必须映射到底层协议上互操作协议必须映射到底层协议上方能得到实现方能得到实现目前的互操作协议都定义协议一到多种向传输层的映射目前的互操作协议都定义协议一到多种向传输层的映射例如例如GIOP定义了向
21、定义了向TCP/IP的映射:的映射:IIOPSOAP主要定义了向主要定义了向HTTP的映射的映射(3)向底层协议的映射向底层协议的映射软件互操作软件互操作 29/62高级软件工程高级软件工程2、协议比较、协议比较1)互操作开销不同)互操作开销不同IIOP、JRMP使用二进制的字节流形式编排消息使用二进制的字节流形式编排消息 (CDR、XDR)SOAP采用字符型的采用字符型的XML编排消息编排消息 SOAP消息要比消息要比IIOP、JRMP消息长得多消息长得多SOAP的编排开销大、占用内存空间大的编排开销大、占用内存空间大2)表达能力不同)表达能力不同SOAP易于学习、易于开发、易于调试易于学习
22、、易于开发、易于调试SOAP不支持消息的批处理、对象引用、对象激活等特性不支持消息的批处理、对象引用、对象激活等特性降低了降低了SOAP的表达能力的表达能力并使得基于并使得基于SOAP的交互受到限制的交互受到限制而而IIOP、JRMP等则不存在这种限制等则不存在这种限制软件互操作软件互操作 30/62高级软件工程高级软件工程3)适应能力不同)适应能力不同IIOP、JRMP严重制约于防火墙严重制约于防火墙防火墙一般由两个路由器与一个应用程序网关构成防火墙一般由两个路由器与一个应用程序网关构成 路由器负责路由器负责IP层的分组信息层的分组信息列出可接受、禁止的源端和目标端等信息列出可接受、禁止的源
23、端和目标端等信息 应用程序网关在应用程序级进行控制应用程序网关在应用程序级进行控制 根据头信息字段、消息长度、消息内容等根据头信息字段、消息长度、消息内容等 决定传送还是丢弃消息决定传送还是丢弃消息这是这是IIOP、JRMP的应用受到限制的核心因素之一的应用受到限制的核心因素之一SOAP则基本不受其限制则基本不受其限制4)适用环境不同)适用环境不同JRMP适用于使用适用于使用JAVA的应用系统的应用系统IIOP、SOAP支持各种语言,因此适用面更广支持各种语言,因此适用面更广IIOP适合于同一个防火墙内部之间的交互适合于同一个防火墙内部之间的交互而而SOAP则适合于跨越防火墙的交互则适合于跨越
24、防火墙的交互软件互操作软件互操作 31/62高级软件工程高级软件工程1、概念、概念接口(Interface)软件互操作软件互操作 32/62高级软件工程高级软件工程应用编程接口(应用编程接口(API)对象接口对象接口构件接口构件接口抽象?实在?抽象?实在?模块通常由接口和实现两部分组成模块通常由接口和实现两部分组成模块的接口部分模块的接口部分刻画了各个模块是如何耦合的刻画了各个模块是如何耦合的其他模块的设计者和使用者需要知道其他模块的设计者和使用者需要知道模块的实现部分模块的实现部分是各个模块的内部事务是各个模块的内部事务其他模块的设计者和使用者不需要知道其他模块的设计者和使用者不需要知道包含
25、什么具体内容?(功能性、约束性)包含什么具体内容?(功能性、约束性)利用什么形式描述?(接口定义语言)利用什么形式描述?(接口定义语言)含义解释含义解释软件互操作软件互操作 33/62高级软件工程高级软件工程单机环境下的不同软件模块之间单机环境下的不同软件模块之间主要定义模块的功能性(主要定义模块的功能性(Functional)内容内容类似于一个函数的映射过程类似于一个函数的映射过程接口的功能性定义是对接口中各个接口的功能性定义是对接口中各个操作操作调用方式的描述调用方式的描述操作操作是由操作符标识的实体是由操作符标识的实体指明了一个不可再分的服务原语指明了一个不可再分的服务原语请求一个操作的
26、动作被称为调用一个操作请求一个操作的动作被称为调用一个操作对一个操作功能的描述由输入、输出两部分组成对一个操作功能的描述由输入、输出两部分组成 也被称为一个基调(也被称为一个基调(signature)用于描述操作的输入、输出参数名称及类型用于描述操作的输入、输出参数名称及类型功能性(功能性(FunctionalFunctional)软件互操作软件互操作 34/62高级软件工程高级软件工程网络环境下的不同软件模块的合作需要考虑的因素网络环境下的不同软件模块的合作需要考虑的因素不仅仅包含功能方面不仅仅包含功能方面还涉及分布性、可靠性、安全性等方面的因素还涉及分布性、可靠性、安全性等方面的因素网络环
27、境下的接口网络环境下的接口 除需要定义模块的功能性内容外除需要定义模块的功能性内容外还需要定义模块的约束性内容还需要定义模块的约束性内容接口的约束性定义是指对功能以外特征的描述接口的约束性定义是指对功能以外特征的描述简单的包括:例外处理、执行语义等简单的包括:例外处理、执行语义等复杂一些的包括:复杂一些的包括:(1 1)行为特征)行为特征: :用于描述操作的输出用于描述操作的输出 通过对操作增加前置与后置条件而实现通过对操作增加前置与后置条件而实现(2 2)同步特征)同步特征: :用于描述分布性与并发性用于描述分布性与并发性约束性(约束性(ConstraintConstraint)软件互操作软
28、件互操作 35/62高级软件工程高级软件工程2、接口定义语言、接口定义语言IDL: Interface Definition LanguageWSDL: Web Service Description Language服务描述语言服务描述语言interface Hospital typedef string PatientId;PatientId admit_patient ( );void release_patient ( in PatientIdpatient );软件互操作软件互操作 36/62高级软件工程高级软件工程有的以描述结构化程序的功能为主有的以描述结构化程序的功能为主例如例如
29、RPC-IDLRPC-IDL微软的微软的-IDL-IDL有的以描述对象的功能为主有的以描述对象的功能为主例如例如CORBACORBA的的IDLIDL有的以描述服务为主有的以描述服务为主例如例如web serviceweb service的的WSDLWSDL1 1)描述对象不同)描述对象不同比较比较软件互操作软件互操作 37/62高级软件工程高级软件工程有的以具体计算机语言的方式表达有的以具体计算机语言的方式表达例如例如SUNSUN的的Java InterfaceJava Interface有的以独立于具体的计算机语言有的以独立于具体的计算机语言但十分类似于计算机语言的方式表达但十分类似于计算机
30、语言的方式表达例如:例如:RPC-IDLRPC-IDL微软的微软的-IDL-IDLCORBACORBA的的IDLIDL有的以有的以XMLXML为方式表达为方式表达例如:例如:web serviceweb service的的WSDLWSDL2 2)描述方式不同)描述方式不同软件互操作软件互操作 38/62高级软件工程高级软件工程有的仅描述接口的语法信息有的仅描述接口的语法信息例如:例如:RPC-IDL微软的微软的-IDLCORBA的的IDL有的还包括与底层协议的绑定信息有的还包括与底层协议的绑定信息例如:例如:WSDL等等在在CORBA中这部分信息包含在中这部分信息包含在IOR中中3)描述内容不
31、同)描述内容不同软件互操作软件互操作 39/62高级软件工程高级软件工程网络环境中的资源具有明显的分布性这些资源可能分布于不同的节点之上问题: 分布在不同节点上的实体如何查找到其他的实体?软件互操作软件互操作 40/62高级软件工程高级软件工程1、三种查找方式、三种查找方式2、命名服务、命名服务3、目录服务、目录服务4、合约服务、合约服务内内 容容软件互操作软件互操作 41/62高级软件工程高级软件工程l命名命名(Naming)服务:服务:通过外部名字定位构件通过外部名字定位构件类似于(电话本)白页类似于(电话本)白页. 公司甲公司甲 67890001 公司乙公司乙 67890002 公司丙公
32、司丙 67890003CORBA的命名服务的命名服务TCP/IP中的中的DNSCOM、JVM中的注册表等中的注册表等 皆提供了类似的服务皆提供了类似的服务 1、三种查找方式、三种查找方式软件互操作软件互操作 42/62高级软件工程高级软件工程l目录目录(Directory)服务:服务:通过服务特性定位构件通过服务特性定位构件类似于(电话本)黄页类似于(电话本)黄页 IT领域领域 存储器公司存储器公司 公司甲公司甲 67890001 计算机公司计算机公司公司乙公司乙 67890002公司丙公司丙 67890003公司丁公司丁 67890004SUN的网络信息系统(的网络信息系统(Network
33、Information System:NIS)Novell目录服务(目录服务(Novell Directory Service:NDS)IUT/ISO的的X.500以及以及LDAPCORBA的交易服务的交易服务微软的微软的Active Directory Service等等提供了类似的服务提供了类似的服务 软件互操作软件互操作 43/62高级软件工程高级软件工程l合约合约(Contract)服务:服务:通过技术规范定位构件通过技术规范定位构件绿页绿页 IT领域领域 计算机公司计算机公司 公司乙公司乙 电话电话 67890002地址地址 北京市海淀区中关村大街北京市海淀区中关村大街XX号号 Em
34、ail CPU Intel P4 硬盘硬盘 Seagate 40G 鼠标鼠标 双飞燕双飞燕 USB Web Service的的UDDI即包含这方面的信息即包含这方面的信息CORBA的接口池也具有部分的接口池也具有部分“绿页绿页”功能功能 软件互操作软件互操作 44/62高级软件工程高级软件工程不同的查找服务提供的功能:不同的查找服务提供的功能: 白页黄页绿页DNS CORBA Naming CORBA Trading CORBA IR X.500/LDAP UDDI软件互操作软件互操作 45/62高级软件工程高级软件工程名字是知识的基础名字是知识的基础本体论(本体论(Ontology)名实论(
35、名,所以谓也,实,所谓也名实论(名,所以谓也,实,所谓也 墨子)墨子)操作系统中的进程名操作系统中的进程名文件系统中的文件名文件系统中的文件名程序语言中的程序语言中的变量名、过程名、变量名、过程名、数据结构名、对象名数据结构名、对象名网络环境下的计算机名、数据库名网络环境下的计算机名、数据库名 、构件名、构件名2、命名服务、命名服务软件互操作软件互操作 46/62高级软件工程高级软件工程名字与标识、引用名字与标识、引用 标识标识 引用引用 名字与引用的关联名字与引用的关联 指代指代 名字名字 服务使用者的空间服务使用者的空间 服务提供者的空间服务提供者的空间 查找 注册 (绑定) 调用 解析
36、名字 引用 软件互操作软件互操作 47/62高级软件工程高级软件工程名字系统名字系统主要功能是将名字映射到对象主要功能是将名字映射到对象一组一组context的集合的集合l这些这些context是连接的是连接的l使用同样的命名规则使用同样的命名规则l提供同样的操作集合并具有同样的语义提供同样的操作集合并具有同样的语义 例如:例如: c:/win98/system软件互操作软件互操作 48/62高级软件工程高级软件工程名字分类名字分类Atomic name(原子名字原子名字)l名字中不可分割的部分名字中不可分割的部分lUsr/local/bin中的中的usr, local, pku, edu,
37、cnCompound name(复合名字)复合名字)l包含了零个或多个原子名字的一个序列包含了零个或多个原子名字的一个序列lUsr/local/bin, 软件互操作软件互操作 49/62高级软件工程高级软件工程lComposite Name(合成名字)(合成名字)与复合名字与复合名字(compound name)不同不同是跨越多个命名系统的名字是跨越多个命名系统的名字包含了一个有序的复合或原子名字的列表包含了一个有序的复合或原子名字的列表l每个复合或原子名字属于不同的命名系统名字空每个复合或原子名字属于不同的命名系统名字空间间http:/ : 来自来自“URL scheme-id”名字空间名字
38、空间/in-notes/rfc2195.txt : 来自来自DNS名字空名字空间间lPublic/index.html : 来自主机文件的名字空间来自主机文件的名字空间软件互操作软件互操作 50/62高级软件工程高级软件工程软件互操作软件互操作 51/62高级软件工程高级软件工程l命名服务(命名服务(Naming Service)维护了(分布或集中式)系统中资源的名字维护了(分布或集中式)系统中资源的名字与地址之间的与地址之间的映射关系(映射关系(binding)软件互操作软件互操作 52/62高级软件工程高级软件工程 命名上下文命名上下文lContext是一个对象是一
39、个对象其状态(属性)是一组其状态(属性)是一组binding的集合,这些的集合,这些binding的原子名字各不相同的原子名字各不相同每个每个Context都有自己的命名规则都有自己的命名规则至少提供至少提供lookup操作操作允许用户查找指定允许用户查找指定原子名字原子名字的对象的对象也可能提供也可能提供建立建立/删除删除/枚举枚举binding的操作的操作lInitial Context用户使用命名服务的入口用户使用命名服务的入口软件互操作软件互操作 53/62高级软件工程高级软件工程lSubcontext某个某个Context对象中的原子名字可以与另一个对象中的原子名字可以与另一个Con
40、text对象绑定,此时后者就是前者的对象绑定,此时后者就是前者的subcontext目的是为了支持目的是为了支持复合名字复合名字的查找的查找l按照原子名字的顺序在对应的按照原子名字的顺序在对应的subcontext中查找中查找bindingl在在UNIX文件系统中,目录类似文件系统中,目录类似subcontext(usr, local),),而路径名类似复合名字而路径名类似复合名字(usr/local/bin)软件互操作软件互操作 54/62高级软件工程高级软件工程 解析名字解析名字根据名字查找属性的过程根据名字查找属性的过程 软件互操作软件互操作 55/62高级软件工程高级软件工程 deve
41、loper manager U1 1 M1 U3 M2 MIS Network M1 N1 M2 user NamingContext Contains Name & OR U2 2 3 4 5 6 7 8 Root Context Server 软件互操作软件互操作 56/62高级软件工程高级软件工程 3、目录服务、目录服务基本实现基本实现 目录服务目录服务是增强的命名服务是增强的命名服务存储了一组名字与属性的关联集合存储了一组名字与属性的关联集合 软件互操作软件互操作 57/62高级软件工程高级软件工程l目录对象目录对象(Directory object)命名系统中一类特殊的对象,
42、用以表达计算环境的多种信息命名系统中一类特殊的对象,用以表达计算环境的多种信息换言之,维护了(分布或集中式)系统中资源的名字与及其换言之,维护了(分布或集中式)系统中资源的名字与及其多种信息的映射关系多种信息的映射关系一个目录对象具有多个属性一个目录对象具有多个属性(attributes)一个属性具有一个标识符一个属性具有一个标识符(identifier)以及一组值以及一组值(values)一个目录对象同时可以是一个一个目录对象同时可以是一个context,因此,这种特殊的对,因此,这种特殊的对象不仅可以维护名字到对象的映射,也可以维护与这个象不仅可以维护名字到对象的映射,也可以维护与这个binding相关的一些信息相关的一些信息CORBA Trader Service软件互操作软件互操作 58/62高级软件工程高级软件工程 Naming System Directory Object Context Binding Attribute Attribute Attribute ( as a context ) identifier value v
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宣传物料印刷合同范本3篇
- 《数据安全法》考试参考题库100题(含答案)
- 2025年梧州职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 全球‘最优旅行小镇’课件展示:探索与发现乡村之美
- 2025科学仪器行业未来发展趋势与机会
- 中班区角创意活动方案五篇
- 养老行业的未来:2025年发展趋势与市场展望
- 借款简单的合同范本
- 旅游规划服务合同
- 反担保合同以及借款担保合同范文
- 北师大版三年级数学(上册)看图列式计算(完整版)
- 诊所规章制度汇编全套
- 2024年云南省中考英语题库【历年真题+章节题库+模拟试题】
- 麻醉药品、精神药品月检查记录表
- 演示文稿国库集中支付总流程图
- 浙江省宁波市海曙区2022学年第一学期九年级期末测试科学试题卷(含答案和答题卡)
- 为了自由呼吸的教育
- 高考英语词汇3500电子版
- 建院新闻社成立策划书
- GB/T 19675.2-2005管法兰用金属冲齿板柔性石墨复合垫片技术条件
- 运动技能学习与控制课件第十三章动作技能的保持和迁移
评论
0/150
提交评论