概要
テキストエディターやJava コマンドラインツールを使用してYellowfin プラグインを開発することは可能ですが、単純なHello Worldプラグインよりも複雑なものを開発する場合にはストレスが溜まるでしょう。こちらのガイドでは、開発者がYellowfinでサポートされているプラグインやウィジェット、高度な関数などを記述するために必要なIDEのセットアップにおける、重要なヒントや手順を紹介します。
プラグインを開発し、デバッグするためのツール
プラグインを開発し、デバッグするためには、いくつかのツールやファイルが必要です。
- 開発システム上にJava 8 JDK(またはそれ以降)のインストール
- Yellowfin インストール
- Yellowfin フォルダーに出力するプロジェクト
- META-INF/services ファイル
これらを配置し、作成するには、以下の手順を参照してください。
開発システムにJava 8 JDK(またはそれ以降)をインストール
Java 8 JDKはこちらからダウンロードできます。
https://www.oracle.com/jp/java/technologies/javase/javase-jdk8-downloads.html
開発作業向けにYellowfinをインストール
開発するYellowfin プラグインと互換性のあるYellowfinをインストールします。WAR ファイルを<Yellowfin インストールディレクトリ>/appserver/webapps/ROOT/に抽出できるように、このインストールは少なくとも1回開始する必要があります。
最新バージョンのYellowfinを使用することを推奨します。
Yellowfin フォルダーに出力するプロジェクトを作成
<Yellowfin インストールディレクトリ>/appserver/webapps/ROOT/classesにコンパイルしたクラスを出力するプロジェクトを作成しなくてはいけません。
3802046に従い、Eclipse内でこれを実行します。
META-INF/services ファイルの作成
META-INF/services ファイルは、Yellowfinの起動時に特定のプラグインをロードするようにYellowfinに指示するために使用できます。
- services ディレクトリに、プラグインインターフェースの完全修飾名を持つファイルを作成します。
- 分析関数を作成するには、com.hof.mi.interfaces.AnalyticalFunctionファイルの作成を推奨します。
- META-INF/services フォルダーにファイルを保存します。
- フォルダーにファイルを保存します。
これでIDEのセットアップ準備は完了です。
IDEの設定
開発環境をセットアップする場合は、以下の手順を参照してください。今回は例としてTomcatを使用しました。これはYellowfinが推奨するIDEですが、お好みのIDEを使用しても、次の手順に大まかに対応できます。
- EE開発者のためにEclipseをダウンロードし、設定します。
- Eclipseのインストールにバンドルされていない場合は、Tomcatプラグインをインストールします。
- 開発に使用するYellowfinのバージョンをインストールします。注意:生産性向上のために、最新バージョンの使用を推奨します。
- WARファイルを取得するために、Yellowfinを起動します。
プラグインプロジェクトの作成
Javaプラグインに新規プロジェクトを作成するには、以下の手順に従います。
- Eclipseを起動して、新規Javaプロジェクトを作成します。
- プロジェクト名を入力し、使用するYellowfinのバージョンと互換性のあるJREを選択します。
- 「次へ」をクリックし、「デフォルト出力フォルダー」を「<プロジェクト名>/ROOT/WEB-INF/classes」に変更します。
- 「完了」をクリックします。
- インストールしたYellowfinインスタンスからファイルをインポートします。
- プロジェクトを右クリックし、「インポート」を選択します。
- 「ファイル・システム」を選択し、「次へ」をクリックします。
- Yellowfinインストールディレクトリ内の「appserver/webapps/ROOT」に移動します。「ROOT」を選択し、「Open」をクリックします。
- ROOT配下のすべてを選択し、「拡張」項目で「Create links in workspace(ワークスペース内にリンクを作成)」チェックボックスにチェックを入れます。
- 「完了」をクリックします。インストールしたYellowfinからのファイルが、こちらのプロジェクトにリンクされます。
- プロジェクトを右クリックし、「インポート」を選択します。
プロジェクトの構成
プロジェクトを構成するには、以下の手順に従います。
- プロジェクトを右クリックし、メニューから「ビルド・パス」>「ビルド・パスの構成」を選択します。表示される画面で「ライブラリー」をクリックします。
- 「JARの追加」ボタンをクリックし、検索バーに「i4」と入力します。検索結果のプラグインプロジェクトから、「i4-core.jar」と「i4-mi.jar」を選択します。
- 「OK」をクリックして保存し、ビルド・パスの構成ウィンドウで「適用して閉じる」をクリックします。
- srcフォルダ配下に、「META-INF」という名前で新規フォルダーを作成します。そのフォルダ配下に「services」という名前の新規フォルダーを作成します。
開発するプラグインに応じて、servicesディレクトリにプラグインインターフェイスの完全修飾名を含むファイルを作成します。利用可能なすべてのプラグインオプションについては、以下の表を参照してください。
Yellowfinプラグイン インターフェイス 説明 トランスフォーメーションステップ com.hof.mi.etl.step.ETLStep データトランスフォーメーションモジュールで使用するステップ 高度な関数 com.hof.mi.interfaces.AnalyticalFunction レポートで使用する高度な関数 データの型変換 com.hof.mi.interfaces.Converter ビューレベル、データトランスフォーメーションモジュールで行うデータ型の変換 カスタムフォーマッター com.hof.mi.interfaces.CustomFormatter レポートで使用するカスタムフォーマット データプロファイラー com.hof.mi.interfaces.DataSuggestionPlugin フィールドのデータのプロファイル。実装された提案が適用可能かどうかを判断する機能が含まれています。
サードパーティ製コネクター com.hof.mi.thirdparty.interfaces.AbstractDataSource 外部APIデータソースとの接続を確立するコネクター キャンバスウィジェット com.hof.mi.widgetcanvas.interfaces.CanvasObjectTemplate ダッシュボード、ストーリーボード、レポートデザインモジュールのキャンバスで使用するカスタムウィジェット ソースプラットフォーム com.hof.sources.SourcePlatform JDBC、JNDI、OLAPなど、ソースタイプを定義 - 例えば、データトランスフォーメーションを作成している場合、ファイル名は「com.hof.mi.etl.step.ETLStep」になります。
- 例えば、データトランスフォーメーションを作成している場合、ファイル名は「com.hof.mi.etl.step.ETLStep」になります。
- 上記のインターフェイスのひとつを実装して、プラグインclassを作成します。インターフェイスに対応するサービスファイルに、完全修飾class名を追加しなくてはいけません。
そのため、今回のデータトランスフォーメーションステップの例では、「META-INF/services/com.hof.etl.step.ETLStep」に完全修飾class名を追加します。
必要に応じて、この行の下にさらにトランスフォーメーションステップを追加することができます。
Tomcatの構成
次は、Tomcatの構成をセットアップします。
- 「設定」アイコンをクリックし、「Tomcat」項目へ移動します。
- 「Tomcat ホーム」を「<Yellowfinインストールディレクトリ>/appserver」に、「コンテキスト・ディレクトリー」を「 <Yellowfinインストールディレクトリ>/appserver/conf/Catalina/localhost」に設定します。
- 左側のメニューでTomcat項目を展開し、「拡張」をクリックします。「Tomcat classpath」にプラグインプロジェクトを追加します。
- 必要に応じて、(左側のメニュー「JVMの設定」から)JVM設定を調整します。ヒント:こちらを使用することで、Tomcatで利用できるメモリーを増やすことができます。
- 左側のメニューで「ソース・パス」を選択し、プラグインプロジェクトを追加します。
- 「適用して閉じる」をクリックします。
- ツールバーのアイコンを使用して、EclipseからTomcatを起動します。
- Yellowfinでプラグインを利用できるようになります。
以下の場合を除き、コードへの変更は即座に反映されます。
- メソッドのシグネチャが変更された場合
- classに新しいメソッド/メンバーが追加された場合
- プラグインパッケージに新しいclassが追加された場合
これらの場合は、変更を反映するためにTomcatを再起動しなくてはいけません。
プラグインのパッケージ化
プラグインの作成が完了したら、すべての依存関係を含み、これをパッケージ化します。ファイルの拡張子は、Yellowfinでサポートされている特定のファイル形式でなくてはいけません。
- プロジェクト名を右クリックし、「エクスポート」をクリックし、「Java」項目から「JARファイル」を選択します。
- エクスポートするパッケージのみを選択し、それ以外は選択しないでください。
- プロジェクトに依存するJARがある場合は、それらすべてとプラグインJARをひとつのディレクトリに格納し、ひとつのアーカイブに圧縮して拡張子に「yfp」と付けます。
デバッグ
EclipseのTomcatプラグインは、Tomcatをデバッグモードで起動するため、簡単にデバッグをすることができます。ブレークポイントをコードに追加し、それらがすべて有効であることを確認します。