В.В. КЛИМОВ, А.А. КОВАЛЬ, М.С. ПАВЛОВ
Московский инженерно-физический институт (государственный университет)
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ТЕХНОЛОГИЙ
JAVASERVER FACES И STRUTS
В докладе проводится сравнительный анализ технологий создания web-приложений (JavaServer Faces или Struts) в рамках разработки модуля администрирования для SmartVista Front End.
В процессе разработки модуля администрирования для SmartVista Front End было необходимо выбрать технологию, которая позволила бы облегчить и ускорить процесс написания кода web-приложения. На базе платформы J2EE широко распространены следующие технологии: Java Servlets, JSP, Struts, JavaServer Faces. Однако при использовании Java Servlets или JSP, трудно отделить бизнес-логику от отображения, и это становится все критичнее с возрастанием объема приложения. Технологии Struts [1] и JavaServer Faces [2] поддерживают шаблон MVC, использование которого позволяет отделить бизнес-логику от представления. Для выбора наиболее удобной и функциональной технологии и был проведен сравнительный анализ Struts и JSF [3]. Удобство технологий – понятие относительное, поэтому логично сравнивать их по определенным критериям, которым разработчики уделяют свое внимание:
-
Управление бизнес-логикой
Обе технологии предоставляют относительно гибкую структуру контроля и назначения событий каждому из элементов на странице. Основное же их различие заключается в способе обработки HTTP запросов. Таким образом, если Struts в процессе выполнения конкретного запроса поддерживает выполнение лишь одного события, определяемого URI, то JSF позволяет ассоциировать одно или более событий с каждым из активных элементов на странице.
-
Навигация
Для навигации в обеих технологиях используются XML файлы конфигурации, позволяющие описывать сложные зависимости перехода с одной страницы на другую в соответствие с результатом выполнения вызванного серверного кода. Однако управление страницами в JSF более наглядно и не требует в случае внесения изменений в навигацию модифицировать код приложения.
-
Разработка страниц
Обе технологии позволяют использовать визуальные среды, ускоряющие процесс разработки. В основе JSF лежит компонентная модель, что дает разработчикам возможность использовать инструменты для быстрой разработки приложений (RAD). Таким образом, технология JSF позволяет использовать в одном приложении различные библиотеки отображений, подключая их в качестве модулей. Хотя Struts и предоставляет возможность подключения пользовательских библиотек, но в ней наблюдается пересечение JSP и HTTP подходов во время разработки, что не способствует упрощению кода.
-
Интеграция приложения
Технология Struts реализована, как нейтральная по отношению к используемой модели данных, поэтому в ней не имеется каких-либо встроенных методов, позволяющих осуществлять преобразования. Вследствие этого, любые данные, полученные со страницы, требуется вручную приводить к необходимому формату данных. С другой стороны JSF, скрывает детали реализации данных внутри дерева компонент. Компоненты, несущие особую информационную или функциональную нагрузку, могут быть связаны с определенным Java классом.
-
Добавление собственных компонент
JSF и Struts предоставляют разработчику механизмы расширения своих базовых структур. Так в Struts для этого используется интерфейс расширения класса, осуществляющего вызовы как системных, так и пользовательских методов в процессе жизненного цикла запроса. Эквивалентную функциональность JSF обеспечивает, основываясь на возможности встраивания пользовательского кода между фазовыми переходами запроса. К тому же, JSF отделяет фазу визуализации от контроллера, что позволяет использовать собственный инструментарий для создания и формирования отображения пользовательских компонент.
В целом, JSF более гибкая технология. Более того, в процессе своего применения она не исключает использования компонентов других технологий, основанных на платформе J2EE, поэтому именно JSF была выбрана в качестве основной. В процессе разработки модуля было получено практическое подтверждение описанной функциональности и реального набора возможностей технологии.
Список литературы
-
Vik Cekvenich, “Struts, Fast Track”, BaseBeans Engeneering, 2002.
-
Kito D. Mann, “JavaServer Faces in Action”, Manning Publication Co., 2005.
-
Roland Barcia, “JavaServer Faces(JSF) vs Struts”, SYS-CON Media, 2004.
________________________________________________________________________
ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 15
Достарыңызбен бөлісу: |