在一定程度上人类的思维产生于简单个体之间的相互作用ppt课件_第1页
在一定程度上人类的思维产生于简单个体之间的相互作用ppt课件_第2页
在一定程度上人类的思维产生于简单个体之间的相互作用ppt课件_第3页
在一定程度上人类的思维产生于简单个体之间的相互作用ppt课件_第4页
在一定程度上人类的思维产生于简单个体之间的相互作用ppt课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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/IP1ISO/OSI 参考模型 与TCP/IP的对照ISO/OSI 参考模型参考模型主机与网络的衔接:ethernet、token-ring 因特网层:IP 运用层:telnet、ftp、smtp、snmp、dns、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 2IPIP:Internet ProtocolInternet Protocol软件互操作软

4、件互操作 7/62高级软件工程高级软件工程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高级软件工程高级软件

5、工程3TCP :Transmission Control Protocol TCP 为两个分布式的构件提供了双向的音讯通为两个分布式的构件提供了双向的音讯通讯讯UNIX 中的命令中的命令 rsh, rcp 及及 rlogin 全部基于全部基于 TCP它是一个可靠但较慢的协议它是一个可靠但较慢的协议在客户效力器双方进展缓冲在客户效力器双方进展缓冲以提高速度以提高速度软件互操作软件互操作 9/62高级软件工程高级软件工程 TCP头格式头格式Source portDestination portSequence numberAcknowledgement numberChecksum Urgent

6、pointer Options (0 or more words)Data (optional)H.lenCode bitsReserved Window size软件互操作软件互操作 10/62高级软件工程高级软件工程UDP : User Datagram Protocol 一个构件向另一个构件发送音讯一个构件向另一个构件发送音讯另一个构件的标识包含在音讯中另一个构件的标识包含在音讯中不可靠但快速的协议不可靠但快速的协议音讯长度固定音讯长度固定音讯在接受方排队音讯在接受方排队UNIX rwho 命令基于命令基于UDP软件互操作软件互操作 11/62高级软件工程高级软件工程2、基于、基于Soc

7、ket的网络软件的网络软件效力器效力器 客户客户 创建 通讯套接字 通常经过随机分配得到端口 等待衔接套接字 通常对应于一个固定端口 衔接恳求 软件互操作软件互操作 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扩展了软件的运用范围l人们很快不满足于直接基于套接字的开发过程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等之间的等之间的“映射映射 其参数传送、编排、效力器定位等功能完全其参数传送、编排、效力器定位等功能完全与运用系统详细的业务逻辑实现细节无关与运用系统详细的业务逻辑实现细节无关因此因此只需系统明确定义了效力器的接口只需系统明确定义了效力器的接口即可以产生与该接口对应的指代即可以产生与该接口对应的指代接口定义言语接口定义言语I

14、nterface Definition Language描画了描画了 客户与效力器之间的接口客户与效力器之间的接口软件互操作软件互操作 21/62高级软件工程高级软件工程4、实体查找方式、实体查找方式实体查找方式主要是指效力器的定位实体查找方式主要是指效力器的定位根据本人掌握的信息根据本人掌握的信息客户如何才干查找到详细效力器客户如何才干查找到详细效力器这实践上涉及这实践上涉及 效力器端效力信息的发布效力器端效力信息的发布效力信息的管理等问题效力信息的管理等问题软件互操作软件互操作 22/62高级软件工程高级软件工程互操作体系称号互操作体系称号互操作协议互操作协议接口定义言语接口定义言语实体查

15、找实体查找RPCRPCIDLRPC注册注册DCOMORPCMIDL系统注册系统注册CORBAGIOPIIOPIDL命名效力命名效力EJBJRMPJava InterfaceJNDIWeb ServiceSOAPWSDLUDDI现有互操作架构比较现有互操作架构比较软件互操作软件互操作 23/62高级软件工程高级软件工程通讯音讯通讯音讯 对于计算机的重要性对于计算机的重要性 完全类似于人类的言语对于人类的重要性完全类似于人类的言语对于人类的重要性协议是协议是通讯双方传输音讯时必需遵守的规那么的集合通讯双方传输音讯时必需遵守的规那么的集合 Protocol: IP、 TCP、UDP、 IIOP、JR

