Spring Web FlowSpring Web Flow (SWF) — проект, который предоставляет декларативный язык описания потоков с высоким уровнем абстракции. Он может быть интегрирован с минимальными изменениями в уже существующие приложения (используется модель поточного программирования), использующие Spring MVC, JSF, а так же Portlet. Spring Web Flow решает проблемы программирования веб-приложений с следующими особенностями:

  • Очень сложная визуализация потока
  • Необходимость управления поведением
  • Поддержка breadcrumbs (кнопки назад — вперед)
  • Большое количество кода для доступа к HTTP-сессии
  • Отсутствие синхронизации между сервером и приложением для кнопки «Назад»
  • Большое количество вкладок в браузере вызывает проблемы параллельной обработки данных в пределах одной HTTP-сессии

Основным достоинством Spring Web Flow является возможность сохранения состояний веб-приложений с контролируемым поведением. В качестве примера можно привести приложение по регистрации рейсов, получение кредита, оплата на кассах или оформление заказа в интернет-магазине. У этих приложений есть общие черты, такие как:

  • Однозначное определение начала и конца
  • Прохождение определенной последовательности шагов
  • Сохранение изменений на последнем шаге
  • Запрет на повторение действий по завершению определенного шага (например повторить платеж или перезаказать товар)

Документация: Руководство пользователя Spring Web Flow 2.4.0 на русском языке

Общий раздел по Spring Web Flow

Пример приложения Hello World. Базовые настройки

Spring Web Flow + Spring MVC и работа с PDF и Excel документами

Частичное обновление страницы в SWF с помощью AJAX.

 

Вопросы для прохождения интервью на позицию Java разработчик

Share Button
2090 Total Views 2 Views Today