gpt4 book ai didi

wcf - 是否建议在其他 Web 服务之上构建 Web 服务?

转载 作者:行者123 更新时间:2023-12-04 07:12:04 24 4
gpt4 key购买 nike

我继承了这个非常奇怪的代码库,他们在其中构建了 外部 一堆 上的 web 服务内部 Web 服务只是为了使用 WS-Security、WS-Encryption 等添加身份验证/授权。参与此事件不到一个月,我已经感受到通过严格的 WSDL 耦合 volatile 组件的痛苦,尤其是考虑到其中一些使用 WCF 而其他选择首先使用 WSDL。在各个级别管理各种版本的生成代理和包装器是一场噩梦!

我承认设计过于复杂,本来可以更好,但我的问题本质上是:

  • 您是否曾经构建一个 Web 服务只是为了提供对一堆服务的横切关注点?
  • 这会更好地实现为 Web 服务处理程序吗?

  • 最后...
  • 您会将其归类为 Web 服务网关模式吗?
  • 最佳答案

    一年前我看到了那个东西正在 build 。当团队花费数月时间构建 4 个 Web 服务时,我几乎哭了,其中 2 个只是简单地包装了其他内部服务,使用 WCF 和一些严重的加密。他们包装内部错误的唯一原因是更改返回的潜在错误编号。

    那么,我会故意这样做吗?没有。

    将它作为几乎其他任何东西实现会更好吗?是的。

    我会将其归类为 WTF 模式吗?绝对地。

    更新:

    我刚刚记得的一件事是,有一种叫做“企业服务总线”的架构,它的目的是为其他 SOA 系统提供一个通用接口(interface)。这样,不同的应用程序使用什么来实现其端点机制(WCF、WSE 1/2/3、RESTful 等)并不重要。

    BizTalk 是 ESB 的一个示例,还有许多其他现成的程序可供使用。基本上,您的应用程序将一条消息传递给 ESB,它会以可靠的方式处理将该消息发送到其他系统以及编码返回的任何响应。

    这也意味着您可以将其他应用程序与端点的多种类型的更改隔离开来。当然,如果新的端点需要额外的信息,那么你就必须修改调用者。但是,如果他们所改变的只是机制,那么一个好的 ESB 将能够处理这些更改而不会影响您的应用程序。

    关于wcf - 是否建议在其他 Web 服务之上构建 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/165747/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com