2016-06-07 35 views

回答

1

僅僅因爲沒有其他選擇,SOAP一直是企業應用程序內多年的主要參與者。 REST遲到了。

由於SOAP是一種協議,因此您可以更輕鬆地在其周圍構建工具,因爲您知道它總是如何運作(即,隨着協議的定義)。出於這個原因,由於它作爲技術已經很成熟,所以圍繞它構建了很多其他規範,以涵蓋人們使用SOAP進行某些操作的任何用途。見清單here。當然有一些用於transactional semantics also。如果您使用SOAP或C#(它們是企業應用程序領域的重量級企業)的 SOAP,那麼您可以在框架或庫中實現這些事務規範,然後您就可以使用它們。

另一方面,REST是建築應用的建築風格。很難將其限制在一套規範中。你可以用很多方式實現它。它也在某種程度上反對「SOAP的方式」,通過避免創建新的標準或規範,而是僅僅重用網絡。出於這個原因,沒有規範或工具可以幫助您處理事務性RESTful服務。你必須建立自己的。因此,當您的應用程序由自包含的Web服務構建時,並且這些服務需要合作創建應用程序結果,並且您需要分佈式事務以確保結果是一致的(所有操作都成功或沒有成功),那麼對於擁有更好工具的技術來支持它是(更)實際的。

+0

非常感謝你! –