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

下载本文档

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

文档简介

在一定程度上人类的思维产生于简单个体之间的相互作用第1页,共57页。(优选)在一定程度上人类的思维产生于简单个体之间的相互作用第2页,共57页。内 容一、网络编程基本架构二、软件互操作的基本架构三、互操作协议四、互操作接口定义五、交互实体的查找第3页,共57页。一、网络编程基本架构1、TCP/IP2、基于Socket的网络软件3、直接基于Socket编程的不足第4页,共57页。ApplicationPresentationTransportNetworkDatalinkPhysicalSessionTCP,UDP2、TCP/IP(1)ISO/OSI参考模型与TCP/IP的对照ISO/OSI参考模型主机与网络的连接:ethernet、token-ring因特网层:IP应用层:telnet、ftp、smtp、snmp、dns、http、nntp

TCP/IP第5页,共57页。0NetworkHost10NetworkHost110NetworkHost1110Multicastaddress11110ReversedforfutureuseABCDE~55地址范围~55~55~55~55类(2)IP:InternetProtocol第6页,共57页。Vers.H.lenServicetypeTotallengthIdentificationFlagsFragmentoffsetdataTimetoliveProtocolHeaderchecksumSourceIPaddressDestinationIPaddressIPoptions(maybeomitted)PaddingIP头ServicetypePrecedenceDTRunused20bytes第7页,共57页。(3)TCP:TransmissionControlProtocol

TCP为两个分布式的构件提供了双向的消息通信UNIX中的命令rsh,rcp及

rlogin全部基于

TCP它是一个可靠但较慢的协议在客户服务器双方进行缓冲 以提高速度第8页,共57页。TCP头格式SourceportDestinationportSequencenumberAcknowledgementnumberChecksumUrgentpointerOptions(0ormorewords)Data(optional)H.lenCodebitsReservedWindowsize第9页,共57页。UDP:UserDatagramProtocol一个构件向另一个构件发送消息另一个构件的标识包含在消息中不可靠但快速的协议消息长度固定消息在接受方排队UNIXrwho命令基于UDP第10页,共57页。2、基于Socket的网络软件服务器

客户

创建

通信套接字

通常通过随机分配得到端口

等待连接套接字

通常对应于一个固定端口

连接请求

第11页,共57页。面向连接:服务器客户Socket()bind()listen()read()close()Socket()connect()write()close()处理请求…write()read()accept()阻塞,等待客户连接建立连接请求服务应答数据第12页,共57页。面向非连接:服务器客户Socket()bind()readfrom()sendto()close()Socket()bind()sendto()readfrom()close()处理请求…应答数据请求服务阻塞,等待客户数据第13页,共57页。3、直接基于Socket编程的不足套接字的出现促进了软件从单机环境向网络环境的发展扩展了软件的应用范围人们很快不满足于直接基于套接字的开发过程基于套接字的开发方式较为繁琐这种软件的排错十分困难特别是当服务器端需要根据用户的不同请求内容区分不同的处理过程时根本原因在于基于套接字的交互层次较低不同软件之间需要约定专门的消息格式、数据类型等第14页,共57页。二、软件互操作的基本架构为支持 应用层的某一实体使用另一实体 而制定的一套技术规范

第15页,共57页。

互操作消息

客户端指代

互操作接口定义语言

互操作协议

网络基础设施

网络基础设施

互操作消息

服务器端指代

客户端程序

服务器端程序

互操作实现(以RPC为例)

实体查找方式

互操作规范

底层协议

决定

决定

第16页,共57页。软件互操作体系与人类交互过程的比较底层协议提供了基本的通信基础互操作消息是软件之间进行交互时所表述的语言 互操作协议是对这些语言的语法说明互操作接口定义是软件之间的一种约定

接口定义语言是合约的撰写规则

实体查找方式是交互双方建立联系的途径 包括白页、黄页、绿页等多种途径第17页,共57页。1、

底层协议底层协议是互操作协议所依赖的底层通信机制目前最受重视的协议是前面讲过的 TCP/IP协议 也可以是ATM等其它协议第18页,共57页。第19页,共57页。第20页,共57页。4、实体查找方式实体查找方式主要是指服务器的定位 根据自己掌握的信息 客户如何才能查找到具体服务器这实际上涉及服务器端服务信息的发布 服务信息的管理等问题第21页,共57页。互操作体系名称互操作协议接口定义语言实体查找RPCRPCIDLRPC注册DCOMORPCMIDL系统注册CORBAGIOP(IIOP)IDL命名服务EJBJRMPJavaInterfaceJNDIWebServiceSOAPWSDLUDDI现有互操作架构比较第22页,共57页。通信消息 对于计算机的重要性 完全类似于人类的言语对于人类的重要性协议是 通信双方传输消息时必须遵守的规则的集合

Protocol: IP、TCP、UDP、 IIOP、JRMP、SOAP

FTP、HTTP、SMTP、SNMP1、概念三、互操作协议第23页,共57页。对于互操作协议,尽管其发展的历史不长但目前也已经有许多协议被设计、实现 例如:RPC协议、IIOP、JRMP、SOAP等等与人类言语类似,它们的实现方式也十分丰富 可以建立在不同的底层协议之上 例如TCP/IP、HTTP、ATM等等到目前为止,在互操作方面使用得最广泛的协议是IIOP 这主要得益于 CORBA的巨大成功 以及IIOP对异构平台的支持第24页,共57页。所谓互操作协议要素是指 设计一个互操作协议时必须考虑的主要问题这些问题主要包括: 数据表示 消息格式 引用表示等等其它需要考虑的问题包括: 如何将协议映射到底层协议之上 如何管理连接过程 如何提高协议的效率 等等

2、互操作协议要素第25页,共57页。在单机环境内,数据表示属于硬件层、语言层而在网络环境下,调用参数必须经由网络进行传输 这意味着这些数据将变成一种字节流的形式 以便于参数(数据)在网络上传输就产生了如何在网络传输上表示程序中的数据问题数据表示是一种传输语法 描述各种数据类型在传输线路上 以字节流的形式表示出来的格式ONC-RPC中使用的格式为外部数据表示 (XDR:eXternalDataRepresentation)而CORBA中使用的格式为公共数据表示 (CDR:CommonDataRepresentation)

(1)数据表示第26页,共57页。底层协议主要解决通信的 可行性 以及部分可靠性等问题高层协议不同于底层协议的一个明显特征在于 高层协议带有一定的语义信息几乎每种高层协议 都对消息进行分类 定义了多种不同类型的消息格式对于互操作协议而言 一次调用通常至少包含请求与应答两种消息 消息的种类较为类似 但消息格式差异较大

(2)消息格式第27页,共57页。互操作协议必须映射到底层协议上 方能得到实现目前的互操作协议都定义协议一到多种向传输层的映射例如 GIOP定义了向TCP/IP的映射:IIOP

SOAP主要定义了向HTTP的映射(3)向底层协议的映射第28页,共57页。2、协议比较第29页,共57页。3)适应能力不同

IIOP、JRMP严重制约于防火墙 防火墙一般由两个路由器与一个应用程序网关构成 路由器负责IP层的分组信息 列出可接受、禁止的源端和目标端等信息 应用程序网关在应用程序级进行控制 根据头信息字段、消息长度、消息内容等 决定传送还是丢弃消息 这是IIOP、JRMP的应用受到限制的核心因素之一

