クライムトップ > 製品・サービス > EspressReport > APIについて
エスプレスレポート動的なWebレポートを作成・配信するJavaエンジン
チャート /レポートデザイナで、チャートやレポートのテンプレートを作成するだけではなく、使いやすいアプリケーションプログラミングインターフェイス(API)で、アプリケーション やアプレット内でチャートやレポートを作成、カスタマイズできます。Espress製品は100% Pure Javaであるため、Javaさえインストールされていれば、ほとんど修正の必要なく、任意のプラットフォーム上で実行可能です。
APIの使用方法詳細:ユーザガイド
これにより、データソースの値に基づく動的なグラフ、レポートの生成などにも柔軟に対応でき、ユーザの要望に沿った可視化を実現できます。
また、サーブレットとして、サーブレットコンテナ(Apache Web サーバ、Microsoft IIS など)やBEA WebLogic Application Server、IBM WebSphere、Netscape Application Server などの Web 対応アプリケーションサーバと統合されたサーブレットコンテナでも使用できます。
JavaサーブレットとJavaサーバページ(JSP): ユーザガイド
Espress製品にはチャート/レポートのデザイナGUIも用意されておりますが、0からJava APIを用いてチャート、レポートを作成することもできます。ただ、この場合には以下のようにデザインまで含んだ指定をコードで行う必要が有り、グラフィカルなチャート、レポートを作成する際には、とても手間がかかります。
//入力するデータファイルの形式を指定
ColInfo colInfo = new ColInfo();
colInfo.series = 1; //系列が2列目
colInfo.category = 0; //カテゴリが1列目
colInfo.value = 4; //値が6列目
//チャートの作成
QbChart chart = new QbChart
(parent, //Applet
QbChart.VIEW2D, // 2D、3Dを指定
QbChart.COL, // チャートの形式を指定
"test.dat", // データファイルを指定
colInfo, // データファイルの形式
null); // テンプレートの指定(今回は無し)
//各種デザイン設定
//チャートの色変更
Color dataColors[] = {Color.gray, Color.green, Color.orange, Color.blue};
chart.gethDataPoints().setColors(dataColors);
//チャートサイズの調整
chart.gethChartPlot().setRelativeHeight(0.7f);
chart.gethChartPlot().setRelativeWidth(0.7f);
chart.gethChartPlot().setPosition(new quadbase.util.Position(0.1f,0.1f));
chart.gethCanvas().setSize(new Dimension(800,600));
そこで、デザインやデータソースとなるファイル、データベースの指定をGUIで行い、保存したテンプレートファイルを使用します。テンプレートファイルをコードで読み込ませることで、デザインを反映し、さらにコードを大幅に短縮できます。また、読み込ませたテンプレートのデザインをコードで後から微調整することも可能です。
//チャートの作成
QbChart chart = new QbChart
(parent, //Applet
"test.tpl"); // テンプレートの指定
Espress製品は関連するJarファイルをクラスパスに追加すれば、各アプリケーションでご利用いただけます。ただ、この場合、それぞれのクライアントマシンでデータソースとなるファイルやデータベースに対してアクセスし、チャートを出力するI/O処理が実施されますので、セキュリティのためデータベースがファイアウォールの背後にある場合やクライアントマシンからの直接接続を許可していない場合には利用できません。
QbChart.setEspressManagerUsed(false);
このような場合にはEspress Managerを使用します。EspressManager はサーバ上で実行でき、クライアントマシン上にあるアプレット/アプリケーションはサーバ上の EspressManager に接続できます。
JDBC を使用してサーバからデータベースマシンに接続し、データを取得、次に、データがクライアントに渡され、チャートが生成されます。これは、クライアントマシンからのデータアクセスを保護し、すべての接続をサーバ(EspressManager を実行しているマシン)を経由させたい場合に便利です。また、このオプションを利用して、すべてのクライアントアクセスに関するログを記録することもできます。
QbChart.setEspressManagerUsed(true);
QbChart.setServerAddress("マシン名またはIPアドレス");
QbChart.setServerPortNumber(ポート番号);
※EspressReport ESの場合には、このEspress Managerを使用することを前提として構成されています。