Sabarish Sathasivan
Sabarish Sathasivan

Reputation: 1266

Duplex messaging or Azure Queue Service

All ,

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

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*

2 - A set of services[probably REST based] which will get the results from the client application and update the database on the cloud

3 - A set of services and business logic which which can be used to perform analysis on the data

4 - A asp.net web application where the user can view instrument details , start measurement etc

There is a two way communication between the Azure platform and the client application i.e. the client needs to update results to the azure and the azure needs to initiate measurement on the instrument via the client application

In such a scenario , what is the recommended approach for the azure platform to communicate to the clients. Is it any of the following

1 - Create a duplex service between the client and server and provide a call back interface to start the measurement

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

or do we have any other ways to do this , any help is appreciated

Upvotes: 0

Views: 528

Answers (2)

John
John

Reputation: 71

For communication between the server and the client, you could use SignalR http://signalr.net/ there are two forms of messaging systems supported "as a service" on Azure, these are Service Bus and Message Queues - see this link http://msdn.microsoft.com/en-us/library/hh767287.aspx

Upvotes: 0

user3063915
user3063915

Reputation:

We do not fully understand your scenario and constraints around it, but as pointers, we have seen lot of customers use Azure storage queues to implement master-worker scenario (some component adds message to appropriate queue to get work done (take measurements in your case) and workers polling the queue to process this work (client computer connected to your instrument in this case)).

In terms of storing the results back, your master component could provide SAS access to client to write results back to specific blob in an Azure storage account and either have your service and business logic monitor existence of that blob to start your analysis.

Above approach will decouple your client from server and make communication asynchronous via storage. Again, these are just pointers and you would be the best person to pick the right approach that suits your requirement

Upvotes: 0

Related Questions