首页 / 知识
关于体系结构:在REST和SOAP服务之间进行选择的指南?
2023-04-13 06:58:00

Guide to choosing between REST vs SOAP services?是否有人链接到文档或在REST与SOAP之间做出决定的指南? 我理解这两者,但是正在寻找关键决策点的一些参考,例如安全性,这可能会使您倾向于彼此。 Google的热门产品似乎很全面。 我认为这里的问题是拥护彼此的拥护者太多,可能会更好地使用Google进行搜索,让自己更多地了解职业玩家/消费者的意见,然后自己做出决定。 我知道这听起来有些la脚,但是最终这些设计决策最终落到了由开发人员/架构师进行的工作中,并且在99%的时间里,问题域将是决定因素(或者至少应该是)。网络上的指南。 简单对象访问协议(SOAP)标准是一种XML语言,定义了消息体系结构和消息格式,由Web服务使用,它包含对操作的描述。 WSDL是一种基于XML的语言,用于描述Web服务以及如何访问它们。将在SMTP,HTTP,FTP等上运行。需要中间件支持,定义良好的机制以定义WSDL + XSD,WS-Policy SOAP等服务。SOAP将返回基于XML的数据SOAP提供安全性和可靠性标准 代表性状态转移(RESTful)Web服务。它们是第二代Web服务。 RESTful Web服务比基于SOAP的服务通过HTTP通信,并且不需要XML消息或WSDL服务API定义。对于REST,不需要中间件,只需要HTTP支持.WADL标准,REST可以返回XML,纯文本,JSON,HTML等 对于许多类型的客户端而言,使用RESTful Web服务更加容易,同时使服务器端能够发展和扩展。客户可以选择使用服务的某些或所有方面,并将其与其他基于Web的服务混搭。
REST是易于与现有网站集成的服务。 SOAP具有一组协议,这些协议除其他外提供了安全性和可靠性的标准,并且可以与其他符合WS的客户端和服务器进行互操作。 SOAP Web服务(例如JAX-WS)在处理异步处理和调用中很有用。 对于复杂API,SOAP将更加有用。 您可以使用一个不错的流程图来帮助您在REST与SOAP之间做出决定。 链接至流程图:https://drive.google.com/file/d/0B3zMtAq1Rf-sdVFNdThvNmZWRGc/edit 链接到文章:https://www.linkedin.com/pulse/20140818062318-7933571-soap-vs-rest-flowchart-to-determine-the-right-web-services-protocol-for-your-needs 我用来做出此决定的其他两个因素是: 1)服务的客户是否需要XML以外的媒体类型(例如JSON)。如果是,则使用REST。 2)服务的客户端是否始终是应用程序/服务器(例如不是RIA或AJAX客户端)。如果不是,则倾向于REST,因为使用AJAX时更容易使用REST服务。 我认为REST和SOAP都可以用于实现类似的功能,但是通常,当需要SOAP的特定功能时,应该使用SOAP,而REST的优点通常使其成为最佳选择。但是,REST和SOAP都经常被称为" Web服务",并且经常被用来代替另一种,但是它们是完全不同的方法。 REST是用于构建客户端服务器应用程序的体系结构样式。 SOAP是用于在两个端点之间交换数据的协议规范。 我非常同意+ Rob Cooper的职务。是的,拥护者太多。我已经列出了肥皂和休息之间的区别。 |
最新内容
相关内容
机器学习选择python的原因
机器学习选择python的原因,时间,生态,数据,平台,发展,系统,市场份额,大幅,设计,灵活,Python程序语言与机器学习实践可以称得上是“珠联璧合”Pytorch入门之配置云服务器环境
Pytorch入门之配置云服务器环境,环境,平台,流程,代码,数据,工具,平稳,网络,时间,网上,Pytorch简介Pytorch底层是Torch框架,Torch框架是一个科python http服务怎么搭建
python http服务怎么搭建,服务,培训,环境,进程,命令,端口,后台,不是,终端,开头,在Linux服务器上或安装了Python的机器上,Python自带了一个WEBpython怎么链接数据库
python怎么链接数据库,培训,数据,一致,流程,项目,数据库,接口,参数,结果,语句,python数据库接口支持非常多的数据库,你可以选择适合你项目的python如何选择python版本?
python如何选择python版本?,项目,代码,培训,名字,地方,系统,里面,版本,问题,变量,Python3.7已经发布了,目前Python的用户,主要使用的版本应该是python选择perl还是python
python选择perl还是python,代码,工具,培训,第三,大规模,初级,设计,时间,设备,网络,Perl,一种功能丰富的计算机程序语言,运行在超过100种计算机python选择python2还是python3?
python选择python2还是python3?,电脑,培训,时间,项目,动力,公司,官方,理由,答案,建议,看到很多新同学在学习Python的过程中,犹豫学习Python2还python静态web服务器如何实现
python静态web服务器如何实现,数据,培训,服务,代码,时间,服务器,静态,报文,浏览器,消息,python静态web服务器如何实现的方法:1、编写TCP服务器关于正则表达式:将URL转换为C#字符串
关于正则表达式:将URL转换为C#字符串中的超链接的最简单方法?,关于正则表达式:将URL转换为C#字符串中的超链接的最简单方法?,方法,超链接,关于报告服务:如何使用SSRS中的自定
关于报告服务:如何使用SSRS中的自定义代码解决System.Security.SecurityException?,关于报告服务:如何使用SSRS中的自定义代码解决Sys如何在Windows中将Python脚本作为
如何在Windows中将Python脚本作为服务运行?,如何在Windows中将Python脚本作为服务运行?,绘制,体系结构,共享存储,对象,How do you run使用InstallUtil安装.NET服务
使用InstallUtil安装.NET服务,使用InstallUtil安装.NET服务,服务,安装,命令行,编写,Installing a .NET service using InstallUtil我