私も最近似たような状況になりました。私は Pentaho BI サーバーを評価したので、私の発言はそれに基づいています。
Java で実装されたカスタム システムの利点:
- ユーザーのニーズに合わせて正確にカスタマイズする可能性
- スター スキーマは不要(Pentaho アナリティクスはスター スキーマでのみ機能します! Pentaho レポートはスター スキーマを必要とせず、単純な SQL ステートメントで機能します)
- スター スキーマを必要としないため、システムの残りの部分と簡単に統合できます。つまり、既存のデータ ソースを再利用できるということです。また、UI を自作することで、他のエンタープライズ インフラストラクチャ (Web ポータルなど) に簡単に統合できます。
- 速度: カスタム SQL チューニング、データセットに対して高速なカスタム UI など。
既製のソリューション (例: Pentaho BI Server) を使用する利点:
- 初期設定後は、技術者以外のユーザーでも、新しい分析を作成したり、既存の分析を変更したりできます。Excel、PDFなどへの簡単なエクスポート。
- Pentaho には、多くのサポート ツール (データをインポートする ETL ツール、定期的にレポートを作成するスケジューラなど) が付属しています。これらすべてを再実装するには、莫大な費用がかかります。また、新しい Pentaho サーバーにはダッシュボード機能があります。つまり、新しいデータが入ってくると更新されるチャートとテーブルを画面に表示できます。
- 機能に満足でき、追加のカスタマイズが不要な場合、展開時間は新しいソフトウェアの開発にかかる時間のほんの一部です。
Pentaho には広範な Java ベースの API があり、完全に Java コードでレポートを作成できます。コアのほとんどはオープン ソースです。知る限り、エンタープライズ サーバー (ダッシュボード、分析ビューなど) にある部分のみがクローズド ソースです。
Pentaho の場合、私が知る限り、次の API があります。
- レポートの作成と変更、さまざまな形式でのレポートの生成
- スケジューラにアクセスする
- ダッシュボードのカスタム ウィジェットを作成する
- OLAP エンジンにアクセスする (例: MDX 式を作成して結果を取得する)
- BI サーバーは Spring コンテナーであるため、多かれ少なかれ任意の Spring アプリとして統合できます (たとえば、カスタム エンタープライズ セキュリティの Spring セキュリティ設定とプラグインにアクセスできます)。
API ではありませんが、Pentaho の Web ベースのレポート ビューアを他の Web アプリケーションに統合する方法があります (最も簡単な方法は、IFRAME を用意し、URL パラメータを使用してレポートをカスタマイズすることです)。