16、MP、SOAP FTP、SMTP、SNMP1、概念、概念软件互操作软件互操作 24/62高级软件工程高级软件工程对于互操作协议,虽然其开展的历史不长对于互操作协议,虽然其开展的历史不长但目前也曾经有许多协议被设计、实现但目前也曾经有许多协议被设计、实现例如:例如:RPC协议、协议、IIOP、JRMP、SOAP等等等等与人类言语类似,它们的实现方式也非常丰富与人类言语类似,它们的实现方式也非常丰富可以建立在不同的底层协议之上可以建立在不同的底层协议之上例如例如TCP/IP、ATM等等等等到目前为止,在互操作方面运用得最广泛的协议是到目前为止,在互操作方面运用得最广泛的协议是IIOP这主要得益于这

17、主要得益于CORBA的宏大胜利的宏大胜利以及以及IIOP对异构平台的支持对异构平台的支持软件互操作软件互操作 25/62高级软件工程高级软件工程所谓互操作协议要素是指所谓互操作协议要素是指设计一个互操作协议时必需思索的主要问题设计一个互操作协议时必需思索的主要问题这些问题主要包括:这些问题主要包括:数据表示数据表示音讯格式音讯格式援用表示援用表示 等等等等其它需求思索的问题包括:其它需求思索的问题包括:如何将协议映射究竟层协议之上如何将协议映射究竟层协议之上如何管理衔接过程如何管理衔接过程如何提高协议的效率如何提高协议的效率等等等等 2 2、互操作协议要素、互操作协议要素软件互操作软件互操作

18、26/62高级软件工程高级软件工程在单机环境内,数据表示属于硬件层、言语层在单机环境内,数据表示属于硬件层、言语层而在网络环境下,调用参数必需经由网络进展传输而在网络环境下,调用参数必需经由网络进展传输这意味着这些数据将变成一种字节流的方式这意味着这些数据将变成一种字节流的方式以便于参数数据在网络上传输以便于参数数据在网络上传输就产生了如何在网络传输上表示程序中的数据问题就产生了如何在网络传输上表示程序中的数据问题数据表示是一种传输语法数据表示是一种传输语法描画各种数据类型在传输线路上描画各种数据类型在传输线路上以字节流的方式表示出来的格式以字节流的方式表示出来的格式ONC-RPCONC-RP

19、C中运用的格式为外部数据表示中运用的格式为外部数据表示XDRXDR:eXternal Data RepresentationeXternal Data Representation而而CORBACORBA中运用的格式为公共数据表示中运用的格式为公共数据表示CDRCDR:Common Data RepresentationCommon Data Representation 1数据表示数据表示软件互操作软件互操作 27/62高级软件工程高级软件工程底层协议底层协议 主要处理通讯的主要处理通讯的 可行性可行性 以及部分以及部分 可靠性可靠性 等问题等问题高层协议不同于底层协议的一个明显特征在于高层

20、协议不同于底层协议的一个明显特征在于高层协议带有一定的语义信息高层协议带有一定的语义信息几乎每种高层协议几乎每种高层协议都对音讯进展分类都对音讯进展分类定义了多种不同类型的音讯格式定义了多种不同类型的音讯格式对于互操作协议而言对于互操作协议而言一次调用通常至少包含恳求与应对两种音讯一次调用通常至少包含恳求与应对两种音讯音讯的种类较为类似音讯的种类较为类似但音讯格式差别较大但音讯格式差别较大 2音讯格式音讯格式软件互操作软件互操作 28/62高级软件工程高级软件工程互操作协议必需映射究竟层协议上互操作协议必需映射究竟层协议上方能得到实现方能得到实现目前的互操作协议都定义协议一到多种向传输层的映射

21、目前的互操作协议都定义协议一到多种向传输层的映射例如例如GIOPGIOP定义了向定义了向TCP/IPTCP/IP的映射:的映射:IIOPIIOPSOAPSOAP主要定义了向主要定义了向HTTPHTTP的映射的映射3向底层协议的映射向底层协议的映射软件互操作软件互操作 29/62高级软件工程高级软件工程2、协议比较、协议比较1互操作开销不同互操作开销不同IIOP、JRMP运用二进制的字节流方式编排音讯运用二进制的字节流方式编排音讯 CDR、XDRSOAP采用字符型的采用字符型的XML编排音讯编排音讯 SOAP音讯要比音讯要比IIOP、JRMP音讯长得多音讯长得多SOAP的编排开销大、占用内存空间

