Генерация Web-приложений на основе J2EE и Ajax при помощи jpa2web

Генерация Web-приложений на основе J2EE и Ajax при помощи jpa2web

С появлением готовых средств, таких как Hibernate (см. Ресурсы), был сделан громадный шаг в направлении нивелирования противоречий между Java-объектами и их представлением в базе данных. Это особенно касается той легкости, с которой может описываться сохранение объектов путем добавления аннотаций к соответствующим классам. Это освобождает разработчиков от утомительной работы по сохранению и восстановлению объектов из базы данных. Данные проблемы берет на себя Hibernate, однако, разработчикам по-прежнему приходится создавать Web-страницы для отображения объектов. Типичным сценарием создания Web-приложения среднего уровня может быть следующий: сначала разработчик создает набор простых Java-классов (Plain Old Java Objects – POJO) для представления модели предметной области. Затем начинается работа над транзакциями и Web-интерфейсом. При этом часть объектов модели не содержит транзакционных данных. Клиенты, страны, адреса, сотрудники и компании – это типичные примеры объектов модели, которые участвуют лишь в небольшом числе операций.

Почему бы автоматически не генерировать на основе аннотаций слой Web-представления, позволяющий создавать, добавлять, выводить на экран, удалять и искать эти объекты? И почему бы не использовать Ajax при генерации подобного интерфейса? Это и есть главные задачи библиотеки jpa2web, которая работает следующим образом:
Входные данные: аннотированные объекты POJO и, возможно, интерфейсные шаблоны.
Результат: Web-приложение на основе Ajax для отображения и сохранения объектов модели.
Используемые технологии: FreeMarker + ZK + Hibernate (за более подробной информацией об этих технологиях обратитесь по ссылкам в разделе Ресурсы).
Инфраструктура ZK
ZK – это Web-инфраструктура на основе Ajax с открытым кодом, предназначенная для создания многофункциональных интерфейсов для Web-приложений. При этом не требуется писать большие объемы кода или использовать JavaScript. Используя ZK, вы можете проектировать Web-приложения так, как будто создаете настольные программы. Всю клиентскую и серверную работу с Ajax ZK берет на себя. Все, что требуется от разработчика – это описать пользовательский интерфейс при помощи простых файлов XML (называемых файлами zul), а также создать обработчики событий на любом из поддерживаемых языков: компилируемом Java, интерпретируемом Bean Shell, Groovy, Ruby, JavaScript и некоторых других.

Библиотека использует модель программирования на основе аннотаций в основном для описания ORM-отображений. При этом многие аннотации могут также использоваться для создания Web-интерфейса и редактируемых прототипов.

В следующих разделах мы расскажем, как при работе с jpa2web различные объекты (простые и сложные) могут служить для создания Web-интерфейса на основе Ajax. Затем мы кратко опишем алгоритм работы jpa2web и приведем основные инструкции на тему начала работы с библиотекой. В заключение мы поговорим о применимости jpa2web в различных ситуациях и обсудим пути ее дальнейшего развития.

Простой пример

Модель предметной области, использующаяся в данной статье, может быть знакома некоторым читателям. Она представляет собой адаптированную версию модели из великолепной книги Enterprise JavaBeans, 3.0 Билла Бурка (Bill Burke) и Ричарда Монсона-Хейфеля (Richard Monson-Haefel) (ссылка приведена в разделе Ресурсы). Она содержит класс, моделирующий корабль — Ship.java (см. листинг 1). Он является простейшим примером POJO, так как все его члены имеют примитивные типы данных.

 

Комментарии

Комментариев пока нет. Почему бы ’Вам не начать обсуждение?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *