本文讨论两种 Web 服务访问协议,即 SOAP(“简单对象访问协议”)和 REST(“具象状态传输”)。

Web服务

Web服务被定义为主动从定义的源获取、读取或传输数据,以产生指定的结果 - 结果。下面的基本示例显示了 Web 服务的基本用法,然后才能了解如何使用 SOAP 或 REST 将数据传入和传出 Web 服务。

如果开发人员正在编写一个需要在一个地方进行一些数据计算的应用程序,则会在代码中编写计算方法,放在那个地方。 但是,如果应用程序的其他部分需要数据计算,如果开发人员将计算方法放在需要的每个区域中,则维护起来将是低效和不切实际的。

必须对该方法进行一次更改,需要查找要编辑(并重新测试)的每个实例。 此方案将受益于使用 Web 服务以最佳方式运行并提高业务敏捷性。

通过创建一个具有可访问方法的 Web 服务来加、减、除和乘,每当需要数据计算时,应用程序都将使用该 Web 服务;它调用 Web 服务来执行计算并生成结果。 开发人员只有一个地方可以维护数据计算方法。

在 Web 服务中处理数据的方式取决于是实现 SOAP 还是 REST。

SOA 和 BPMN

基于可执行进程构建的应用程序基于面向服务的体系结构(“SOA”)。 这是一种关于如何使用传输、生成、验证或计算数据的服务的方法。

SOA越来越有利于提高开发质量和时间,提高应用程序性能和可伸缩性。

业务流程建模符号(“BPMN”)是对服务或业务流程进行建模,可以由非技术人员(即业务分析师)完成。 使用 BPMN,将模型实现为可执行流程的开发人员很容易解释(服务)业务模型,这些流程可能需要也可能不需要人工交互。

简单对象访问协议 (SOAP)

SOAP 是一种通过互联网传输数据的方法。

由于互联网的出现,SOAP最初由Microsoft开发,它取代了旧的DCOM和CORBA技术,并且它比REST存在的时间要长得多。

SOAP 被认为比 REST 重,即传输数据需要更多的包袱,这意味着每个消息请求需要更多的带宽,并且数据源和目标在打包和接收数据时有更多的工作要做。

SOAP 仅将 XML 用于互联网上的消息传递服务,XML 消息请求可能非常复杂,如果手动开发,则需要仔细注意,因为 SOAP 不灵活,会出现错误。

可以使用 .NET 语言(例如)自动执行 SOAP 消息请求,其中开发人员不需要使用 XML,因为它是在后台自动生成的。

如果消息请求遇到任何问题,则会在消息响应中返回详细的错误信息,并且还可以通过引用消息响应中提供的标准错误代码来自动执行此过程。

所使用的编程语言是实现 SOAP 难度的决定性因素。

SOAP消息附带的包袱之一是Web服务描述语言(“WSDL”),用于解释Web服务的工作原理。 当应用程序引用 Web 服务时,它会读取并理解如何处理 Web 服务。

SOAP 不仅限于使用 HTTP(超文本传输协议);它可以通过 SMTP 和其他传输协议使用。

由于 SOAP 是标准化的,它比 REST 更严格,尽管两者都依赖于既定的规则。

REST

REST是SOAP 更新、更时尚的表亲,并迅速成为大多数 Web 和移动应用程序的选择。

在推出十多年后,REST 是一种更轻量级、更易于维护和可扩展的与 Web 服务交互的方式。

与 SOAP 不同,REST 不专门使用 XML;可以使用纯文本,CSV和RSS,以及用于AJAX调用的JSON;只要源和目标都能理解所使用的格式。

与 SOAP 相比,REST 不那么复杂,并且被认为是更小的学习曲线。 大多数现代编程语言都有库和框架来促进REST(RESTful)服务,如:C#,Python,Java和Perl。

REST速度更快,因为它的处理最少,而且使用不同的消息格式效率更高。

两者各有优缺点,因此在考虑使用哪种访问协议时,应考虑组织中使用的编程语言、应用程序环境和应用程序需求。

REST和SOAP的区别

本文由网友:莫俞惠 投稿 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:REST和SOAP的区别
本文链接:https://www.vsdiffer.com/vs/rest-vs-soap.html
免责声明:以上内容仅代表 网友:莫俞惠 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。