昨天我了解了面向服务的架构,我对此有疑问。
为了与Web服务提供商交谈,初始通信必须由服务使用者启动。那么这是否意味着Web服务提供商无法直接与其他Web服务通信(因为它不是消费者)?
答案 0 :(得分:0)
我没有足够的信息来准确掌握您所获得的全部内容。但是,我可以说这句话:
那么这是否意味着Web服务提供商无法直接与其他Web服务通信(因为它不是消费者)
不是真的。程序可以(以编程方式)访问Web服务提供的数据。网络服务并没有真正意识到“消费者”是什么。它只能(以编程方式)查看客户端提供的数据(通常是浏览器数据,cookie,缓存等)。但这并不能阻止任何人打开bash shell和curl
网站。
这将检索服务器静态提供的任何数据。请注意,数据可能会使用JavaScript进行模糊处理,以采取措施防止浏览器环境之外的任何程序访问其关键数据。
所以这个问题的答案是肯定的和没有。
答案 1 :(得分:0)
您应该在https://softwareengineering.stackexchange.com/上提出这个问题,因为它与有关编程概念的问题更为相关。
从技术和架构角度来看,服务当然可以称之为另一个。简单地说,它正在改变其角色,使其成为第二项服务的消费者。请注意,如果两个服务相互呼叫两种方式来完成单个客户端请求的任务,事情可能会变得混乱。虽然这种行为通常有有效的场景,但如果两个服务都由同一个实体管理,那么值得看看是否应该移动任务或合并服务,因为这可能是设计决策不好的标志。
答案 2 :(得分:-1)
任何软件都可以与Web服务通信,只要它能够访问它。