SOAP协议和基于SOAP的开发流程详述(转载)

来源:互联网 发布:杭州贰贰网络怎么样 编辑:程序博客网 时间:2024/05/22 05:33

【文章摘要】
简单对象访问协议(SOAP)是交换数据的一种协议规范,是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。
在实际的软件开发项目中,SOAP大多用于处理用户数据,也即实现开户、销户、改户和查户等功能。
本文根据作者实际从事过的基于SOAP的项目开发,对SOAP协议和基于SOAP的开发流程进行了详细的介绍。希望大家通过此文,能够对基于SOAP协议的开发有一个全面的了解。

一、soapUI和SOAP代码生成框架简介
“工欲善其事,必先利其器”,为了基于SOAP协议进行开发,我们需要事先准备好相关的工具软件。在我最开始进行开发的时候,并没有考虑到工具的重要性,等代码写好之后才发现没有自测的工具,这个时候才匆忙地找同事要相关的软件来安装。这样做影响了工作的效率。因此,“兵马未动,粮草先行”,代码未写,工具要先装好。
下面来介绍与SOAP相关的两个软件:soapUI和SOAP代码生成框架。
1.soapUI
soapUI是一个基于SOAP的模拟测试工具,用于模拟WEB客户端向SOAP消息处理模块(我们要开发的模块)发消息。我们可以用该软件来对自己所编写的程序进行单元和集成测试。
图1是soapUI的软件界面。
这里写图片描述
图1 soapUI的软件界面

2.SOAP代码生成框架
在基于SOAP进行开发的时候,我们会用到很多SOAP自带的、已经封装好了的函数。为了避免重复劳动,SOAP的设计者为我们提供了一套叫做gsoap的自动生成代码的框架。只要我们将wsdl文件(后面介绍)准备好,用两个简单的命名即可生成我们在开发过程中需要用到的相关函数文件。
不管大家在哪个平台(Windows、Linux或Mac OS)下开发程序,都可以利用此框架来生成代码。自动生成代码的工具布局如图2所示。
这里写图片描述
图2 自动生成代码的工具布局
我们将相应的wsdl文件放入对应的文件夹中即可生成代码框架。

二、基于SOAP开发的软件模块架构
一般说来,发送SOAP消息的都是与用户直接打交道的外部模块,这些消息需要转变为内部消息之后,才能够用于执行具体的处理。因此,基于SOAP开发的软件模块架构如图3所示。
这里写图片描述
图3 基于SOAP开发的软件模块架构
从图3可以看出,系统一般不会直接用SOAP消息来执行具体的业务逻辑,而是用一个中间模块将SOAP消息转换为系统内部约定好的协议,然后由具体的业务执行模块按照内部协议来执行具体的操作。
这样做的好处有:
第一,将消息转换与业务执行分离开来,便于程序实现和问题排查。
第二,不将业务的具体执行流程暴露出去,系统的安全性能更高。
第三,如果外部的SOAP协议经常变化,只需要修改中间的SOAP协议转换模块即可,不用让具体业务处理模块经常变动而影响了正常业务的执行。

三、基于SOAP的具体开发流程
准备工作都做好之后,我们接下来就要动手编写程序了。下面以实现用户数据的管理(即:增删改查)为例,介绍整个开发的流程。
1.编写wsdl文件
wsdl文件,也即是SOAP协议文件,用于约定要执行哪些具体操作。例如,我们要在系统中执行开户操作,需要携带的字段包括用户的电话号码、用户名和密码。那么,我们就可以编写如下的命名为“Isoapboss.wsdl”的文件:

原创粉丝点击