SOAP则基本不受其限制4)适用环境不同 JRMP适用于使用JAVA的应用系统 IIOP、SOAP支持各种语言,因此适用面更广 IIOP适合于同一个防火墙内部之间的交互 而SOAP则适合于跨越防火墙的交互第30页,共57页。1、概念接口(Interface)四、互操作接口定义第31页,共57页。应用编程接口(API)对象接口构件接口抽象?实在?模块通常由接口和实现两部分组成模块的接口部分 刻画了各个模块是如何耦合的 其他模块的设计者和使用者需要知道模块的实现部分 是各个模块的内部事务 其他模块的设计者和使用者不需要知道包含什么具体内容?(功能性、约束性)利用什么形式描述?(接口定义语言)含义解释第32页,共57页。单机环境下的不同软件模块之间 主要定义模块的功能性(Functional)内容 类似于一个函数的映射过程接口的功能性定义是对接口中各个操作调用方式的描述操作 是由操作符标识的实体 指明了一个不可再分的服务原语请求一个操作的动作被称为调用一个操作对一个操作功能的描述由输入、输出两部分组成也被称为一个基调(signature) 用于描述操作的输入、输出参数名称及类型功能性(Functional)第33页,共57页。网络环境下的不同软件模块的合作需要考虑的因素 不仅仅包含功能方面 还涉及分布性、可靠性、安全性等方面的因素网络环境下的接口除需要定义模块的功能性内容外 还需要定义模块的约束性内容接口的约束性定义是指对功能以外特征的描述 简单的包括:例外处理、执行语义等 复杂一些的包括: (1)行为特征:用于描述操作的输出 通过对操作增加前置与后置条件而实现 (2)同步特征:用于描述分布性与并发性约束性(Constraint)第34页,共57页。2、接口定义语言IDL:InterfaceDefinitionLanguageWSDL:WebServiceDescriptionLanguage服务描述语言interfaceHospital{ typedefstringPatientId; PatientIdadmit_patient(); voidrelease_patient(inPatientIdpatient);};第35页,共57页。有的以描述结构化程序的功能为主 例如 RPC-IDL 微软的-IDL有的以描述对象的功能为主 例如 CORBA的IDL有的以描述服务为主 例如 webservice的WSDL1)描述对象不同比较第36页,共57页。有的以具体计算机语言的方式表达 例如SUN的JavaInterface有的以独立于具体的计算机语言 但十分类似于计算机语言的方式表达 例如:RPC-IDL 微软的-IDL

CORBA的IDL有的以XML为方式表达 例如:webservice的WSDL2)描述方式不同第37页,共57页。有的仅描述接口的语法信息 例如:RPC-IDL 微软的-IDL

CORBA的IDL有的还包括与底层协议的绑定信息 例如:WSDL等 在CORBA中这部分信息包含在IOR中3)描述内容不同第38页,共57页。五、交互实体的查找网络环境中的资源具有明显的分布性这些资源可能分布于不同的节点之上问题: 分布在不同节点上的实体如何查找到其他的实体?第39页,共57页。1、三种查找方式2、命名服务3、目录服务4、合约服务内容第40页,共57页。命名(Naming)服务:通过外部名字定位构件类似于(电话本)白页……….…公司甲67890001公司乙67890002公司丙67890003……CORBA的命名服务TCP/IP中的DNSCOM、JVM中的注册表等皆提供了类似的服务1、三种查找方式第41页,共57页。目录(Directory)服务:通过服务特性定位构件类似于(电话本)黄页IT领域存储器公司公司甲67890001计算机公司公司乙67890002公司丙67890003公司丁67890004……SUN的网络信息系统(NetworkInformationSystem:NIS)Novell目录服务(NovellDirectoryService:NDS)IUT/ISO的X.500以及LDAPCORBA的交易服务微软的ActiveDirectoryService等 提供了类似的服务第42页,共57页。合约(Contract)服务:通过技术规范定位构件绿页IT领域计算机公司公司乙电话67890002

地址北京市海淀区中关村大街XX号 Email CPUIntelP4…… 硬盘Seagate40G…… 鼠标双飞燕USB……WebService的UDDI即包含这方面的信息CORBA的接口池也具有部分“绿页”功能第43页,共57页。不同的查找服务提供的功能:

白页黄页绿页DNS

CORBANaming

CORBATrading

CORBAIR

X.500/LDAP

UDDI

第44页,共57页。名字是知识的基础本体论(Ontology)名实论(名,所以谓也,实,所谓也——墨子)操作系统中的进程名文件系统中的文件名程序语言中的 变量名、过程名、 数据结构名、对象名网络环境下的计算机名、数据库名、构件名2、命名服务第45页,共57页。名字与标识、引用

标识

引用

名字与引用的关联

指代

名字

服务使用者的空间

服务提供者的空间

查找

注册

(绑定)

调用

解析

名字

引用

第46页,共57页。名字系统主要功能是将名字映射到对象一组context的集合这些context是连接的使用同样的命名规则提供同样的操作集合并具有同样的语义

例如:/nds/ c:/win98/system

第47页,共57页。名字分类Atomicname(原子名字)名字中不可分割的部分Usr/local/bin中的usr,local,bin/public/index.html中的www,pku,edu,cnCompoundname(复合名字)包含

温馨提示

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

评论

0/150

提交评论