Лучшая инфраструктура пользовательского интерфейса для веб-приложений с высокой степенью масштабируемости - PullRequest
1 голос
/ 18 января 2012

Я знаю, что есть много подобных сообщений, но я все еще не могу решить. Мы планируем перенести устаревшее веб-приложение на новую платформу.

В настоящее время мы имеем 2,5 миллиона обращений в день с менее чем вторым средним временем ответа с 1000 до 1500 одновременных пользователей. После миграции мы ожидаем более 3 миллионов обращений в день и 2000 одновременных пользователей.

Моим бэкэндом будет JDBC Spring / Spring (из-за сложных запросов и требований к масштабируемости не планируется использовать ORM)

У меня есть шорт-лист Flex, Wicket и Spring MVC для внешнего интерфейса. Я вошел в список Flex, потому что наша команда уже работает над проектом Flex Spring Blazeds. и Spring MVC, потому что мы уже используем много пружин, пружинной безопасности, интеграции Blazads и т. д. Калитка из-за положительных отзывов во многих постах.

Хотя Flex является клиентом RIA. Мое единственное беспокойство - размер файла swf с большим количеством пользователей, даже после разделения приложения flex на модули. Для загрузки SWF требуется время.

Так что я думаю, что Spring MVC лучше в этом случае.

Калитка, я не использовал, но хотел попробовать, из-за большого шума вокруг него.

Итак, какой будет лучший интерфейс с учетом нагрузки и обслуживания.

Ответы [ 3 ]

2 голосов
/ 18 января 2012

Я думаю, что вы должны попробовать Ext Js 4.x.Он имеет более замечательные компоненты пользовательского интерфейса, а его логика объектно-ориентированного программирования облегчит вашу работу.Для получения дополнительной информации о ExtJS и демонстрациях:

А также вы можете найти руководство по началу работы и заметки для разработчиков на странице документации ...

Примечание: Ext JS в основном работаетс JSON, что делает его интеграцию с Spring MVC очень простой

0 голосов
/ 26 июля 2013

У меня небольшой опыт работы с Flex, я использовал его для довольно большого проекта.Это, безусловно, быстрый и простой способ создания привлекательных, простых в использовании интерфейсов.Проблема, с которой я столкнулся, заключается в необходимости дублировать вашу модель Java в коде Actionscript.Возможно, есть способ обойти это;мы использовали BlazeDS для преобразования между объектами Actionscript и Java, что в то время было стандартным способом взаимодействия между клиентом Flex и сервером Java.Это приводит к довольно раздутым, громоздким кодовым базам.Мы объединили наши клиентские и серверные приложения в одно, чтобы использовать Maven, но вы можете обнаружить, что вам нужно сохранить отдельное приложение Flex и Java.Честно говоря, я считаю, что JQuery использовал наряду со стандартом HTML5, JSP (и связанные с ним технологии) и, возможно, JSF достиг бы всего, что вам нужно для RIA, без дублирования вашей бизнес-модели.SpringMVC и высоко цените его, так как он также освобождает вас от использования REST.SpringMVC, по моему мнению, значительно упрощает вашу логику обработки запросов / ответов.

0 голосов
/ 23 января 2012

Много масштабируемых вариантов в наши дни.Я поддерживаю предложение изучить работу Мэтта Райбла.

Несколько советов нетехнического характера ...

Мой опыт состоит в том, что если вы составите реалистичный список реальной ситуации вашей команды,этот список довольно быстро сокращается.

Подумайте, что ваша команда уже знает в сравнении с кривой обучения, какой тип поддержки вам нужен, в сравнении с тем, что предлагается, и т. д. Возможно, ваша команда более заинтересована в использовании Flex, поэтомуодно это может повысить его шансы на успех.

Не стоит недооценивать проблему получения действительно хороших результатов в новых рамках.Конечно, вы можете получить привет мир или простую демонстрацию в кратчайшие сроки.Обработка всех мельчайших деталей крупномасштабного приложения - это совсем другое дело.Они все подведут вас в тот или иной момент, и вы должны найти хороший обходной путь.Обратите внимание, я не говорю, не делай этого, просто будь готов.Один из способов сделать это - использовать его в небольшом проекте, чтобы получить некоторый опыт.

...