SOAP技术与B2B应用集成(5)

原创 2002年05月31日 10:03:00

SOAP技术与B2B应用集成(5

本文最初由 IBM developerWorks 中国网站发表,其网址是
http://www.ibm.com/developerWorks/cn/

SOAP技术总结及其在InterOP Stack中的作用

在先前的系列文章中,已经系统地介绍了SOAP技术的各个组成部分:SOAP MessageSOAP EnvelopeSOAP EncodingSOAP RPC Presentation等。在这里,我就各个组成部分的协作和功能作一个总结。并就各个部分在B2B应用中的地位加以阐述。在本文的第二部分,将概述InterOP Stack整个技术体系与SOAP的关系及其协同,使大家能了解SOAP在整个体系中的功能及应用。在SOAP技术与B2B应用集成系列之后的文章系列中,我将会介绍WSDLUDDI,到时候大家就能对整个InterOP Stack中各项技术的协作有一个更全面,更清楚的认识,并进一步认识到SOAP技术的重要性。

SOAP技术总结

SOAP Message(SOAP消息)是用于传输应用入口调用信息的承载体,尤其是B2B应用调用。从根本上来看,SOAP Message是从发送方到接受方的一种传输方法。在B2B应用中,SOAP消息是B2B应用调用信息的基本承载体。

SOAP Envelope(SOAP信封)用于描述SOAP Message的结构,定义了一个以SOAP HeaderSOAP Body为子主体的描述结构。SOAP EnvelopeSOAP Message的信息框架。在B2B应用中,SOAP EnvelopeB2B应用调用信息提供了一个基本的信息描述框架。

SOAP Header提供了一个可伸缩的机制用于在分散的模块化扩展SOAP消息,而通讯双方并不需要有预先的约定知识。在B2B应用中的典型的扩展例子可以是实现一些诸如认证、事务管理以及支付的Header条目。

SOAP Body元素提供一个简单的用于与消息的最终接收者交换必须处理的信息的机制。在SOAP Body中可以描述应用入口调用和响应的各种数据信息。在B2B应用中,Body元素的应用可以是B2B应用调用请求信息(如产品ID、产品数量等)和响应信息(如订单号、订单履行日期)及错误信息(如产品库存不够等)

SOAP Encoding(SOAP遍序方法)是基于一个简单类型系统,而这个系统是程序语言、数据库和半结构数据中类型系统的公共特性的泛化。默认的SOAP Encoding定义和XML Schema是相容的,基本一致的。SOAP Encoding使类似整数(integer)、字符串(string)、数组(array)、结构(struct)等数据类型得以在SOAP消息的表示。SOAP EncodingSOAP HeaderSOAP Body中的数据表示提供了默认的方式,当然你也可以使用其他任意基于XML Schema的型/值描述系统。

SOAP RPC Presentation(SOAP RPC表示)是一个用于表示远端过程调用和响应的约定,利用XML的可扩展性和可伸缩性来包装和交换RPC调用。目前通过绑定各种已有的Internet协议,譬如HTTPSMTPPOP3等,利用这些协议的调用响应机制,完成SOAP的调用和响应。具体地说,SOAP消息会作为这些协议的正文被发送。也就是说将SOAP协议包上了一个HTTP的外壳,在HTTP Network里面传输,当然SMTPPOP3也是同样。SOAP RPC Presentation是最终面向传输的绑定机制。

各个组件协作的组成可以参阅下图:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />image002.gif

SOAP技术在InterOP Stack体系中的作用和地位

如果把B2B应用利用InterOP Stack技术进行交互与程序员使用编程技术和资源进行应用开发相对比的话(尽管不是非常贴切)SOAP就是各种编程语言中提供调用函数,调用服务,调用外部应用的标准调用方法和联编技术。WSDL就是使程序员理解调用界面的界面描述,即开发手册和参考手册。而UDDI则包含了函数、服务资源库,资源检索引擎等。

对于开发人员而言,他的流程一般是,通过UDDI OperatorUDDI Search EngineWeb界面在UDDI Registry(Public的或PrivateUDDI Registry)上找到需要的Web Service,然后在UDDI Registry内,或通过UDDI Registry中的连接找到该Web Service的调用规范,该调用规范一般是使用WSDL描述,当然按照InterOP Stack系列技术的一贯惯例,该规范也可以使用任意另外一种相容的技术规范来描述。开发人员可以使用开发工具或通过手动方式理解该调用规范,然后在自己的应用中加上该调用规范定义的Web Service调用。然后开发出的应用就可以通过SOAP来调用该指定的Web Service了。

而对于具有自动集成相关应用的服务(Service)或应用(Application),它的流程一般是,应用户需求通过SOAP协议访问UDDI OperatorUDDI Registry找到需要的Web ServiceUDDI OperatorUDDI Registry会通过SOAP协议响应Web Service的调用规范和调用规范的链接,应用程序得到使用WSDL描述的服务调用规范文本,通过解析该描述文本,自动生成本地调用接口绑定,并将所需的调用参数适当绑定并完成调用。

我们来考察一下这两种流程,第一种需要人去阅读WSDL文本,相对而言对开发人员要求比较高,而且造成不必要的麻烦,因为WSDL本来就是给计算机来阅读的。而第二种流程中,由应用来自动完成参数的绑定,这对应用程序的AI要求又过高了。因此建议在实施Web Service架构,使用InterOP Stack技术的时候,应当使用开发工具完成WSDL语言的解析并生成具体开发语言中的调用界面,比如VB中的RPC类型的InterfaceJava中的方法形式的Interface等等。最后由开发人员来完成参数的绑定。

image004.gif

从上面的分析中我们可以发现,SOAP是整个体系的基础,是服务调用的基本协议。因此一个SOAP消息的传输网络对于Web Service体系的有效建设是多么必要。

结语

SOAP技术与B2B应用集成的系列文章到这里就告一段落了,希望大家通过阅读本系列的文章对SOAP技术能有一个全面的认识,我将在以后的文章中介绍Web Service的另一个基础技术WSDL,以及Web Service的协作注册技术UDDI。希望大家能通过本专栏对Web Service/InterOP Stack这一今天的新兴技术,明天的主流技术有一个全面的认识。

 

 

大数据管理:数据集成的技术、方法与最佳实践 读书笔记三

7.1 什么是数据仓库        数据仓库是基于特定的数据结构(以及有关应用程序)所构建的数据的中央存储库,以便为分析和报表提供 一致的数据源。面向整个组织创建的企业数据仓库(Enterprise...
  • sinat_29581293
  • sinat_29581293
  • 2016年04月28日 19:10
  • 7884

五种常见的电子商务模式对比:B2B、B2C、C2B、C2C、O2O

电子商务模式是指企业运用互联网开展经营取得营业收入的基本方式,也就是指在网络环境中基于一定技术基础的商务运作方式和盈利模式。目前,常见的电子商务模式主要有B2B、B2C、C2B、C2C、O2O等几种,...
  • frank_good
  • frank_good
  • 2015年04月10日 15:30
  • 8181

大学算法分析与设计复习总结

大学算法分析与设计复习总结 为了拿大学的那悲剧的学分,好好弄懂以下所有知识点吧。把老师的复习的提纲,特意汇总了所有考点,方便童鞋们复习。不喜勿喷!!! 这本书是《算法设计与分析》 王红梅 ...
  • wwj_748
  • wwj_748
  • 2013年06月08日 11:49
  • 13906

DS18B20集成温度传感器原理及其应用.pdf

  • 2012年05月18日 21:46
  • 234KB
  • 下载

QtQuick桌面应用开发指导 4)动态管理Note对象_B 5)外观加强 6)更多改进

