Руководство по JSF. Архитектура.

Технология JSF предназначена для разработки, сборки UI компонентов и их использования в веб-приложении. Данный фреймворк основан на архитектуре Model View Controller (MVC).


Архитектура Model View Controller

Модуль Описание
Model Хранит данные
View Отображает пользовательский интерфейс (UI)
Controller Отвечает за обработку событий приложения

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

Другими словами, данная модель крайне облегчает рефакторинг приложения.


Архитектура JSF

Приложение, созданное с помощью JSF крайне схоже с другими веб-приложениями, которые основаны с помощью Java технологий.

Такое веб-приложение содрержит:

  • JavaBean компоненты, которые являеются моделью и содержат базовые сущности и бизнес-логику пирложения.
  • Библиотеку тегов для обработки UI компонентов.
  • Библиотеку тегов для представления обработчиков и валидаторов.
  • Серверные классы-помощники.
  • Конфигурационные файлы приложения для конфигурирования ресурсов приложения.
  • Валидаторы, обработчики событий и обработчики навигации.

Схематически мы можем отобразить JSF приложение следующим образом:

jsf_architectute

Мы видим контроллеры, который используются  для представления действий пользователя. UI может быть представлен веб-страницей, а бизнес-логика – управляющими бинами (managed beans).

JSF предосталяет несколько механизмов для обработки отдельных компонентов. Дизайнер может выбирать желаемое отображение, а back end разработчик может и не знать, какой именно механизм обработки UI компонентов был выбран.

На этом мы заканчиваем изучение архитектуры JSF.

В следующей статье мы рассмотрим жизненный цикл JSF приложения.