What's the recommended messaging architecture for the following scenario:
- Multiple workstations running a WinForms client
- Clients must reliably notify two (or more) Windows Services of an event
Initially we wanted to avoid configuring MSMQ on the client workstations, so we created a web service. This proved difficult to configure, and then I read that publishing NServiceBus messages from a web application is not recommended.
Is the best practice to:
- Have the clients call a web service, which sends (not publishes) a message to a Windows service, which publishes the message?
- Send (not publish) the message directly from the client applications to a remote queue on a server, from which a Windows service publishes the message?
- Other?
Currently I am trying to implement this using NServiceBus, but hopefully the answer is bus-agnostic.
Edit:
If clients simply send (not publish) to a remote queue, does MSMQ need to be configured (or even installed) on the client workstations? In that case what happens if the remote queue is unreachable?