【问题标题】:Are both REST and SOAP an implementation of SOA?REST 和 SOAP 都是 SOA 的实现吗?
【发布时间】:2011-07-13 19:18:06
【问题描述】:

我有一个关于 SOA 的问题。

SOAP REST 是否都被视为实现面向服务架构的方法?

我知道 REST 是一种风格,因此这使我想到了这个问题。

【问题讨论】:

    标签: rest soap soa


    【解决方案1】:

    在创建/调整服务以在 SOA 架构中工作时,只要消费者有能力处理响应,公开的接口就可以是您想要的任何接口。

    为了给出更简洁的答案,我将 REST 解释为可以执行 CRUD 操作的 HTTP 接口,可能会使用 XML 或 JSON 对象响应请求。

    SOAP 倾向于在服务端进行更复杂的操作,SOAP 的库和涉及的 XML 给系统带来了复杂性。

    如果您需要的只是可以通过简单的 CRUD 操作访问的资源的表示形式,则值得考虑实现 REST 接口以降低复杂性,即使该服务将与带有 SOAP 接口的辅助服务一起运行。所需要的只是服务的消费者能够处理 RESTful 风格的响应以及充当 SOAP 客户端。

    为了提高可维护性和易于开发,服务间的一致性可能存在争议,但这不是必需的,只应包含在决策过程中。

    当在设计中包含消息传递总线时,可以通过将标准转换(XSLT、自定义)插入到流程中来更有效地处理异构服务,该流程可以将来自服务的响应转换为系统理解的标准格式,即所有的。

    【讨论】:

      【解决方案2】:

      SOAP 和 REST 是构建服务的方式。

      SOAP 是基于 XML 的,从理论上讲,它不仅支持 HTTP,而且还具有接口定义 (WSDL) 和安全性 (WS_Security) 等标准。

      REST 是一种使用已定义的一组 Web 操作(GET、POST 等)以面向资源的方式提供 Web 服务的样式,但几乎没有定义其他任何东西。

      但是,SOA 不仅仅是一堆服务。选择 REST 或 SOAP 很容易。

      【讨论】:

        【解决方案3】:

        如果您只是询问它们是否可以使用面向服务的架构来实现 - 是的,它们可以。它们甚至可以在一个基于 SOA 的项目中同时使用。

        如果您询问是否应该使用 SOAP 或 REST - 除非您提供项目规范,否则没有答案。

        【讨论】:

          【解决方案4】:

          是的,它们都可以被视为实现 SOA 的方法。我想你可以说 REST 是一种风格,但是你不得不说 SOAP 也是一种风格。我会简单地考虑他们不同的技术来实现相同的目的。 SOAP 模仿远程过程调用,而 REST 与 Web (http) 的设计方式是内联的。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-06-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多