简体   繁体   English

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

[英]Preferred Communication method between systems using Biztalk

We have 2 systems between which we want messages to be exchanged. 我们有两个系统,我们希望在这两个系统之间交换消息。 I am currently designing the application and have been given 2 choices. 我目前正在设计该应用程序,并有两个选择。

  1. System 1 to push messages to an intermediate location (FTP or SQS) and system 2 (running BizTalk) reading the messages from that location and processing it. 系统1将消息推送到中间位置(FTP或SQS)和系统2(运行BizTalk)从该位置读取消息并进行处理。

  2. Exposing Schema/Orchestration as a web service in system 2 which would be consumed by system 1. 将Schema / Orchestration公开为系统2中的Web服务,系统1将使用该服务。

Any suggestions which method would be better in terms of error handling and scalability. 任何建议哪种方法在错误处理和可伸缩性方面会更好。

If you can, always go for an asynchronous approach, through a queuing system. 如果可以的话,总是通过排队系统进行异步方法。 This way, your application can be running independent of your back end. 这样,您的应用程序可以独立于您的后端运行。 And then I would advise for Service Bus for Windows Server (heavier installation), Windows Azure Service Bus (as a service, in the cloud, internet connection needed) or with MSMQ (store and forward included!). 然后我建议使用Service Bus for Windows Server(更重的安装),Windows Azure Service Bus(作为服务,在云端,需要互联网连接)或MSMQ(包括存储和转发!)。 These provide transactional behavior and can be considered as very reliable. 这些提供了交易行为,可以被认为是非常可靠的。 Other lightweight options are indeed through file exchange or FTP. 其他轻量级选项确实是通过文件交换或FTP。

Web service or REST connectivity is also very easy to set up, but then you have synchronous behavior, which has its benefits: Web服务或REST连接也很容易设置,但是你有同步行为,这有其好处:

  • you can get a 'real-time' ack back when your message is delivered by BizTalk 当您的消息由BizTalk发送时,您可以获得“实时”确认
  • it's easy to set up and to monitor 它易于设置和监控

So, as mostly, the answer is 'it depends'. 因此,大多数情况下,答案是“它取决于”。

There's only a 'best way' for you particular app and there are a number of conditions to consider. 对于您的特定应用程序,只有“最佳方式”,并且需要考虑许多条件。

The easiest way is a shared location on the File System (OS File System vs FTP doesn't matter so much), especially if order is not important. 最简单的方法是文件系统上的共享位置(操作系统文件系统与FTP无关紧要),尤其是在订单不重要的情况下。

If order has to be maintained to there's a guaranteed delivery requirement, then a Message Queue is a good choice, MSMQ/WMQ. 如果必须维护订单以保证交付要求,那么Message Queue是一个不错的选择,MSMQ / WMQ。

Of course, HTTP/SOAP is always an option. 当然,HTTP / SOAP始终是一种选择。

Realistically, any of these methods will get the message there so you have to consider the benefits of each protocol. 实际上,任何这些方法都会在那里得到消息,因此您必须考虑每个协议的好处。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM