Лучшие практики для гетерогенной 3-уровневой архитектуры .NET WPF & J2EE - PullRequest
2 голосов
/ 13 июля 2010

Я в основном разработчик ASP.NET, поэтому я не очень хорошо знаком с рекомендациями J2EE или WFP, шаблонами и т. Д., Но я чувствую, что проект, в который я вовлечен, мог бы быть лучше, но я не могу понять, что не так с архитектурой.

Какова лучшая (*) архитектура для гетерогенного распределенного 3-уровневого приложения, в частности, если я хочу реализовать систему, состоящую из:

  1. Серверная часть Java EE 5 на сервере приложений JBoss - предоставляет службы EJB, например, как SOAP, REST или JMS-бины
  2. Hibernate для баз данных SQL Server или Oracle
  3. .NET 4.0 WPF настольный клиент
  4. .NET 4.0 Silverlight веб-клиент
  5. веб-клиент JSP / pure-HTML

* Я знаю, что, вероятно, невозможно определить «лучшую архитектуру», но мне просто интересно узнать мнения об архитектурных подходах, лучших практиках, шаблонах и т. Д.

Одна из очевидных проблем, которые я вижу в нашей архитектуре / дизайне, заключается в том, что связь веб-службы SOAP между клиентами .NET и серверной частью Java очень медленная, возможно, из-за проблем с задержкой. Весь пользовательский интерфейс очень вялый. И это с одним пользователем - в производстве мы ожидаем +/- 100 одновременных пользователей.

Буду признателен за любые комментарии / мнения.

Некоторые вопросы:

  • Какие технологии вы бы порекомендовали для решения любого из компонентов, упомянутых выше, например, какой тип услуг (SOAP, REST, обмен сообщениями?)
  • Как уменьшить задержку при обмене данными между клиентами .NET и серверной частью Java?
  • Какие шаблоны / подходы посмотреть, например, с точки зрения клиентского кода WPF (шаблон MVVM?), связь с серверной частью Java (WCF?)
  • Как вы защищаете (аутентификация, авторизация) такие службы J2EE при использовании клиента WCF?
  • На какие архитектурные проблемы стоит обратить внимание и как их решить, например, с точки зрения безопасности, масштабируемости, производительности и т. д.

(Я прошу прощения, если этот вопрос не подходит для этого сайта, я вижу предупреждение "Вопрос, который вы задаете, кажется субъективным и, вероятно, будет закрыт", однако я ищу субъективные мнения, и я уверен, что другие, которые работают в смешанной среде .NET / Java, будут заинтересованы.)

Спасибо!

1 Ответ

0 голосов
/ 06 апреля 2011

Архитектура для этого проекта была слишком сложной.

Я бы внес следующие изменения:

  • используйте .Net на бэкэнде, чтобы уменьшить количество технологий
  • удалите клиент WPF и используйте Silverlight из браузера в качестве клиента Windows
  • используйте только асинхронные вызовы к бэкэнду, чтобы поддерживать отзывчивость пользовательского интерфейса
  • используйте веб-сокеты wcf для связи с бэкэндом
  • используйте html5 в качестве веб-интерфейса, он также поддерживает веб-сокеты, поэтому у вас есть один способ общения с бэкэндом

веб-сокеты: http://tomasz.janczuk.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...