4.2.2 Stateless(状态无关的)JavaScript库 为了让开发轻松点, 使用一个JavaScript接口来和数据库交互是个好主意, 它在QML中提供了方便的方法; ...
  • RoyMuste
  • RoyMuste
  • 2014年10月11日 17:37
  • 1236

CPU5B技术规范

  • 2012年11月16日 17:18
  • 644KB
  • 下载

大型B2C网站高性能可伸缩架构技术探秘

大型B2C网站高性能可伸缩架构技术探秘 在《世界最大的PHP站点 Facebook后台技术探秘》一文中介绍了一个大型SNS网站的技术组成。今天我们继续大型...
  • yuanye348623610
  • yuanye348623610
  • 2014年07月16日 13:15
  • 483

B2C技术架构和功能说明

本系统采用Maven来管理和开发,属于java分布式,由nginx负载均衡,tomcat作为服务器,搭建tomcat集群,nosql  redis作为缓存和数据库, Mysql作为后台数据库,主从结...
  • lbj_kb
  • lbj_kb
  • 2016年10月24日 23:54
  • 121

Mathstudio入门与应用(修改)B5

  • 2017年12月03日 10:54
  • 6.64MB
  • 下载

利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。

利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。 给定一个str...
  • qq_34692079
  • qq_34692079
  • 2016年04月30日 23:54
  • 1104
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SOAP技术与B2B应用集成(5)
举报原因:
原因补充:

(最多只允许输入30个字)