【问题标题】:Can a web service talk to another web service?Web 服务可以与另一个 Web 服务通信吗?
【发布时间】:2014-07-26 06:34:34
【问题描述】:

我昨天了解了面向服务的架构,对此我有一个疑问。

为了与 Web 服务提供者通信,初始通信必须由服务消费者启动。那么这是否意味着一个 Web 服务提供者不能直接与另一个 Web 服务对话(因为它不是消费者)?

【问题讨论】:

    标签: web-services soa


    【解决方案1】:

    我没有足够的信息来全面了解您所了解的内容。不过,我可以这么说:

    那么这是否意味着网络服务提供者不能直接与另一个网络服务对话(因为它不是消费者)

    这不是真的。程序可以(以编程方式)访问 Web 服务提供的数据。 Web 服务并没有真正意识到“消费者”是什么。它只能(以编程方式)查看客户端提供的数据(通常是浏览器数据、cookie、缓存等)。但这并不能阻止任何人打开 bash shell 并 curling 网站。

    这将检索服务器静态提供的任何数据。请注意,数据可能会使用 JavaScript 进行模糊处理,以采取措施防止浏览器环境之外的任何程序访问其关键数据。

    所以这个问题的答案是肯定的否定的

    【讨论】:

      【解决方案2】:

      您应该在https://softwareengineering.stackexchange.com/ 上提出这个问题,因为它与有关编程概念的问题更相关。

      从技术和架构的角度来看,服务当然可以调用另一个。简单地说,它正在改变自己的角色,成为第二项服务的消费者。请注意,如果两个服务都以两种方式相互调用以完成单个客户端请求的任务,事情可能会变得混乱。尽管这种行为通常存在有效的场景,但如果两个服务都由同一个实体管理,那么是否不应该移动任务或合并服务是值得关注的,因为这可能是错误设计决策的标志。

      【讨论】:

      • 或者在编排它们的两个服务之上创建一个外观?
      【解决方案3】:

      任何软件都可以与网络服务通信,只要它可以访问它。

      【讨论】:

      • 好的,如果客户端软件与 Web 服务对话以完成工作,并且如果该服务不能单独完成,该服务可以与其他服务对话并完成工作,然后返回给客户?
      • 当然可以,但是在面向服务架构的上下文中,你必须问自己是否应该这样做
      猜你喜欢
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多