2012-01-13 4 views
2

Большинство фреймворков веб-приложений Java используют серверные объекты сеанса для хранения состояния сеанса. Поскольку это усложняет масштабирование, я смотрю на структуры, которые реализуют архитектуру без общего доступа, например. Play! Framework и Apache Click. Какие еще рамки я должен добавить в этот список?Общие рамки веб-приложений Java

+1

Ну ... Вы можете использовать одни и те же методы в любой среде, и некоторые из них позволят вам интегрировать поиск типа «Cache» в любой EL, который используется на уровне представления. –

+1

Несколько заблуждений здесь: 1) в большинстве случаев у вас нет * иметь * использовать «сеансы», если вы этого не хотите, 2) Просто потому, что вы используете сеанс, не * обязательно * создайте свое веб-приложение «неприступный». «Масштабируемость» зависит от вашей архитектуры, которая, в свою очередь, зависит от ваших требований. * Пожалуйста, не ставьте тележку перед лошадью, * пожалуйста * не предайтесь «преждевременной оптимизации» (которая, как мы знаем, является «корнем всех злых»);) ИМХО ... – paulsm4

+0

Должно иметь что я должен разрешить пользователям входить в систему. Большинство фреймворков поддерживают это, используя сеансы на стороне сервера. Это означает репликацию объектов сеанса на машинах и/или настройку липких сеансов. Возможность масштабироваться за пределами одной машины - это требование здесь, а не «преждевременная оптимизация» ... Итак, при прочих равных условиях, используя фреймворк, который не требует большого количества состояний (например, Wicket), и который сохраняет состояние, которое требуется на клиенте (с использованием зашифрованных файлов cookie), кажется более простым и более подходящим. – ejain

ответ

1

GWT рамки - Вы пишете полное приложение AJAX, так что вы можете хранить все, что нужно на стороне клиента и сервера отправлять только маркеры авторизации (которые могут быть сохранены в памяти одноточечного или в базе данных для проверки).

Любое javascript-решение для клиентской стороны, где вы можете сделать то же самое. На стороне клиента вы можете использовать Spring MVC только для реализации бизнес-методов и разрешать их через REST каналы (JSON как протокол передачи данных является предпочтительным вариантом).

1

Возьмите любой из MVC-фреймворков, просто не используйте сеансы. Это очень просто: большинство из них не используют сеанс самостоятельно, именно вы решаете, нужно ли что-то вкладывать в сеанс.

1

Play framework должен предоставить все необходимое, поскольку оно было разработано с использованием принципов без гражданства. Как уже упоминалось, другая структура может сделать трюк, но играть - полный стек и предназначен для быстрого развития (вероятно, эквивалент рубина на рельсах для java). Вы можете легко и быстро разработать полнофункциональное веб-приложение с аутентификацией пользователя и авторизацией. Я бы настоятельно советовал пройти через учебник. Разработка Java никогда не была настолько продуктивной и интересной!

0

Restlet (2.1) имеет CookieAuthenticator, который обрабатывает аутентификацию, не полагаясь на сеансы на стороне сервера, так что это еще одна инфраструктура, которая может быть добавлена ​​в список.