今天也出现了一个有趣的情况,就像过去一样。
我有两个网络服务。在这两个人完成自己的工作后,交易将结束。在本次讨论中,我将这些Web服务命名为:
我无法合并这两项服务,因为服务2归第三方所有。这个第三方Web服务为我提供了一个web方法,用于读取存储在该机器中的xml文件,其中包含Web服务并进行处理。
我有两个选择:
客户服务**(S)**
状态图:
服务服务
状态图:
以下是物理架构的外观:
我遵循两种方式,但正确的方法是什么?为什么?
当然,我知道第二种解决方案是好的。但是模式和最佳实践又如何呢?
答案 0 :(得分:0)
答:往返次数越少越好。
答:你在一次通话中可以做的越多(不进行另一次,单独的通话),越好。
换句话说(所有事情都相同),看起来你的第二个设计比第一个设计更好 LOT 。
... IMHO
答案 1 :(得分:0)
如果您将此逻辑放在您的服务中,显然它会将客户端应用程序与所需的工作流分离,并确保应用程序/业务逻辑在您的业务服务中。事实上,最好让您的客户尽可能地保持精简。因此,解决方案二将是首选解决方案(对我而言)。当然,您仍然可以决定使其成为异步操作,具体取决于您的用例。
因此,逻辑上的任何变化都只会影响您的服务,而不会影响客户。