22、大的编排开销大、占用内存空间大2表达才干不同表达才干不同SOAP易于学习、易于开发、易于调试易于学习、易于开发、易于调试SOAP不支持音讯的批处置、对象援用、对象激活等特性不支持音讯的批处置、对象援用、对象激活等特性降低了降低了SOAP的表达才干的表达才干并使得基于并使得基于SOAP的交互遭到限制的交互遭到限制而而IIOP、JRMP等那么不存在这种限制等那么不存在这种限制软件互操作软件互操作 30/62高级软件工程高级软件工程3顺应才干不同顺应才干不同IIOP、JRMP严重制约于防火墙严重制约于防火墙防火墙普通由两个路由器与一个运用程序网关构成防火墙普通由两个路由器与一个运用程序网关构成 路由

23、器担任路由器担任IP层的分组信息层的分组信息列出可接受、制止的源端和目的端等信息列出可接受、制止的源端和目的端等信息 运用程序网关在运用程序级进展控制运用程序网关在运用程序级进展控制 根据头信息字段、音讯长度、音讯内容等根据头信息字段、音讯长度、音讯内容等 决议传送还是丢弃音讯决议传送还是丢弃音讯这是这是IIOP、JRMP的运用遭到限制的中心要素之一的运用遭到限制的中心要素之一SOAP那么根本不受其限制那么根本不受其限制4适用环境不同适用环境不同JRMP适用于运用适用于运用JAVA的运用系统的运用系统IIOP、SOAP支持各种言语,因此适用面更广支持各种言语,因此适用面更广IIOP适宜于同一个

24、防火墙内部之间的交互适宜于同一个防火墙内部之间的交互而而SOAP那么适宜于跨越防火墙的交互那么适宜于跨越防火墙的交互软件互操作软件互操作 31/62高级软件工程高级软件工程1、概念、概念接口(Interface)软件互操作软件互操作 32/62高级软件工程高级软件工程运用编程接口运用编程接口API对象接口对象接口构件接口构件接口笼统?真实?笼统?真实?模块通常由接口和实现两部分组成模块通常由接口和实现两部分组成模块的接口部分模块的接口部分描写了各个模块是如何耦合的描写了各个模块是如何耦合的其他模块的设计者和运用者需求知道其他模块的设计者和运用者需求知道模块的实现部分模块的实现部分是各个模块的内

25、部事务是各个模块的内部事务其他模块的设计者和运用者不需求知道其他模块的设计者和运用者不需求知道包含什么详细内容?功能性、约束性包含什么详细内容?功能性、约束性利用什么方式描画?接口定义言语利用什么方式描画?接口定义言语含义解释含义解释软件互操作软件互操作 33/62高级软件工程高级软件工程单机环境下的不同软件模块之间单机环境下的不同软件模块之间主要定义模块的功能性主要定义模块的功能性FunctionalFunctional内容内容类似于一个函数的映射过程类似于一个函数的映射过程接口的功能性定义是对接口中各个操作调用方式的描画接口的功能性定义是对接口中各个操作调用方式的描画操作操作是由操作符标识

26、的实体是由操作符标识的实体指明了一个不可再分的效力原语指明了一个不可再分的效力原语恳求一个操作的动作被称为调用一个操作恳求一个操作的动作被称为调用一个操作对一个操作功能的描画由输入、输出两部分组成对一个操作功能的描画由输入、输出两部分组成 也被称为一个基调也被称为一个基调signaturesignature用于描画操作的输入、输出参数称号及类型用于描画操作的输入、输出参数称号及类型功能性功能性FunctionalFunctional软件互操作软件互操作 34/62高级软件工程高级软件工程网络环境下的不同软件模块的协作需求思索的要素网络环境下的不同软件模块的协作需求思索的要素不仅仅包含功能方面不

27、仅仅包含功能方面还涉及分布性、可靠性、平安性等方面的要素还涉及分布性、可靠性、平安性等方面的要素网络环境下的接口网络环境下的接口 除需求定义模块的功能性内容外除需求定义模块的功能性内容外还需求定义模块的约束性内容还需求定义模块的约束性内容接口的约束性定义是指对功能以外特征的描画接口的约束性定义是指对功能以外特征的描画简单的包括:例外处置、执行语义等简单的包括:例外处置、执行语义等复杂一些的包括:复杂一些的包括:1 1行为特征行为特征: :用于描画操作的输出用于描画操作的输出 经过对操作添加前置与后置条件而实现经过对操作添加前置与后置条件而实现2 2同步特征同步特征: :用于描画分布性与并发性用

28、于描画分布性与并发性约束性约束性ConstraintConstraint软件互操作软件互操作 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-IDLRPC-IDL微软的微软的-IDL-IDLCORBACORBA的的IDLIDL有的还包括与底层协议的绑定信息有的还包括与底

31、层协议的绑定信息例如:例如:WSDLWSDL等等在在CORBACORBA中这部分信息包含在中这部分信息包含在IORIOR中中3描画内容不同描画内容不同软件互操作软件互操作 39/62高级软件工程高级软件工程网络环境中的资源具有明显的分布性这些资源能够分布于不同的节点之上问题: 分布在不同节点上的实体如何查找到其他的实体?软件互操作软件互操作 40/62高级软件工程高级软件工程1、三种查找方式、三种查找方式2、命名效力、命名效力3、目录效力、目录效力4、合约效力、合约效力内内 容容软件互操作软件互操作 41/62高级软件工程高级软件工程l命名命名(Naming)效力:效力:l经过外部名字定位构件

32、经过外部名字定位构件l类似于本白页类似于本白页. 公司甲公司甲 67890001 公司乙公司乙 67890002 公司丙公司丙 67890003CORBA的命名效力的命名效力TCP/IP中的中的DNSCOM、JVM中的注册表等中的注册表等 皆提供了类似的效力皆提供了类似的效力 1、三种查找方式、三种查找方式软件互操作软件互操作 42/62高级软件工程高级软件工程l目录目录(Directory)效力:效力:l经过效力特性定位构件经过效力特性定位构件l类似于本黄页类似于本黄页 IT领域领域 存储器公司存储器公司 公司甲公司甲 67890001 计算机公司计算机公司公司乙公司乙 67890002公司

33、丙公司丙 67890003公司丁公司丁 67890004SUN的网络信息系统的网络信息系统Network Information System:NISNovell目录效力目录效力Novell Directory Service:NDSIUT/ISO的的X.500以及以及LDAPCORBA的买卖效力的买卖效力微软的微软的Active Directory Service等等提供了类似的效力提供了类似的效力 软件互操作软件互操作 43/62高级软件工程高级软件工程l合约合约(Contract)效力:效力:l经过技术规范定位构件经过技术规范定位构件l绿页绿页 IT领域领域 计算机公司计算机公司 公司乙

34、公司乙 67890002地址地址 北京市海淀区中关村大街北京市海淀区中关村大街XX号号 foo 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高级软件工程

35、高级软件工程名字是知识的根底名字是知识的根底本体论本体论Ontology名实论名,所以谓也,实,所谓也名实论名,所以谓也,实,所谓也 墨墨子子操作系统中的进程名操作系统中的进程名文件系统中的文件名文件系统中的文件名程序文语中的程序文语中的变量名、过程名、变量名、过程名、数据构造名、对象名数据构造名、对象名网络环境下的计算机名、数据库名网络环境下的计算机名、数据库名 、构件名、构件名2、命名效力、命名效力软件互操作软件互操作 46/62高级软件工程高级软件工程名字与标识、援用名字与标识、援用 标识标识 援用援用 名字与援用的关联名字与援用的关联 指代指代 名字名字 效力运用者的空间效力运用者的空

36、间 效力提供者的空间效力提供者的空间 查找 注册 绑定 调用 解析 名字 引用 软件互操作软件互操作 47/62高级软件工程高级软件工程名字系统名字系统主要功能是将名字映射到对象主要功能是将名字映射到对象一组一组context的集合的集合这些这些context是衔接的是衔接的运用同样的命名规那么运用同样的命名规那么提供同样的操作集合并具有同样的语义提供同样的操作集合并具有同样的语义 例如:例如: c:/win98/system软件互操作软件互操作 48/62高级软件工程高级软件工程名字分类名字分类Atomic name(原子名字原子名字)名字中不可分割的部分名字中不可分割的部分U

