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

本文总结了SOAP技术各组成部分,如SOAP Message、Envelope、Header等的协作与功能,阐述其在B2B应用中的地位。还概述了InterOP Stack与SOAP的关系及协同,指出SOAP是体系基础和服务调用基本协议,建议用开发工具解析WSDL。

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是最终面向传输的绑定机制。

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

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等等。最后由开发人员来完成参数的绑定。

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

结语

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

 

 

先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值