1

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.

  2. Exposing Schema/Orchestration as a web service in system 2 which would be consumed by system 1.

Any suggestions which method would be better in terms of error handling and scalability.

Dijkgraaf
  • 9,324
  • 15
  • 34
  • 48

2 Answers2

3

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!). These provide transactional behavior and can be considered as very reliable. Other lightweight options are indeed through file exchange or FTP.

Web service or REST connectivity is also very easy to set up, but then you have synchronous behavior, which has its benefits:

  • you can get a 'real-time' ack back when your message is delivered by BizTalk
  • it's easy to set up and to monitor

So, as mostly, the answer is 'it depends'.

Sam Vanhoutte
  • 2,424
  • 13
  • 29
  • 1
    Thanks Sam and boatseller, I totally understand it depends but was just looking for a better practice, I was just trying to weigh my options like you said that Http/Soap is synchronous whereas having a queuing system would be asynchronous, so was looking at some of these points like having a soap option would be tight coupling and the api would have to be always available. Apart from these do we have any pros and cons of these approaches. – user1666019 Mar 07 '14 at 09:21
0

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.

If order has to be maintained to there's a guaranteed delivery requirement, then a Message Queue is a good choice, MSMQ/WMQ.

Of course, HTTP/SOAP is always an option.

Realistically, any of these methods will get the message there so you have to consider the benefits of each protocol.

Johns-305
  • 10,704
  • 10
  • 21