37、sr/local/bin中的中的usr, local, 中的中的www, pku, edu, cnCompound name复合名字复合名字包含了零个或多个原子名字的一个序列包含了零个或多个原子名字的一个序列Usr/local/bin, 软件互操作软件互操作 49/62高级软件工程高级软件工程lComposite Name合成名字合成名字l与复合名字与复合名字(compound name)不同不同l是跨越多个命名系统的名字是跨越多个命名系统的名字l包含了一个有序的复合或原子名字的列包含了一个有序的复合或原子名字的列表表l每个复合或原子名字属于不同的命名系每个复

38、合或原子名字属于不同的命名系统名字空间统名字空间/public/index.htmll : 来自来自“URL scheme-id名字空间名字空间/in-notes/rfc2195.txt : 来自来自DNS名字空间名字空间lPublic/index.html : 来自主机文件的名字来自主机文件的名字空间空间软件互操作软件互操作 50/62高级软件工程高级软件工程软件互操作软件互操作 51/62高级软件工程高级软件工程l命名效力命名效力Naming Servicel维护了分布或集中式系统中资源的维护了分布或集中式系统中资源的名字与地址之间的映射关系名字与地

39、址之间的映射关系binding软件互操作软件互操作 52/62高级软件工程高级软件工程 命名上下文命名上下文lContextl是一个对象是一个对象l其形状属性是一组其形状属性是一组binding的集合,这些的集合,这些binding的原子名字各不一样的原子名字各不一样l每个每个Context都有本人的命名规那么都有本人的命名规那么l至少提供至少提供lookup操作操作l允许用户查找指定原子允许用户查找指定原子名字的对象名字的对象l也能够提供建立也能够提供建立/删除删除/枚举枚举binding的操作的操作lInitial Contextl用户运用命名效力的入口用户运用命名效力的入口软件互操作软件

40、互操作 53/62高级软件工程高级软件工程lSubcontextl某个某个Context对象中的原子名字可以与另一个对象中的原子名字可以与另一个Context对象绑定,此时后者就是前者的对象绑定,此时后者就是前者的subcontextl目的是为了支持复合名字的查找目的是为了支持复合名字的查找l按照原子名字的顺序在对应的按照原子名字的顺序在对应的subcontext中查找中查找bindingl在在UNIX文件系统中,目录类似文件系统中,目录类似subcontextusr, local,而途径名类似复合名字,而途径名类似复合名字(usr/local/bin)软件互操作软件互操作 54/62高级软件

41、工程高级软件工程 解析名字解析名字根据名字查找属性的过程根据名字查找属性的过程 软件互操作软件互操作 55/62高级软件工程高级软件工程 developer 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、目录效力、目录效力根本实现根本实现 目录效力目录效力是加强的命名效力是加强的命名效力存储了一组名字与属性的关联集合存储了一组名字与属性的

42、关联集合 软件互操作软件互操作 57/62高级软件工程高级软件工程l目录对象目录对象(Directory object)l命名系统中一类特殊的对象,用以表达计算环命名系统中一类特殊的对象,用以表达计算环境的多种信息境的多种信息l换言之,维护了分布或集中式系统中资源换言之,维护了分布或集中式系统中资源的名字与及其多种信息的映射关系的名字与及其多种信息的映射关系l一个目录对象具有多个属性一个目录对象具有多个属性(attributes)l一个属性具有一个标识符一个属性具有一个标识符(identifier)以及一组以及一组值值(values)l一个目录对象同时可以是一个一个目录对象同时可以是一个context,因此,因此,这种特殊的对象不仅可以维护名字到对象的映这种特殊的对象不仅可以维护名字到对象的映射,也可以维护与这个射,也可以维护与这个binding相关的一些信息相关的一些信息lCORBA Trader Service软件互操作软件互操作 58/62高级软件工程高级软件工程 Naming System Directory Object Context Binding Attribute Attribute Attribute ( as a context

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论