再谈SOAP webservice 与 Restful webservice

自己接触webservice已经有六年了,是处理异构跨平台数据交换的利器。具体概念不详细交代了。有很多关于这方面的博客。如:http://blog.sina.com.cn/s/blog_493a845501012566.html
这里主要谈的是自己的经历和感受。
1.协议结构和格式定义:
SOAP + xml 简单对象访问协议, 有SOAP头, 可采用XSD或Bean注解的方式来定义数据
HTTP方法+ xml或json, 其实可以看做有HTTP头,对传输数据格式要求不严格,比如元素是否必须,值,类型,频率等远没有SOAP要求那么高。
2.测试工具:
SOAPUI
java -jar restclient-ui-3.2.2-jar-with-dependencies.jar
3.调用方法最佳实践
理论上用HTTPClient,发送服务端认可的内容,就可以得到响应。只要协议一样,内容格式符合定义,主流的开发语言都可以识别处理请求信息(http,xml或json)并给以响应,这就是跨平台的本质。
SOAP最佳实践,可以根据wsdl定义,生成相关的bean, 由bean来封装数据,数据序列化反序列化都比较方便。
Restful,由于只要http方法,推荐用json类型UTF-8格式,直接请求响应。json和bean相互转化的工具也很多如Gson,
4.基本特点
SOAP成熟安全
Restful简单高效
5.应用场景
Restful适合于前端交互,安全性不那么高
SOAP适合组件服务间相互调用,业务定义良好明确

猜你喜欢

转载自lakerhu.iteye.com/blog/2300368