Дизайн служб Reporting Services для веб-приложения Java

Вопрос дизайна.

Ранее в этом году я разработал веб-приложение для онлайн-тестирования. Я использовал сервлеты Java и шаблоны Freemarker и делал это полностью в соответствии с парадигмой MVC.

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

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

Я хотел бы услышать несколько идей о том, как продолжить разработку этой службы отчетов на основе основного приложения.

Какие инструменты отчетности я могу использовать? Раньше я использовал Jasper, но слышал, что BIRT тоже хорош. Киньте свои предложения.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
1 372
3

Ответы 3

Я бы порекомендовал Jasper, потому что я использовал его в прошлом и нашел его довольно простым в настройке и использовании. Его можно без особых проблем интегрировать в свое приложение.

Я слышал только хорошее о BIRT, но никогда не реализовывал его сам.

Хотя Jasper - довольно хороший выбор, если у вас достаточно продвинутые требования, такие как:

  • Поддержка эзотерических форматов
  • Родительско-дочерние отчеты
  • Диаграммы и графики

Но если вам действительно нужно отображать табличные отчеты в популярных форматах, таких как HTML / PDF / XLS, вы можете пройти долгий путь с помощью только диплайтаг, с гораздо меньшими усилиями, чем требует Jasper.

Простой табличный отчет занимает около 20 строк кода JSP с использованием displaytag, но тот же отчет требует около 500 строк XML с использованием Jasper. Я бы исследовал, может ли displaytag соответствовать вашим требованиям, прежде чем переходить к «тяжелому» решению для создания отчетов, например BIRT / Jasper.

Я бы порекомендовал искусство: http://art.sourceforge.net/. Мы пользуемся этим инструментом без проблем. Это все еще активный проект, поэтому, если вы добавите новую функцию, вы можете добавить запрос на нее.

Другие вопросы по теме