Лучшие практики для гетерогенного .NET WPF & J2EE 3-уровня архитектура
-
14-09-2020 - |
Вопрос
Я в основном разработчик ASP.NET, поэтому я не очень знаком с лучшими практиками J2EE, либо WFP, шаблонами и т. Д., Но я чувствую, что проект, который я вовлечен, мог быть сделан лучше, но я Не могу точно поставить свой палец точно на то, что не так с архитектурой.
Что такое лучшая (*) архитектура для гетерогенного распределенного 3-уровня применения, в частности, если я хотел реализовать систему, состоящую из:
- Java EE 5 Задний конец на сервере приложений JBOSS - предоставляет услуги EJB E.g. Как мыло, отдых или JMS Beans
- Hibernate на SQL Server или базы данных Oracle
- .NET 4.0 WPF Desktop Client
- .NET 4.0 Silverlight Web Client
- jsp / pure-html веб-клиент
- Какие технологии вы бы порекомендовали обратиться к любой из компонентов, упомянутых выше, например, e.g. какие виды услуг (мыло, отдых, обмен сообщениями?)
- Как уменьшить задержку в связи между клиентами .NET и Java Back-End?
- Какие узоры / подходы к посмотрению, например, E.g. С точки зрения кода клиента WPF (шаблон MVVM?), связь с Java Back-End (WCF?)
- Как вы защищены (аутентификация, авторизация) такие услуги J2EE при использовании клиента WCF?
- Каковы архитектурные проблемы, чтобы посмотреть и как их решать, например, С точки зрения безопасности, масштабируемости, производительности и т. Д.?
*
Я знаю, что, вероятно, невозможно определить «лучшую архитектуру», но мне просто интересно мнения о архитектурных подходах, лучших практиках, узорах и т. д.
Одной из очевидных проблем, которые я вижу в нашем дизайне / архитектуре, заключается в том, что связь Web Service, состоит в том, что связь SOAP Web Service между клиентами .NET и Back-End java очень медленно, вероятно, из-за проблем с задержкой. Весь опыт пользовательского интерфейса очень вялый. И это с одним пользователем - в производстве мы ожидаем +/- 100 одновременных пользователей.
Я был бы признателен за любые комментарии / мнения.
Некоторые вопросы:
- .
(Я прошу прощения, если этот вопрос не подходит для этого сайта, я вижу предупреждение «вопрос, который вы просите, кажется субъективным и, вероятно, будут закрыты», однако, что я ищу, являются субъективными мнениями, и я уверен, что другие, которые работают в смешанной среде .NET / Java, будут заинтересованы.)
Спасибо!
Решение
Архитектура для этого проекта была слишком сложной.
Я бы сделал следующие изменения:
- .
- Используйте .NET на бэкэнде, чтобы уменьшить количество технологий
- Перепаньте клиент WPF и используйте Silverlight из браузера в качестве клиента Windows
- Используйте только асинхронные вызовы на бэкэнду, чтобы сохранить адаптивность ui
- Используйте WCF веб-розетки, чтобы поговорить с бэкэндом
- Используйте HTML5 в качестве веб-пользовательского интерфейса, это также поддерживает веб-сокеты, чтобы у вас есть один способ поговорить с вашим бэкэндом
Веб-розетки: http://tomasz.janczuk.org/