Для № 1:
Пожалуйста, предоставьте дополнительную информацию о вашей задаче:
1. Примерная оценка количества клиентов 5, 100, 10000, 1000000
2. Предполагаемый размер данных, которые будут принудительно возвращаться между клиентом и сервером.
3. Где клиенты будут работать в Интернете или Интранете? Какие-либо ограничения по безопасности?
4. Клиент будет автономным приложением или веб-приложением (например, страница или виджет на странице)?
Для № 3:
Если все, что вы упомянули в # 2, должно быть реализовано как часть задачи, то я не верю, что вы можете просто прочитать некоторые книги и реализовать их. Или результат внедрения будет далек от производственных требований. Я рекомендую нанять архитектора или передать его опытной команде.
Просто для общей информации могу порекомендовать прочитать - «Шаблоны архитектуры корпоративных приложений» Мартина Фаулера. Но просто чтение не может заменить опыт.
Для № 4:
Я полагаю, что есть и промежуточные системы для .Net. Существуют коммерческие системы промежуточного программного обеспечения, которые работают с Java, .Net и C ++.
ИМО Microsoft выбрала другой подход, чем сообщество Java. Они предоставили фреймворки, которые позволяют вам создавать то, что вы называете «промежуточным программным обеспечением». Сначала загляните в WCF & REST. Очередь может быть легко реализована в БД. Если этого недостаточно, загляните в WCF & MS MQ. Если вам не нравится MS MQ, посмотрите на Amazon SQS. Если этого недостаточно, загляните в BizTalk.
* * 1012 P.S. Платформы Java и .NET настолько огромны, что вы можете создавать то, что хотите, на обоих. Нет смысла переходить с .NET на Java или с Java на .Net только потому, что вы думаете, что что-то упущено в платформе.