《在一定程度上人类的思维产生于简单个体之间的相互作用》由会员分享,可在线阅读,更多相关《在一定程度上人类的思维产生于简单个体之间的相互作用(62页珍藏版)》请在金锄头文库上搜索。
1、软件实体的交互基础软件实体的交互基础1/62高级软件工程高级软件工程在在一定程度上一定程度上人类的思维产生于人类的思维产生于简单个体之间的相互作用简单个体之间的相互作用MarvinMinsky软件实体的交互基础软件实体的交互基础2/62高级软件工程高级软件工程第第三三讲讲软件实体的交互基础软件实体的交互基础软件实体的交互基础软件实体的交互基础3/62高级软件工程高级软件工程内内 容容一、网络编程基本架构一、网络编程基本架构二、软件互操作的基本架构二、软件互操作的基本架构三、互操作协议三、互操作协议四、互操作接口定义四、互操作接口定义五、交互实体的查找五、交互实体的查找软件实体的交互基础软件实体
2、的交互基础4/62高级软件工程高级软件工程一、网络编程基本架构一、网络编程基本架构1、TCP/IP2、基于、基于Socket的网络软件的网络软件3、直接基于、直接基于Socket编程的不足编程的不足软件实体的交互基础软件实体的交互基础5/62高级软件工程高级软件工程ApplicationPresentationTransportNetworkData linkPhysicalSessionTCP,UDP、TCP/IPTCP/IP(1)ISO/OSI参考模型与TCP/IP的对照ISO/OSI参考模型参考模型主机与网络的连接:ethernet、token-ring因特网层:IP应用层:telnet
3、、ftp、smtp、snmp、dns、http、nntpTCP/IP软件实体的交互基础软件实体的交互基础6/62高级软件工程高级软件工程0NetworkHost10NetworkHost110NetworkHost1110Multicastaddress11110ReversedforfutureuseABCDE1.0.0.0127.255.255.255地址范围地址范围128.0.0.0191.255.255.255192.0.0.0223.255.255.255224.0.0.0239.255.255.255240.0.0.0247.255.255.255类类(2 2)IPIP:Inter
4、netProtocol软件实体的交互基础软件实体的交互基础7/62高级软件工程高级软件工程Vers.H.lenServicetypeTotallengthIdentificationFlagsFragmentoffsetdataTimetoliveProtocolHeaderchecksumSourceIPaddressDestinationIPaddressIPoptions(maybeomitted)PaddingIPIP头头Service typeService typePrecedenceDTRunused20bytes软件实体的交互基础软件实体的交互基础8/62高级软件工程高级软件工
5、程(3)TCP:TransmissionControlProtocollTCP为为两个分布式的构件提供了双向的消息通信两个分布式的构件提供了双向的消息通信lUNIX中的命令中的命令rsh,rcp 及及rlogin 全部基于全部基于TCPl它是它是一个可靠但较慢的协议一个可靠但较慢的协议l在在客户服务器双方进行缓冲客户服务器双方进行缓冲以提高速度以提高速度软件实体的交互基础软件实体的交互基础9/62高级软件工程高级软件工程TCP头格式头格式SourceportDestinationportSequencenumberAcknowledgementnumberChecksumUrgentpoint
6、erOptions(0ormorewords)Data(optional)H.lenCodebitsReservedWindowsize软件实体的交互基础软件实体的交互基础10/62高级软件工程高级软件工程UDP:UserDatagramProtocoll一个构件向另一个构件发送消息一个构件向另一个构件发送消息l另一个构件的标识包含在消息中另一个构件的标识包含在消息中l不不可靠但快速的协议可靠但快速的协议l消息长度固定消息长度固定l消息在接受方排队消息在接受方排队lUNIXrwho 命令基于命令基于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高级软件工程高级软件工程3、直接基于、直接基于Socket编程的不足编程的不足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、互操作接口定义语言互操作接口定义语言客户指代主要完成上层代码(客户程序、服务器程序)客户指代主要完成上层代码(客户程序、服务器程序)与底层代码(与底层代码(RPCAPI等)之间的等)之间的“映射映射”其参数传递、编排、服务器定位等功能完全其参数传递、编排、服务器定位等功能完全与应用系统具体的业务逻辑实现细节无关与应用系统具体的业务逻辑实现细节无关因此因此只要系统明确定义了服务器的接
14、口只要系统明确定义了服务器的接口即可以产生与该接口对应的指代即可以产生与该接口对应的指代接口定义语言(接口定义语言(InterfaceDefinitionLanguage)描述了描述了客户与服务器之间的接口客户与服务器之间的接口软件实体的交互基础软件实体的交互基础21/62高级软件工程高级软件工程4、实体查找方式、实体查找方式实体查找方式主要是指服务器的定位实体查找方式主要是指服务器的定位根据自己掌握的信息根据自己掌握的信息客户如何才能查找到具体服务器客户如何才能查找到具体服务器这实际上涉及这实际上涉及服务器端服务信息的发布服务器端服务信息的发布服务信息的管理等问题服务信息的管理等问题软件实体
15、的交互基础软件实体的交互基础22/62高级软件工程高级软件工程互操作体系名称互操作体系名称互操作协议互操作协议接口定义语言接口定义语言实体查找实体查找RPCRPCIDLRPC注册注册DCOMORPCMIDL系统注册系统注册CORBAGIOP( IIOP)IDL命名服务命名服务EJBJRMPJavaInterfaceJNDIWebServiceSOAPWSDLUDDI现有互操作架构比较现有互操作架构比较软件实体的交互基础软件实体的交互基础23/62高级软件工程高级软件工程通信消息通信消息 对于计算机的重要性对于计算机的重要性 完全类似于人类的言语对于人类的重要性完全类似于人类的言语对于人类的重要
16、性协议协议是是通信双方传输消息时必须遵守的规则的集合通信双方传输消息时必须遵守的规则的集合Protocol:IP、TCP、UDP、IIOP、JRMP、SOAPFTP、HTTP、SMTP、SNMP1、概念、概念三、互操作协议三、互操作协议软件实体的交互基础软件实体的交互基础24/62高级软件工程高级软件工程对于互操作协议,尽管其发展的历史不长对于互操作协议,尽管其发展的历史不长但目前也已经有许多协议被设计、实现但目前也已经有许多协议被设计、实现例如:例如:RPC协议、协议、IIOP、JRMP、SOAP等等等等与人类言语类似,它们的实现方式也十分丰富与人类言语类似,它们的实现方式也十分丰富可以建立
17、在不同的底层协议之上可以建立在不同的底层协议之上例如例如TCP/IP、HTTP、ATM等等等等到目前为止,在互操作方面使用得最广泛的协议是到目前为止,在互操作方面使用得最广泛的协议是IIOP这主要得益于这主要得益于CORBA的巨大成功的巨大成功以及以及IIOP对异构平台的支持对异构平台的支持软件实体的交互基础软件实体的交互基础25/62高级软件工程高级软件工程所谓互操作协议要素是指所谓互操作协议要素是指设计一个互操作协议时必须考虑的主要问题设计一个互操作协议时必须考虑的主要问题这些问题主要包括:这些问题主要包括:数据表示数据表示消息格式消息格式引用表示引用表示 等等等等其它需要考虑的问题包括:
18、其它需要考虑的问题包括:如何将协议映射到底层协议之上如何将协议映射到底层协议之上如何管理连接过程如何管理连接过程如何提高协议的效率如何提高协议的效率等等等等2 2、互操作协议要素、互操作协议要素软件实体的交互基础软件实体的交互基础26/62高级软件工程高级软件工程在单机环境内,数据表示属于硬件层、语言层在单机环境内,数据表示属于硬件层、语言层而在网络环境下,调用参数必须经由网络进行传输而在网络环境下,调用参数必须经由网络进行传输这意味着这些数据将变成一种字节流的形式这意味着这些数据将变成一种字节流的形式以便于参数(数据)在网络上传输以便于参数(数据)在网络上传输就产生了如何在网络传输上表示程序
19、中的数据问题就产生了如何在网络传输上表示程序中的数据问题数据表示是一种传输语法数据表示是一种传输语法描述各种数据类型在传输线路上描述各种数据类型在传输线路上以字节流的形式表示出来的格式以字节流的形式表示出来的格式ONC-RPC中使用的格式为外部数据表示中使用的格式为外部数据表示(XDR:eXternalDataRepresentation)而而CORBA中使用的格式为公共数据表示中使用的格式为公共数据表示(CDR:CommonDataRepresentation)(1)数据表示数据表示软件实体的交互基础软件实体的交互基础27/62高级软件工程高级软件工程底层协议底层协议 主要解决通信的主要解决
20、通信的 可行性可行性 以及部分以及部分 可靠性可靠性 等问题等问题高层协议不同于底层协议的一个明显特征在于高层协议不同于底层协议的一个明显特征在于高层协议带有一定的语义信息高层协议带有一定的语义信息几乎每种高层协议几乎每种高层协议都对消息进行分类都对消息进行分类定义了多种不同类型的消息格式定义了多种不同类型的消息格式对于互操作协议而言对于互操作协议而言一次调用通常至少包含请求与应答两种消息一次调用通常至少包含请求与应答两种消息消息的种类较为类似消息的种类较为类似但消息格式差异较大但消息格式差异较大(2)消息格式消息格式软件实体的交互基础软件实体的交互基础28/62高级软件工程高级软件工程互操作
21、协议必须映射到底层协议上互操作协议必须映射到底层协议上方能得到实现方能得到实现目前的互操作协议都定义协议一到多种向传输层的映射目前的互操作协议都定义协议一到多种向传输层的映射例如例如GIOP定义了向定义了向TCP/IP的映射:的映射:IIOPSOAP主要定义了向主要定义了向HTTP的映射的映射(3)向底层协议的映射向底层协议的映射软件实体的交互基础软件实体的交互基础29/62高级软件工程高级软件工程2、协议比较、协议比较1)互操作开销不同)互操作开销不同IIOP、JRMP使用二进制的字节流形式编排消息使用二进制的字节流形式编排消息(CDR、XDR)SOAP采用字符型的采用字符型的XML编排消息
22、编排消息SOAP消息要比消息要比IIOP、JRMP消息长得多消息长得多SOAP的编排开销大、占用内存空间大的编排开销大、占用内存空间大2)表达能力不同)表达能力不同SOAP易于学习、易于开发、易于调试易于学习、易于开发、易于调试SOAP不支持消息的批处理、对象引用、对象激活等特性不支持消息的批处理、对象引用、对象激活等特性降低了降低了SOAP的表达能力的表达能力并使得基于并使得基于SOAP的交互受到限制的交互受到限制而而IIOP、JRMP等则不存在这种限制等则不存在这种限制软件实体的交互基础软件实体的交互基础30/62高级软件工程高级软件工程3)适应能力不同)适应能力不同IIOP、JRMP严重
23、制约于防火墙严重制约于防火墙防火墙一般由两个路由器与一个应用程序网关构成防火墙一般由两个路由器与一个应用程序网关构成路由器负责路由器负责IP层的分组信息层的分组信息列出可接受、禁止的源端和目标端等信息列出可接受、禁止的源端和目标端等信息应用程序网关在应用程序级进行控制应用程序网关在应用程序级进行控制根据头信息字段、消息长度、消息内容等根据头信息字段、消息长度、消息内容等决定传送还是丢弃消息决定传送还是丢弃消息这是这是IIOP、JRMP的应用受到限制的核心因素之一的应用受到限制的核心因素之一SOAP则基本不受其限制则基本不受其限制4)适用环境不同)适用环境不同JRMP适用于使用适用于使用JAVA
24、的应用系统的应用系统IIOP、SOAP支持各种语言,因此适用面更广支持各种语言,因此适用面更广IIOP适合于同一个防火墙内部之间的交互适合于同一个防火墙内部之间的交互而而SOAP则适合于跨越防火墙的交互则适合于跨越防火墙的交互软件实体的交互基础软件实体的交互基础31/62高级软件工程高级软件工程1、概念、概念接口(Interface)四、互操作接口定义四、互操作接口定义软件实体的交互基础软件实体的交互基础32/62高级软件工程高级软件工程应用编程接口(应用编程接口(API)对象接口对象接口构件接口构件接口抽象?实在?抽象?实在?模块通常由接口和实现两部分组成模块通常由接口和实现两部分组成模块的
25、接口部分模块的接口部分刻画了各个模块是如何耦合的刻画了各个模块是如何耦合的其他模块的设计者和使用者需要知道其他模块的设计者和使用者需要知道模块的实现部分模块的实现部分是各个模块的内部事务是各个模块的内部事务其他模块的设计者和使用者不需要知道其他模块的设计者和使用者不需要知道包含什么具体内容?(功能性、约束性)包含什么具体内容?(功能性、约束性)利用什么形式描述?(接口定义语言)利用什么形式描述?(接口定义语言)含义解释含义解释软件实体的交互基础软件实体的交互基础33/62高级软件工程高级软件工程单机环境下的不同软件模块之间单机环境下的不同软件模块之间主要主要定义模块的功能性(定义模块的功能性(
26、Functional)内容内容类似于一个函数的映射过程类似于一个函数的映射过程接口的功能性定义是对接口中各个接口的功能性定义是对接口中各个操作操作调用方式的描述调用方式的描述操作操作是由操作符标识的实体是由操作符标识的实体指明了一个不可再分的服务原语指明了一个不可再分的服务原语请求一个操作的动作被称为调用一个操作请求一个操作的动作被称为调用一个操作对一个操作功能的描述由输入、输出两部分组成对一个操作功能的描述由输入、输出两部分组成 也被称为一个基调(也被称为一个基调(signature)用于描述操作的输入、输出参数名称及类型用于描述操作的输入、输出参数名称及类型功能性(功能性(Function
27、alFunctional)软件实体的交互基础软件实体的交互基础34/62高级软件工程高级软件工程网络环境下的不同软件模块的合作需要考虑的因素网络环境下的不同软件模块的合作需要考虑的因素不仅仅包含功能方面不仅仅包含功能方面还涉及分布性、可靠性、安全性等方面的因素还涉及分布性、可靠性、安全性等方面的因素网络环境下的接口网络环境下的接口 除需要定义模块的功能性内容外除需要定义模块的功能性内容外还需要定义模块的约束性内容还需要定义模块的约束性内容接口的约束性定义是指对功能以外特征的描述接口的约束性定义是指对功能以外特征的描述简单的包括:例外处理、执行语义等简单的包括:例外处理、执行语义等复杂一些的包括
28、:复杂一些的包括:(1 1)行为特征)行为特征: :用于描述操作的输出用于描述操作的输出 通过对操作增加前置与后置条件而实现通过对操作增加前置与后置条件而实现(2 2)同步)同步特征特征: :用于描述分布性与并发性用于描述分布性与并发性约束性(约束性(ConstraintConstraint)软件实体的交互基础软件实体的交互基础35/62高级软件工程高级软件工程2、接口定义语言、接口定义语言IDL:InterfaceDefinitionLanguageWSDL:WebServiceDescriptionLanguage服务描述语言服务描述语言interfaceHospitaltypedefst
29、ringPatientId;PatientIdadmit_patient();voidrelease_patient(inPatientIdpatient);软件实体的交互基础软件实体的交互基础36/62高级软件工程高级软件工程有的以描述结构化程序的功能为主有的以描述结构化程序的功能为主例如例如RPC-IDLRPC-IDL微软的微软的-IDL-IDL有的以描述对象的功能为主有的以描述对象的功能为主例如例如CORBACORBA的的IDLIDL有的以描述服务为主有的以描述服务为主例如例如web serviceweb service的的WSDLWSDL1 1)描述对象不同描述对象不同比较比较软件实体
30、的交互基础软件实体的交互基础37/62高级软件工程高级软件工程有的以具体计算机语言的方式表达有的以具体计算机语言的方式表达例如例如SUNSUN的的Java InterfaceJava Interface有的以独立于具体的计算机语言有的以独立于具体的计算机语言但十分类似于计算机语言的方式表达但十分类似于计算机语言的方式表达例如:例如:RPC-IDLRPC-IDL微软的微软的-IDL-IDLCORBACORBA的的IDLIDL有的以有的以XMLXML为方式表达为方式表达例如:例如:web serviceweb service的的WSDLWSDL2 2)描述方式不同)描述方式不同软件实体的交互基础软
31、件实体的交互基础38/62高级软件工程高级软件工程有的仅描述接口的语法信息有的仅描述接口的语法信息例如:例如:RPC-IDL微软的微软的-IDLCORBA的的IDL有的还包括与底层协议的绑定信息有的还包括与底层协议的绑定信息例如:例如:WSDL等等在在CORBA中这部分信息包含在中这部分信息包含在IOR中中3)描述内容不同)描述内容不同软件实体的交互基础软件实体的交互基础39/62高级软件工程高级软件工程五、交互实体的查找五、交互实体的查找网络环境中的资源具有明显的分布性这些资源可能分布于不同的节点之上问题:分布在不同节点上的实体如何查找到其他的实体?软件实体的交互基础软件实体的交互基础40/
32、62高级软件工程高级软件工程1、三种查找方式、三种查找方式2、命名服务、命名服务3、目录服务、目录服务4、合约服务、合约服务内内容容软件实体的交互基础软件实体的交互基础41/62高级软件工程高级软件工程l命名命名(Naming)服务:服务:通过外部名字定位构件通过外部名字定位构件类似于(电话本)白页类似于(电话本)白页.公司甲公司甲67890001公司乙公司乙67890002公司丙公司丙67890003CORBA的命名服务的命名服务TCP/IP中的中的DNSCOM、JVM中的注册表等中的注册表等皆提供了类似的服务皆提供了类似的服务1、三种查找方式、三种查找方式软件实体的交互基础软件实体的交互基
33、础42/62高级软件工程高级软件工程l目录目录(Directory)服务:服务:通过服务特性定位构件通过服务特性定位构件类似于(电话本)黄页类似于(电话本)黄页IT领域领域存储器公司存储器公司公司甲公司甲67890001计算机公司计算机公司公司乙公司乙67890002公司丙公司丙67890003公司丁公司丁67890004SUN的网络信息系统(的网络信息系统(NetworkInformationSystem:NIS)Novell目录服务(目录服务(NovellDirectoryService:NDS)IUT/ISO的的X.500以及以及LDAPCORBA的交易服务的交易服务微软的微软的Acti
34、veDirectoryService等等提供了类似的服务提供了类似的服务软件实体的交互基础软件实体的交互基础43/62高级软件工程高级软件工程l合约合约(Contract)服务:服务:通过技术规范定位构件通过技术规范定位构件绿页绿页IT领域领域计算机公司计算机公司公司乙公司乙电话电话67890002地址地址北京市海淀区中关村大街北京市海淀区中关村大街XX号号ECPUIntelP4 硬盘硬盘Seagate40G 鼠标鼠标双飞燕双飞燕USBWebService的的UDDI即包含这方面的信息即包含这方面的信息CORBA的接口池也具有部分的接口池也具有部分“绿页绿页”功能功能软件实体的交互基础软件实体
35、的交互基础44/62高级软件工程高级软件工程不同的查找服务提供的功能:不同的查找服务提供的功能:白页黄页绿页DNSCORBANamingCORBATradingCORBAIRX.500/LDAPUDDI软件实体的交互基础软件实体的交互基础45/62高级软件工程高级软件工程名字是知识的基础名字是知识的基础本体论(本体论(Ontology)名实论(名,所以谓也,实,所谓也名实论(名,所以谓也,实,所谓也墨子)墨子)操作系统中的进程名操作系统中的进程名文件系统中的文件名文件系统中的文件名程序语言中的程序语言中的变量名、过程名、变量名、过程名、数据结构名、对象名数据结构名、对象名网络环境下的计算机名、
36、数据库名网络环境下的计算机名、数据库名、构件名、构件名2、命名服务、命名服务软件实体的交互基础软件实体的交互基础46/62高级软件工程高级软件工程名字与标识、引用名字与标识、引用标识标识引用引用名字与引用的关联名字与引用的关联指代指代名字名字服务使用者的空间服务使用者的空间服务提供者的空间服务提供者的空间查找注册(绑定)调用解析名字引用软件实体的交互基础软件实体的交互基础47/62高级软件工程高级软件工程名字系统名字系统主要功能是将名字映射到对象主要功能是将名字映射到对象一组一组context的集合的集合l这些这些context是连接的是连接的l使用同样的命名规则使用同样的命名规则l提供同样的
37、操作集合并具有同样的语义提供同样的操作集合并具有同样的语义例如:例如:c:/win98/system软件实体的交互基础软件实体的交互基础48/62高级软件工程高级软件工程名字分类名字分类Atomicname(原子名字原子名字)l名字中不可分割的部分名字中不可分割的部分lUsr/local/bin中的中的usr,local,中的中的www,pku,edu,cnCompoundname(复合名字)复合名字)l包含了零个或多个原子名字的一个序列包含了零个或多个原子名字的一个序列lUsr/local/bin,软件实体的交互基础软件实体的交互基础49/62高级软件工程高级软件工程lCompositeName(合成名字)合成名字)与复合名字与复合名字(compoundname)不同不同是跨越多个命名系统的名字是跨越多个命名系统的名字包含了一个有序的复合或原子名字的列表包含了一个有序的复合或原子名字的列表l每个复合或原子名字属于不同的命名系统名字空每个复合或原子名字属于不同的命名系统名字空间间http:/ 名字、联系方法、描述、标识符、分类 (1.n) (1.n) 技术信息技术信息 (服务规约信息) 名字 描述 指向技术规范的 URL 指针