我一直在读REST和SOAP之间的区别。我在很多文章中看到,对于分布式事务资源,SOAP是更好的选择。请给我一个用于分布式事务的SOAP的实际例子。
发布于 2016-06-12 01:03:01
多年来,SOAP一直是企业应用程序中的主要参与者,这仅仅是因为别无选择。休息之后就来了。
由于SOAP是一种协议,因此更容易围绕它构建工具,因为您知道它始终是如何运行的(即,按照协议的定义)。由于这个原因以及它作为技术的成熟性,围绕它构建了许多其他规范,以涵盖使用SOAP所做的任何事情。请参阅列表here。当然也有一些是针对transactional semantics also的。如果您将SOAP与Java或C# (它们是企业应用程序领域的重量级冠军)之类的技术结合使用,那么您可以在框架或库中实现这些事务规范,并且只需使用它们。
另一方面,REST是一种构建应用程序的架构风格。很难将其限制在一组规范中。你可以用很多方式来实现它。它也在某种程度上违背了“SOAP的方式”,远离创建新的标准或规范,而只是重用web的标准或规范。因此,没有规范或工具来帮助您处理事务性RESTful服务。你必须建立你自己的。
因此,当您的应用程序是由自包含的web服务构建的,并且这些服务需要协作来创建应用程序结果,并且您需要一个分布式事务来保证结果是一致的(所有操作都成功或都没有成功),那么(更)实用的是采用支持它的工具更好的技术。
https://stackoverflow.com/questions/37690007
复制相似问题