I know this question has been asked a bit before. But looking around I still cant make my mind up which route I should go down. Here's my scenario, hopefully you can help out:
We will have a series of web services that will be hit on a scheduled basis by hundreds of mobile applications. These services will data on the device with new information both going to the devices and coming back from them. The data returned from the devices will need to update a single central SQL server database that also feeds several desktop applications and a website.
In order to reduce the amount of time for the request/response of these services we have decided to process data coming in from the devices after the fact by either sticking them in an MSMQ instance or storing the serialized objects in a temporary data store and having a windows service process them later.
So there's my choices, but aside from this here's a few more things that might help you guys advise me:
- The data returned from the devices will not be returned in smaller message packets that need to be ordered server side.
- I know nothing about MSMQ but I have written windows services before. Though I have no issue picking up MSMQ if it is required.
- I want to keep the response from the devices some where in case the processing fails for some reason that is caused by the data. This way I can interrogate the data and see if there is a problem i.e. the device allows a user to add comments that extend the related field's length in the server side database.
With this information, do you think it is worth me looking into learning MSMQ or should I stick with the simpler solution?
Chris.