当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

SOAP协议简介[Java编程]

赞助商链接



  本文“SOAP协议简介[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

SOAP(Simple Object Access Protocal) 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的利用可以被遍及的用户所拜候.SOAP是把成熟的基于HTTP的WEB技术与XML的机动性和可扩大性组合在了一同.

这篇文章带你全面回想对象远程进程调用(ORPC)技术的历程,以帮忙你理解SOAP技术的底子,以及它降服存在技术(如CORBA和DCOM)的很多缺陷的办法.随后报告具体的SOAP编码法则,并把核心放在SOAP是怎样映射到存在的ORPC概念上的.

引言:

当我在1984年开始把计算作为我的职业的时刻,大大都程序员并不关心网络协议.但是在九十年代网络变得无所不在,目前假若有谁利用计算机却不利用某种情势网络衔接是很难以想象的.本日,普通的程序员对成立可扩大的分布式利用表现出更大的爱好,而不再只是关注于用MFC实现本性化的可浮动半透明非矩形的Coolbars了.

程序员普通喜好用编程模子来考虑问题,而很少考虑网络协议.固然这样做普通是很好的,但在这篇文章中我将谈论的SOAP是一个没有明显的编程模子的网络协议.这并不意味着SOAP的体系构造从根本上会改变你编程的方法.相反,SOAP的一个主要目标是使存在的利用能被更遍及的用户所利用.为了实现这个目的,没有任何SOAP API或SOAP 对象恳求代理(SOAP ORB),SOAP是假定你将利用尽大概多的存在的技术.几个主要的CORBA厂商已经答应在他们的ORB产品中支持SOAP协议.微软也答应在将来的COM版本中支持SOAP.

DevelopMentor已经开辟了参考实现,它使得在任何平台上的任何Java或Perl程序员都可以利用SOAP.

在SOAP背面的指导理念是“它是第一个没有创造任何新技术的技术”.SOAP采取了已经遍及利用的两个协议:HTTP和XML.HTTP用于实现SOAP的RPC气势的传输,而XML是它的编码情势.采取几行代码和一个XML解析器,HTTP服务器(如MS的IIS或Apache)立即成为了SOAP的ORBs. 因为目前超越一半的Web服务器采取IIS或Apache, SOAP将会从这两个产品的遍及而坚固的利用中获得好处.这并不意味着全部的SOAP恳求必须通过Web服务器来路由,传统的Web 服务器只是分配SOAP恳求的一种方法.因此Web服务如IIS或Apache对成立SOAP使能的利用是充分的,但决不是必要的.

正如这篇文章将要描写的,SOAP简单地用XML来编码HTTP的传输内容.SOAP最常用的利用是作为一个RPC协议.为了理解SOAP怎样工作,有必要扼要回想一下RPC协议的历史.

RPCs的历史

成立分布式利用的两个主要通信模子是消息传送(常常与行列组合在一同)和恳求/呼应.消息传送系统答应通信任何一方在任什么时刻间发送消息.恳求/呼应协议把通信情势限制在恳求/呼应的双方.基于消息的利用激烈地意识到它们正在与外部的并行进程举行通信,并且需求一个显式的计划气势.基于恳求/呼应的利用更象一个单进程的利用,因为发送恳求的利用或多或少被阻塞直至收到来自另一个进程的呼应.这使得恳求/呼应通信自然地合适于RPC利用.

固然消息通信和恳求/呼应各有他们的长处,他们都是可以用对方来实现的.消息系统可以用较底层的恳求/呼应协议来成立.如微软的Message Queue Server (MSMQ)内部采取了DCE RPC来成立大大都的掌握逻辑.RPC系统也可以采取较底层的消息系统来成立.MSMQ供应的关联 ID恰是为了这个目的.不管评价若何,大大都的利用仍趋向于利用RPC协议,因为它们遍及的利用,它们更简单的计划,以及更自然的到传统的编程技术的映射.

在八十年代,两个主要的RPC协议是Sun RPC 和DCE RPC.最风行的Sun RPC利用是大大都UNIX系统所利用的Network File System (NFS).最风行的DCE RPC利用则是Windows NT?,它采取DCE RPC 协议来实现很多系统服务.这两个协议被证明实用于很大范围的利用.但是,在八十年代末期,面向对象技术的风靡使软件界沉浸于在面向对象语言和基于RPC的通信之间成立一个纽带.

在九十年代产生的对象RPC (ORPC) 协议恰是试图把面向对象和网络协议接洽起来.ORPC 和 RPC 协议的主要差别是ORPC代码化了从通信终端到语言级对象的映射.在每个ORPC恳求的头中都有一个cookie,服务器端的程序能用它来定位在服务器进程中的目标对象.普通这个cookie只是一个对数组的索引,但别的技术也常常被利用,如用标记名作为Hash表的键.

目前两个主要的OPRC协议是DCOM 和 CORBA的 Internet Inter-ORB Protocol (IIOP) 或更普通的General Inter-ORB Protocol (GIOP).DCOM和IIOP/GIOP的恳求格局非常类似.两个协议都用一个对象端点ID来肯定目标对象,用办法标识符来决意调用哪个办法.

这两个协议主要有两点差别:主要的一点差别是采取IIOP/GIOP时,接口标识符是隐含的,因为一个给定的CORBA对象只实现一个接口(固然OMG当前正在举行每个对象有多个接口支持的尺度化工作).DCOM与IIOP/GIOP恳求的另一个渺小差别是在传输体中参数值的格局.在DCOM中,传输体用网络数据表达(NDR)的格局来写,在IIOP/GIOP中,传输体用大众数据表达(CDR)的格局来写.NDR和 CDR辨别处理在各种平台上的差别的数据表达.但是在这两种格局之间有一些小的差别,这使它们彼此之间并不兼容.

在ORPC与RPC协议之间的另一个重要的差别是通信端点的命名方法.在ORPC协议中,关于ORPC端点的一些可传送的表达方法被要求在网络之间传送对象引用.在CORBA/IIOP,这个表达方法被称为可交互的对象引用(IOR).IORs包含用紧凑格局表达的寻址信息,利用了它任何CORBA产品都可以决意一个对象端点.在DCOM中,这种表达方法被称为OBJREF,它组合了分布的引用计算和端点/对象标识.CORBA和DCOM都供应了在网络上探求对象端点的高级机制,但终究这些机制都映射回到了IORs或OBJREFs.


  以上是“SOAP协议简介[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Java中的SOAP技术
  • SOAP协议简介
  • 基于J2ME平台下SOAP协议的操纵
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .