【问题标题】:C# - What is the way to Call a Service from Another Service in a SOA Architecture?C# - 在 SOA 架构中从另一个服务调用服务的方法是什么?
【发布时间】:2014-02-26 20:07:47
【问题描述】:

我们正在尝试在我的工作中实现 SOA 架构。

在某些情况下,RESTFul Web 服务需要调用其他 SOAP Web 服务。

通常我会在服务 A 中将 Web 引用添加到服务 B,但在 SOA 中提倡松散耦合。那么如何从服务 A 调用服务 B?

【问题讨论】:

    标签: web-services rest soap soa


    【解决方案1】:

    “正确”的方式是拥有一些服务注册中心,您可以在其中通过所需的合同查找第二个服务等。另一种“正确”的方式是拥有一些协调器(例如 ESB),它将集成两项服务等。

    问题是您拥有多少服务和集成,以及开销是否值得。如果您只有几个服务,我建议您先做最简单的事情(即添加引用)并在有意义的情况下添加基础架构和复杂性 - 即管理此依赖项的开销将比添加更多基础架构的开销更重

    【讨论】:

      【解决方案2】:

      您需要查看消息翻译器企业集成模式。这本质上是一个位于两个服务之间的翻译器。

      一种方法是创建一个服务,它本身就是消息翻译器,该服务将协调两个服务,即服务 A 和服务 B。人们不会直接调用其余服务,而是这个新的消息翻译器服务。该翻译服务将了解 A 和 B。因此这两个服务彼此松散耦合(A 未耦合到 B)。

      另一种方法是在 ESB 上代理 REST 服务 (A),并通过消息转换器将回复发送到 SOAP 服务 (B)。

      【讨论】:

        猜你喜欢
        • 2011-06-07
        • 2010-11-08
        • 2011-02-07
        • 2021-07-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-28
        相关资源
        最近更新 更多