Web services 一个web服务可以与另一个web服务对话吗?

Web services 一个web服务可以与另一个web服务对话吗?,web-services,soa,Web Services,Soa,昨天我学习了面向服务的体系结构,对此我有一个问题 为了与web服务提供者对话,初始通信必须由服务使用者启动。那么,这是否意味着一个web服务提供商不能直接与另一个web服务对话(因为它不是消费者)?任何软件都可以与web服务对话,只要它能够到达它。我没有足够的信息来准确掌握您所获得的全部信息。然而,我可以说这句话: 那么,这是否意味着web服务提供商不能直接与另一个web服务对话(因为它不是消费者) 这不是真的。程序可以(以编程方式)访问web服务提供的数据。web服务没有真正意识到什么是“消费

昨天我学习了面向服务的体系结构,对此我有一个问题


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

任何软件都可以与web服务对话,只要它能够到达它。

我没有足够的信息来准确掌握您所获得的全部信息。然而,我可以说这句话:

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

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

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


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

你应该问这个问题,因为它与编程概念的问题更相关


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

好的,如果客户端软件与web服务对话以完成工作,并且如果该服务无法单独完成工作,该服务是否可以与其他服务对话并完成工作,然后将其返回给客户机?当然可以,但在面向服务的体系结构中,您必须问问自己是否应该这样做,或者在协调它们的两个服务上创建一个外观?