Передача содержимого при генерации отчета JasperServer с помощью REST API

Я работаю над проектом, цель которого - заменить наш текущий генератор PDF на JasperReports Server. Планируется использовать REST/HTTP API для достижения высокого уровня абстракции между системами.

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

Мы провели довольно много исследований, и отсутствие соответствующих результатов указывает на то, что обычно JasperReports Server используется не таким образом. Входные параметры в найденных нами руководствах обычно представляют собой скалярные значения (целые числа, булевы или строки), а не сложные структуры или объекты. Кроме того, похоже, что почти в каждом примере предполагается, что вы хотите позволить JasperReports Server подключиться к базе данных.

Если можно передавать сложные структуры (например, массив карт, где некоторые элементы карты являются массивами или самими картами), то какова наилучшая практика для этого? Я не имею представления о том, как такая структура должна быть отформатирована в теле запроса. Может быть, SOAP API лучше подходит?

Если это совсем не то, как нужно проектировать решение JasperReports Server, то какие альтернативные продукты/решения подходят больше?

Заранее спасибо за любой вклад.

10
задан MaxH 20 January 2012 в 14:34
поделиться