En

JazzTeam Software Development Company

Agile Java Development

Интеграция BIRT в web-приложение

Введение

В статье “Введение в BIRT” мы работали с инструментом для создания шаблонов отчетов BIRT, из него же мы эти отчеты и запускали. Но на практике, такой подход будет вряд ли приемлем для бизнеса, из-за чего возникает необходимость интеграции BIRT в существующее web-приложение.

Описание шагов для интеграции BIRT

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

Добавление зависимости в Maven

Первое, что необходимо сделать для интеграция BIRT в существующий проект — это подключить необходимые библиотеки. В данном случае используется сборщик проекта Maven, следовательно в файл pom.xml необходимо подключить контейнер веб-сервисов Axis и два компонента BIRT:

Конфигурация дескриптора развертывания

После того, как мы указали необходимые зависимости, нам нужно добавить информацию по развертыванию сервлета BIRT. В файл web.xml нужно добавить следующее:

1) Задать расположение “рабочей” папки для BIRT. В этой папке будут находиться наши отчеты:

2) Установить значение флага, который определяет, будут ли доступны отчеты только из рабочей директории. По умолчанию true:

3) Задать параметр, который отвечает за настройку работы с url адресом отчета. Допустим, наш отчет имеет адрес http://host/repo/test.rptdesign. В таком случае, возможны следующие значения:

4) Определить расположение конфигурационного файла для просмотрщика отчетов:

5) Определить, будет ли доступна функция печати на стороне сервера, либо же только на стороне клиента. Значение по умолчанию — ON.

6) Установить флаг, определяющий, будет ли выполнена принудительная оптимизация результата в HTML для браузера. Значение по умолчанию - true.

7) Задать имя класса, который будет генерировать имена отчетов при экспорте.

8) Задать ServletContext и HttpSession listener.

9) Зарегистрировать и сконфигурировать ViewerServlet.

10) Зарегистрировать и сконфигурировать Engine Servlet.

Подключение служебных файлов

После того, как мы закончили с конфигурацией, в проект необходимо добавить некоторые служебные файлы. Для этого, необходимо скачать два архива: webcontent.zip и programfiles.zip.

Далее, в директории /webapp нашего проекта создаем следующие папки — logs, report, scriptlib. В директории /webapp/WEB-INF создаем директорию tlds
Файлы из архивов programfiles.zip кладём следующим образом:

Добавление шаблона отчета в проект

На данном этапе, в наше web-приложение интегрированы два компонента BIRT (для обработки и отображения отчетов). Осталось лишь подложить наш шаблон отчета, который мы сделали в прошлом уроке, добавить ссылку на наш отчет и запустить проект.

Берём наш шаблон отчета и кладем его в папку /webapp/report:

Теперь мы можем поместить ссылку на наш отчет в каком-либо представлении.

Например, добавим в меню ссылку, которое будет открывать наш отчет в новой вкладке:

И самое последнее, что нужно сделать — запустить приложение. В нашем приложении используется Jetty, следовательно для запуска приложения используем команду jetty:run:

Наше приложение будет доступно по адресу https://localhost:8888/. После клика на нашей ссылке, в новой вкладке откроется наш отчет:

, , ,

Leave a Reply

Your email address will not be published. Required fields are marked *