title: Duplex messaging or Azure Queue Service
body: <p>All ,</p>
  
  <p>We have a requirement to develop a azure based platform, in which the user can configure multiple pharmaceutical instruments, start measurements on them and analyze the measured data. The typical components in the azure based platform will be following</p>
  
  <p><strong>1 - A .NET based 4 client application running on the computer connected to each instrument. This  client application  should receive the start measurement command from the azure platform  , perform the measurement and update the result back to the azure*</strong></p>
  
  <p><strong>2 - A set of services[probably REST based] which will get the results from the client application and update the database on the cloud</strong></p>
  
  <p><strong>3 - A set of services and business logic which which can be used to perform analysis on the data</strong></p>
  
  <p><strong>4 - A asp.net web application where the user can view instrument details , start measurement etc</strong></p>
  
  <p>There is a two way communication between the Azure platform and the client application i.e. <strong>the client needs to update results to the azure</strong> and the <strong>azure needs to initiate measurement on the instrument via the client application</strong></p>
  
  <p>In such a scenario , what is the recommended approach for the azure platform to communicate to the clients. Is it any of the following</p>
  
  <p><strong>1 - Create a duplex service between the client and server and provide a call back interface to start the measurement</strong></p>
  
  <p><strong>2 - Create a command queue using Azure message queue for each client. when a measurement needs to be started , a message will the put on the queue. The client app will always read from the queue and execute the command</strong></p>
  
  <p>or do we have any other ways to do this , any help is appreciated</p>