Сравнительный анализ технологий



Дата24.04.2016
өлшемі27.93 Kb.
#79131

УДК 004.4(06) Технологии разработки программных систем

В.В. КЛИМОВ, А.А. КОВАЛЬ, М.С. ПАВЛОВ

Московский инженерно-физический институт (государственный университет)
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ТЕХНОЛОГИЙ
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]. Удобство технологий – понятие относительное, поэтому логично сравнивать их по определенным критериям, которым разработчики уделяют свое внимание:

  1. Управление бизнес-логикой

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

  1. Навигация

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

  1. Разработка страниц

Обе технологии позволяют использовать визуальные среды, ускоряющие процесс разработки. В основе JSF лежит компонентная модель, что дает разработчикам возможность использовать инструменты для быстрой разработки приложений (RAD). Таким образом, технология JSF позволяет использовать в одном приложении различные библиотеки отображений, подключая их в качестве модулей. Хотя Struts и предоставляет возможность подключения пользовательских библиотек, но в ней наблюдается пересечение JSP и HTTP подходов во время разработки, что не способствует упрощению кода.

  1. Интеграция приложения

Технология Struts реализована, как нейтральная по отношению к используемой модели данных, поэтому в ней не имеется каких-либо встроенных методов, позволяющих осуществлять преобразования. Вследствие этого, любые данные, полученные со страницы, требуется вручную приводить к необходимому формату данных. С другой стороны JSF, скрывает детали реализации данных внутри дерева компонент. Компоненты, несущие особую информационную или функциональную нагрузку, могут быть связаны с определенным Java классом.

  1. Добавление собственных компонент

JSF и Struts предоставляют разработчику механизмы расширения своих базовых структур. Так в Struts для этого используется интерфейс расширения класса, осуществляющего вызовы как системных, так и пользовательских методов в процессе жизненного цикла запроса. Эквивалентную функциональность JSF обеспечивает, основываясь на возможности встраивания пользовательского кода между фазовыми переходами запроса. К тому же, JSF отделяет фазу визуализации от контроллера, что позволяет использовать собственный инструментарий для создания и формирования отображения пользовательских компонент.

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


Список литературы


  1. Vik Cekvenich, “Struts, Fast Track”, BaseBeans Engeneering, 2002.

  2. Kito D. Mann, “JavaServer Faces in Action”, Manning Publication Co., 2005.

  3. Roland Barcia, “JavaServer Faces(JSF) vs Struts”, SYS-CON Media, 2004.




________________________________________________________________________

ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 15




Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет