Web services 使用Biztalk的系统之间的首选通信方法

Web services 使用Biztalk的系统之间的首选通信方法,web-services,schema,biztalk,communication,biztalk-orchestrations,Web Services,Schema,Biztalk,Communication,Biztalk Orchestrations,我们有两个系统,希望在这两个系统之间交换消息。我目前正在设计的应用程序,已经给了2个选择 系统1将消息推送到中间位置(FTP或SQS),系统2(运行BizTalk)从该位置读取消息并进行处理 将架构/业务流程作为系统2中的web服务公开,该服务将由系统1使用 任何建议在错误处理和可扩展性方面都会更好。 < P>对于特定的应用程序只有一个“最佳方式”,并且有很多条件要考虑。 最简单的方法是在文件系统上共享一个位置(操作系统文件系统与FTP没有多大关系),尤其是在顺序不重要的情况下 如果订单必须维持

我们有两个系统,希望在这两个系统之间交换消息。我目前正在设计的应用程序,已经给了2个选择

  • 系统1将消息推送到中间位置(FTP或SQS),系统2(运行BizTalk)从该位置读取消息并进行处理

  • 将架构/业务流程作为系统2中的web服务公开,该服务将由系统1使用


  • 任何建议在错误处理和可扩展性方面都会更好。

    < P>对于特定的应用程序只有一个“最佳方式”,并且有很多条件要考虑。

    最简单的方法是在文件系统上共享一个位置(操作系统文件系统与FTP没有多大关系),尤其是在顺序不重要的情况下

    如果订单必须维持到有保证的交付需求,那么消息队列是一个不错的选择,MSMQ/WMQ

    当然,HTTP/SOAP始终是一个选项


    实际上,这些方法中的任何一个都会得到消息,所以你必须考虑每个协议的好处。

    < P>如果你可以,总是通过排队系统进行异步的方法。这样,应用程序可以独立于后端运行。然后,我建议使用Windows Server服务总线(更重的安装)、Windows Azure服务总线(作为服务,在云中,需要internet连接)或MSMQ(包括存储和转发!)。它们提供了事务性行为,可以认为是非常可靠的。其他轻量级选项实际上是通过文件交换或FTP

    Web服务或REST连接也很容易设置,但是您有同步行为,这有其好处:

    • 当BizTalk传递消息时,您可以返回“实时”确认
    • 它易于设置和监控

    因此,与大多数情况一样,答案是“视情况而定”

    谢谢Sam和boatseller,我完全理解这要视情况而定,但我只是在寻找更好的实践,我只是在权衡我的选择,就像你说的Http/Soap是同步的,而拥有一个排队系统是异步的,因此,我们考虑了其中的一些要点,比如有一个soap选项将是紧密耦合的,并且api必须始终可用。除此之外,我们对这些方法有什么利弊。