InterSystems Reports


InterSystems Reports – модуль InterSystems IRIS и InterSystems IRIS for Health. Это современное решение для создания и публикации отчетов, которое включает в себя:


  • Встроенную оперативную отчетность, которая может быть настроена как разработчиками отчетов, так и конечными пользователями.
  • Точное форматирование, позволяющее создавать специализированные формы, например, макеты для счетов, документов и т.д.
  • Макеты, обеспечивающие структуру для отображения как агрегированных, так и транзакционных данных.
  • Позиционирование заголовков, колонтитулов, агрегированных и подробных данных, изображений и вложенных отчетов.
  • Разнообразные типы отчетов.
  • Публикация и распространение отчетов, включая экспорт в PDF, XLS, HTML, XML и другие форматы файлов, печать и архивирование для соблюдения нормативных требований.

InterSystems Reports состоит из:


  • Дизайнера отчетов, в котором разработчики создают отчёты.
  • Сервера отчетов, который предоставляет пользователям доступ через браузер для запуска, планирования, фильтрации и изменения отчетов.

Эта статья продолжает предыдущую и посвящена серверной части InterSystems Reports и содержит руководство по запуску Report Server в контейнерах с сохранением конфигурации.


Подготовка


Прежде чем мы начнем, для работы InterSystems Reports должно быть доступно следующее программное обеспечение:


  • Docker — хотя InterSystems Reports может работать и без Docker (в операционных системах Windows, Mac, Linux), эта статья посвящена запуску Reports Server в Docker.
  • (Опционально) git — для клонирования репозитория, можно также загрузить его в виде архива.
  • (Опционально) InterSystems Reports Designer — для создания новых отчетов.

Дополнительно вам потребуется:



План


Вот что необходимо сделать для запуска Reports Server:


  1. Запустить Reports и InterSystems IRIS в режиме настройки, чтобы установить IRIS в качестве базы данных (не источника данных!) для Reports.
  2. Настроить Reports и сохранить эту конфигурацию на хосте.
  3. Запустить Reports с конфигурацией сохраненными данными.

Первый запуск


Шаги 1-8 используют docker-compose_setup.yml в качестве конфигурационного файла docker-compose. Любые дополнительные команды docker-compose во время первого старта должны быть выполнены с аргументом -f docker-compose_setup.yml.


  1. Склонируйте это репозиторий: git clone https://github.com/eduard93/reports.git или скачайте архив.


  2. Отредактируйте config.properties и укажите информацию о лицензии InterSystems Reports Server (User и Key). Если у вас их нет — обратитесь в InterSystems. Существует ряд других свойств, описанных в документации. Обратите внимание, что InterSystems IRIS в данном случае является базой данных для InterSystems Reports, а не источником данных для отчетов (который мы добавим позже).


  3. Запустите InterSystems Reports Server: docker-compose -f docker-compose_setup.yml up -d


  4. Подождите, пока InterSystems Reports Server запустится (проверьте статус docker-compose -f docker-compose_setup.yml logs reports). Это может занять 5-10 минут. Сервер отчетов готов к работе, если в логах отображается: reports_1 | Logi Report Server is ready for service..


  5. Откройте сервер отчетов. (Пользователь/пароль: admin/admin). В случае, если отображается предупреждение об истекшем сроке действия лицензии, введите информацию о лицензии заново. В результате должен открыться портал InterSystems Reports:




Сохранение конфигурации


Теперь, когда Reports запущен, нам нужно немного поправить конфигурацию и сохранить ее на хосте (обратите внимание, что конфигурация InterSystems IRIS сохраняется с помощью Durable %SYS).


  1. Отметьте опцию Enable Resources from Real Paths в разделе Administration > Configuration > Advanced (документация). Это позволит нам публиковать отчеты копируя их в папку reports в репозитории.


  1. Скопируйте конфигурацию InterSystems Reports на хост:
    docker cp reports_reports_1:/opt/LogiReport/Server/bin .
    docker cp reports_reports_1:/opt/LogiReport/Server/derby .
    docker cp reports_reports_1:/opt/LogiReport/Server/font .
    docker cp reports_reports_1:/opt/LogiReport/Server/history .
    docker cp reports_reports_1:/opt/LogiReport/Server/style .

    1. Остановите InterSystems Reports Server: docker-compose -f docker-compose_setup.yml down

Второй запуск


Теперь мы готовы запустить Reports с хранимой конфигурацией — именно так он и будет работать.


  1. Запустите InterSystems Reports Server без инициализации: docker-compose up -d


  2. Создайте новую папку в Public Reports с Real Path: /reports (документация). Для этого откройте Public Reports и выберите Publish > From Server Machine:




Создайте новую папку /reports:



Откройте её:



В папке должен быть catalog (в котором настроено соединение с InterSystems IRIS) и два отчета (reportset1 и reportset2). Запустите их (используйте кнопку Run для просмотра в браузере и Advanced Run для выбора между форматами HTML, PDF, Excel, Text, RTF, XML и PostScript). Вот как выглядят отчеты:




InterSystems Reports поддерживает Unicode из коробки. В этом примере я использую один и тот же инстанс InterSystems IRIS в качестве источника данных, но в общем случае это может быть любой другой сервер InterSystems IRIS — подключение определяется в catalog. В этом демо используется набор данных HoleFoods (установлен с помощью zpm "install samples-bi"). Чтобы добавить новые источники данных InterSystems IRIS, создайте новый catalog в Designer. После этого создайте новые отчеты и экспортируйте все в новую подпапку в папке отчетов. Также можно указать адрес InterSystems Server, тогда InterSystems Designer загрузит отчёт напрямую на сервер. Контейнер InterSystems Server должен иметь сетевой доступ ко всем серверам IRIS — источникам данных.


Вот и все! Теперь, если вы хотите остановить Reports, выполните: docker-compose stop. А чтобы снова запустить Reports, выполните: docker-compose up -d. После перезапуска все отчеты по-прежнему доступны.


Отладка


Все журналы хранятся в папке /opt/LogiReport/Server/logs. В случае возникновения ошибок добавьте ее в volumes, перезапустите Reports и воспроизведите ошибку.


В документации описано, как настроить уровень журналирования. Если загрузка Reports прерывается до запуска пользовательского интерфейса, измените файл LogConfig.properties, расположенный в папке bin:


logger.Engine.level = TRIVIAL
logger.DHTML.level = TRIVIAL
logger.Designer.level = TRIVIAL
logger.Event.level = TRIVIAL
logger.Error.level = TRIVIAL
logger.Access.level = TRIVIAL
logger.Manage.level = TRIVIAL
logger.Debug.level = TRIVIAL
logger.Performance.level = TRIVIAL
logger.Dump.level = TRIVIAL

API


Чтобы встроить отчеты в ваше веб-приложение, используйте Embedded API.


Другие доступные API.


Заключение


InterSystems Reports представляет собой надежное современное решение для создания отчетов. InterSystems Reports Server предоставляет конечным пользователям доступ через браузер для запуска, планирования, фильтрации и изменения отчетов. InterSystems Reports Server может быть запущен как на хосте, так и в среде Docker.


Ссылки


Комментарии (0)