Я собираюсь разработать систему удаленного управления и мониторинга, которая будет выполняться по сети. Я знаю, что наилучшей архитектурой для таких систем является SOA (или нет?). Система включает в себя 2 типа клиентов и сервер. из-за поведения системы важно, чтобы и серверы, и клиенты могли подключаться друг к другу. Теперь есть несколько вопросов по этому поводу:
1- Должен ли я использовать живое соединение между частями системы? из-за серверов нужно иметь доступ к своим клиентам в любое время.
2. Сейчас я хочу разработать его с помощью фреймворка .Net, но, возможно, в будущем мне нужно будет изменить клиентов или сервер на java или что-то еще, поэтому могу ли я использовать технологии на основе .net, такие как WCF, для разработки этой системы?
3 - Я видел инструмент под названием «NServiceBus», который кажется хорошей системой для таких проектов, но у меня нет достаточного опыта работы с ним. Может ли кто-нибудь рассказать мне о его преимуществах для моей системы?