我目前正在开发一个关于.NET中Web服务的小项目,我的问题如下。
我有银行Web服务处理'转账和另一个提供服务,我想做的是让银行服务在发生转账时通知我的报价服务。一种解决方案是直接致电Offer Service,但这并不是最好的解决方案。我想到了UDDI,但我认为这是太多的工作。据我所知,ESB可以在这里使用,但坦率地说我不知道如何使用它。我的意思是如何在没有直接电话的情况下从银行服务中拨打优惠服务。
也许NServiceBus可以在这里使用,但又不知道如何让它与WCF一起使用。 有什么想法吗?
编辑: 好了,让我更清楚,我想知道,我怎么能用ESB或其他框架/服务来解耦Web服务,这样一个人就不会直接调用另一个。
答案 0 :(得分:0)
一种解决方案是直接致电Offer Service,但这并不是最佳解决方案。
为什么呢?这是一个很好的解决方案。许多系统都是这样工作的。我不确定为什么你认为消息传递会神奇地解决这个问题。事实上,消息传递只是另一种类型的通信。
您应该使用相同的通信技术将一项服务调用到另一项服务中。这降低了复杂性。当您使用Bank WebService,Offer Service或两者兼而有之时,需要学习的东西越少,出错的地方越少,更重要的是相同的通信API。
您可能还需要使用事务或分布式事务。本地交易更容易实施,是保护运营的首选方式。