1、概述
2、分布式协议技术与SOAP关系
3、有关SOAP概念简介
4、SOAP的B2B电子商务应用
一、概述
SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议。SOAP 技术有助于实现大量异构程序和平台之间的互操作性,从而使存在的应用能够被广泛的用户所访问。SOAP是把成熟的基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起。
SOAP为在一个松散的、分布的环境中使用XML对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制。SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机制来表示应用语义。SOAP的这项能力使得它可被很多类型的系统用于从消息系统到RPC(Remote Procedure Call)的延伸。
1)SOAP envelop (SOAP信封),它构造定义了一个整体的表示框架,可用于表示在消息(message)中的是什么,谁应当处理它,以及这是可选的还是强制的。
2)SOAP encoding rules (SOAP编码规则),它定义了一个编序机制用于交换应用程序定义的数据类型的实例。
3)SOAP RPC representation (SOAP RPC表示),它定义了一个用于表示远端过程调用和响应的约定。
4)SOAP binding (SOAP绑定),它定义了一个使用底层传输协议来完成在结点间交换SOAP信封的约定。
SOAP的主要设计目标是简明性和可扩展性。这就意味着有一些传统消息系统或分布式对象系统中的特性将不包含在SOAP的核心规范中。这些特性包括:
SOAP定义了一种消息交互机制,它描述了如何用XML对信息进行编码。通常,SOAP用于在运行时解释远程调用的参数值,并且使用特定的编码方式将这些值填充在XML文档中。然后,XML数据通过HTTP协议传输至远程服务器,当然有时也使用其他传输协议。除此之外,还有许多远程方法调用规范,例如,CORBA的 IIOP,DCOM的ORPC,以及Java的Remote Method Protocol。 SOAP的特点——也是最大的优点在于它是基于文本的(通过采用XML),而不是二进制,而且它不是某个制造商所特有的。
SOAP使用通用的传输协议-----主要是HTTP。这不仅是SOAP的秘密武器,也是它成功的关键。由于公司的防火墙很少限制HTTP数据,(使用HTTP作为传输协议的)SOAP应该很容易通过防火墙。专用的分布式计算协议是不可能做到的。它们使用的网络地址通常不允许进入安装了防火墙的安全系统。SOAP的另一优点在于XML。SOAP能够将以前无法通信和共享资源的系统集成在一起。目前,各种计算系统正逐渐支持XML。只要能够将XML文档传入系统,通常就可以找到用于读取和解释XML编码信息的软件。为了支持远程计算,SOAP将方法调用参数保存为特有的二进制格式,并将这些参数作为XML信息传递到远程服务器,然后,服务器上相应的SOAP处理程序提 XML信息,并将它恢复为二进制形式进行处理。