私は現在のPDFジェネレータをJasperReports Serverに置き換えることを目指すプロジェクトに取り組んでいます。計画は、REST/HTTP APIを使用してシステム間の抽象度を高めます。REST APIを使用してJasperServerレポートを生成する際にコンテンツを渡す
最適なのは、JasperReports Serverがデータベースからデータをプルすることは望ましくありません。これは、呼び出し側アプリケーションのアーキテクチャで既存のロギングと認可をバイパスするためです。代わりに、呼び出し側のアプリケーションでコンテンツを抽出してから、そのコンテンツをJasperReports Serverに渡したいと考えています。
私たちはかなりの調査を行いました。関連する結果がないことは、これが典型的にJasperReports Serverを使用する方法ではないことを示しています。私たちが見つけたチュートリアルの入力パラメータは、通常はスカラー値(整数、ブール値または文字列)であり、複雑な構造やオブジェクトではありません。さらに、サンプルごとに、JasperReportsサーバーがデータベースに接続できるようにすることを想定しているようです。
複雑な構造(マップの配列など、いくつかのマップ要素が配列またはマップである場合)を渡すことができる場合は、これを行うためのベストプラクティスは何ですか?どのようにそのような構造体をリクエストボディにフォーマットするべきか分かりません。 SOAP APIはより適していますか?
JasperReports Serverソリューションを設計する方法がまったくない場合、どのような代替製品/ソリューションが適していますか?
事前にお問い合わせいただきありがとうございます。
レポートのテンプレート(JRXML)ファイルを取得するために 'get'演算子を使用できます。その後、必要なものすべてをレポートに渡すことができます(JasperReports APIの助けを借りて)。たとえば、Beanをデータソースとして渡すことも、Mapをパラメータとして渡すこともできます。 –
あなたの答えはありがとうございます。私が下に書いたように、私は別のアプローチをとることに決めました。 HTTP APIを使用してJRXMLをフェッチする際のポイントがわかりません。 – MaxH