文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发数据结构简单对象访问协议(SOAP)初级指南
精品推荐
特别推荐
·网游外挂编写完全攻略
·开发WDM型的USB设备驱动程序
·数据库设计范式深入浅出
·理解软件保护技术之序列号方式
·大型网站必鉴:分销渠道的结构
·你的代码真的很健壮吗
·利用HOOK拦截封包原理
·四种网络游戏外挂的设计方法
·程序语言效率比较
·五子棋算法
热点TOP10
·剖析备份个人数据十大注意事项
·BPEL的基本活动介绍
·BPEL模型基础
·VS2005视频教程之站点地图[视频]
·DB2数据库部分日常实用操作
·数据结构教程 第十五课 串的表示和实现
·MD5算法解释
·逆向思维 《魔兽世界》封包分析
·IE工具条插件Toolbar开发简介
·网游外挂编写完全攻略

简单对象访问协议(SOAP)初级指南

日期:2008年1月16日 作者: 查看:[大字体 中字体 小字体]


  (本文假设读者对COM和XML技术已经很熟悉。)

  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表的键。

  有几个请求头组件被服务器端的处理程序用于分发调用。对象端点ID被用于定位在服务器进程中目标对象。接口标识符和方法标识符用于决定在目标对象中哪一个方法被调用。传输体用于传递请求中的[in]和[in,out]参数的值(在响应中是[out]和[in,out])。要注意的是任选的协议扩展可以出现在头文件和传输体之间。这是在协议设计中的惯例,因为它允许新的服务搭载在ORPC的请求和服务上。大多数ORPC系统用这个区域传递附加的上下文信息(如事务信息和因果关系标识符)。

  目前两个主要的OPRC协议是DCOM 和 CORBA的 Internet Inter-ORB Protocol (IIOP) 或更一般的General Inter-ORB Protocol (GIOP)。DCOM和IIOP/GIOP的请求格式非常相似。两个协议都用一个对象端点ID来确定目标对象,用方法标识符来决定调用哪个方法。

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] 下一页 




上一篇:基于Windows的入门级IDS构建过程详述

下一篇:基于CS模式的Winsock网络通讯程序

相关文章:
·从零开始学黑客:网络黑客新手入门指南
·初级网管或黑客必需撑握的8个DOS命令
·巴塞尔新资本协议概述
·Windows Vista Ultimate中文旗舰版下载+简单破解(支持迅雷HTTP & BT)
·基础知识 初级黑客安全技术命令详解
·网赚指南经典教程(共十课)
·《人工少女2》操作指南 - 游戏手册
·Photoshop十余种漂亮照片边框简单制作技巧
·简单方法查找黑客老巢
·MPEG、RM、WMV电影文件格式转换指南
相关软件:
·Adobe Photoshop CS 2 简体中文使用指南
·TCP-IP详解卷1:协议
·UML面向对象建模技术 csf 视频教程
·新版标准日本语初级 单词读音MP3
·网桥 路由器 交换机和互连协议教材
·爱,就这么简单
·vb6程序员指南
·英语专业八级考试指南 01
·雅思考试听力指南
·日本语教程初级听说训练第四十五課_new

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn