Формулировка проблемы: в рамках одного из
реализуемых проектов по интеграции платформы
ARTA Synergy
со сторонними модулями требуется
возможность генерировать пользовательские отчёты
ARTA Synergy
(отчёты, основанные на применении
технологии JasperReports
) с помощью
API
. Самостоятельная генерация отчётов внешним
модулем системы не подходит, так как подсистема отчётов
ARTA Synergy
имеет полный доступ к базе данных
ARTA Synergy
, чего внешним модулям разрешать
нельзя.
Решение: необходимо реализовать набор
API
для работы с пользовательскими отчётами
ARTA Synergy
, позволяющий выполнять следующие
действия:
Получение списка всех отчётов, доступных данному пользователю для генерации вместе с их параметрами.
Передача отчёту параметров, необходимых для генерации.
Генерация отчёта с именем и форматом, указанным в параметре «маска» этого отчёта, а также с возможностью явным образом указать имя и формат выходного файла.
Передача выходного файла отчёта непосредственно приложению,
вызвавшему API
, либо сохранение этого файла в
хранилище ARTA Synergy
(с учётом прав того
пользователя, который вызвал соответствующий метод).
Если генерация отчёта по какой-либо причине невозможна (нет доступа,
переданы не все либо неверные параметры и т.п.) вызывающий
API
должен быть корректно проинформирован об этом
с указанием точной причины возникшей ошибки.
Вышеописанный набор API
должен быть
задокументирован в «Справочнике API-функций» и снабжён примерами
использования.