【问题标题】:SOA and web services and ESBSOA 和 Web 服务以及 ESB
【发布时间】:2012-06-12 00:33:43
【问题描述】:

我想了解一些观点:

  1. 使用 SOA 是否意味着我正在使用 Web 服务? (反之亦然?)

  2. 如果我通过 CXF 使用 Web 服务,我需要 ESB 吗?在带有 Web 服务的架构中,像 MULE 这样的 ESB 有什么优势?

  3. 如果我用 Java 发布我的 Web 服务,这是否意味着任何拥有我的 WSDL 的客户都可以使用我的服务,即使他/她使用 .NET 或 Java 以外的其他东西? ESB 可以处理吗?

【问题讨论】:

    标签: web-services soa esb


    【解决方案1】:

    using-SOA 是否意味着我正在使用 Web 服务? (或反之亦然?) - SOA 是一个概念,Web 服务是 SOA 的一种实现。可以有很多方法来实现它,但最常见的一种是 Web 服务。

    • 如果我通过 CXF 使用 Web 服务,我需要 ESB 吗?在带有 Web 服务的架构中,像 MULE 一样的 ESB 有哪些优势?

    ESB 是 SOA 中的主要组件。它是主要的集成中心。

    下图将使您对 SOA 和 ESB 有更多的了解。 (免责声明:我为 WSO2 工作,这是让您清楚了解 SOA 和 ESB 的图表之一)

    http://4.bp.blogspot.com/_yO8q3CIhuZs/S-Zq88vkJlI/AAAAAAAAAak/QAJeDVXVL_4/s1600/wso1.png

    • 如果我用 Java 发布我的 Web 服务,这是否意味着任何拥有我的 WSDL 的客户都可以使用我的服务,即使他/她使用 .NET 或 Java 以外的其他东西? ESB 可以处理吗?

    如果您谈论的是 Web 服务,这意味着它们独立于编程语言。当然 ESB 可以处理它,并且它可以处理许多其他协议,因为它是集成中心。

    【讨论】:

    • 我使用这种架构:hibernate + spring + jsf + cxf 用于Web服务,可以说我遵循SOA的概念吗?
    • 这取决于你用这些技术做什么:)。坦率地说,要获得 SOA 的真正优势,您必须使用 SOA 堆栈,而不是一组无法组合在一起的不同技术。
    【解决方案2】:

    不幸的是,只有使用特定技术并不能作为您正在执行 SOA 的具体证据,正如 Kasun Indrasiri 在其他回复中所说,SOA 是一个概念,一种技术 可以使用来自不同供应商的各种工具来实现。

    如果您按照SOA Principles 设计服务,您可能会使用 SOA,即使您使用的工具不具备其他现代平台中的所有功能。

    在我看来,如果您的公司没有数百万美元的预算用于软件许可,您仍然可以使用当前工具从 SOA 中受益。

    【讨论】:

      猜你喜欢
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 2015-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多