ユーザー定義拡張機能の開発

このセクションでは、WebSphere Message Broker の機能性を拡張するための、 ユーザー定義ノードまたはパーサーのインプリメント方法について詳しく説明します。

ユーザー定義ノードは C または Java で作成できます。 ユーザー定義パーサーは C のみで作成できます。 ユーザー定義ノードとユーザー定義パーサーの設計および作成について詳しくは、次のトピックを参照してください。

作成して配布するファイルは、次のとおりです。

Windows システムでは、 '.lil' というファイル・タイプの名前が付いた、 ダイナミック・リンク・ライブラリー (DLL)。

Linux システムでは、同じく '.lil' というファイル・タイプの共用オブジェクト。

UNIX システムでは、 同じく '.lil' というファイル・タイプの共用オブジェクト。

z/OS では、'.lil' というファイル・タイプの共用オブジェクト。

Java ノードの場合は、'.jar' というファイル・タイプの Java アーカイブ・ファイル (JAR)。

C ユーザー定義拡張機能は、複数のノードまたはパーサー・タイプをサポートできる、ノードまたはパーサー・ファクトリーをインプリメントします。詳細については、node and parser factory behavior を参照してください。Java ユーザーは、ノード・ファクトリーを作成する必要はありません。

システムは、ブローカーの初期化時にユーザー定義拡張機能をロードします。 その結果ユーザー定義拡張機能内の登録関数が呼び出され、これによってブローカーは、 ユーザー定義拡張機能がサポートするノードまたはパーサーを認識します。

ユーザー定義ノードの場合に限り、開発者は、ワークベンチ・プラグインの他にランタイム LIL または JAR ファイルも作成する必要があります。すると、ユーザー定義ノードはメッセージ・フロー・エディターのノード・パレットに追加されるので、新しいノードをメッセージ・フローで使用できるようになります。 詳細については、ワークベンチでのユーザー定義ノードのユーザー・インターフェース表現の作成を参照してください。このステップはユーザー定義パーサーの場合は必要ありません。

ユーザー定義拡張機能を作成する場合には、以下のような考慮すべき制約事項および要因があります。
  • C ユーザー定義ノードの Java へのインターフェースと、 それを JNI でラッピングすることは、サポートされていません。 これは、ブローカーが内部的に JVM を初期化するためで、 これがユーザー定義拡張機能インターフェースを介して使用できないからです。 JVM は、ブローカーの要件に固有のさまざまなパラメーターを指定して初期化されます。 プロセスには 1 つの JVM しかないので、 最初に JVM を初期化するユーザーがこれらのパラメーターを指定します。 ユーザー定義ノードが Java を使用し、ブローカーが最初に初期化される場合、 これらのパラメーターはユーザー定義ノードに適切でない場合があります。 ユーザー定義ノードがブローカーの開始前に JVM を作成する場合、ブローカーは正しく機能しない場合があります。
  • ユーザー定義ノードは、WebSphere Event Broker にデプロイできます。 ユーザー定義ノードを WebSphere Event Broker ユーザー用に作成する場合には、ESQL コードを評価する機能をユーザーに公開しないよう、注意する必要があります。例えば、MbSQLStatement への入力をノード・プロパティーとして公開するノードは、実際には Compute ノードをエミュレートしていることになります。WebSphere Event Broker での ESQL の使用はサポートされません。
  • ユーザー定義入力ノードは、XML、BLOB、および MQ パーサーのみをサポートします。
  • オペレーティング・システム固有の関数を使用しないようにしてください。 これにより、ソース・コードを変更することなく、さまざまなプラットフォームでユーザー定義拡張機能を処理することができます。

以下の表は、作成したいユーザー定義拡張機能のタイプごとに、読む必要があるトピックを示しています。

アクション 表示するトピック
Java サンプル・ノードのいずれかを使用する場合
  1. Java ユーザー定義ノードのコンパイル
  2. ブローカー・ドメインへのユーザー定義拡張機能のインストール
  3. ワークベンチでのユーザー定義ノードのユーザー・インターフェース表現の作成
  4. ユーザー定義ノードのテスト
C サンプル・ノードのいずれかを使用する場合
  1. C ユーザー定義拡張機能のコンパイル
  2. ブローカー・ドメインへのユーザー定義拡張機能のインストール
  3. ワークベンチでのユーザー定義ノードのユーザー・インターフェース表現の作成
  4. ユーザー定義ノードのテスト
サンプル・パーサーを使用する場合
  1. C ユーザー定義拡張機能のコンパイル
  2. ブローカー・ドメインへのユーザー定義拡張機能のインストール
ワークベンチを使用して独自の Java ノードを作成する場合
  1. Java での入力ノードの作成またはJava でのメッセージ処理ノードまたは出力ノードの作成
  2. ユーザー定義拡張機能からのイベント・ログの使用
  3. Java ユーザー定義ノードのコンパイル
  4. ユーザー定義ノードのテスト
  5. ユーザー定義拡張機能の配布
独自の C ノードを作成する場合
  1. C での入力ノードの作成またはC でのメッセージ処理ノードまたは出力ノードの作成
  2. ユーザー定義拡張機能からのイベント・ログの使用
  3. C ユーザー定義拡張機能のコンパイル
  4. ブローカー・ドメインへのユーザー定義拡張機能のインストール
  5. ワークベンチでのユーザー定義ノードのユーザー・インターフェース表現の作成
  6. ユーザー定義ノードのテスト
  7. ユーザー定義拡張機能の配布
独自のパーサーを作成する場合
  1. C でのパーサーの作成
  2. ユーザー定義拡張機能からのイベント・ログの使用
  3. C ユーザー定義拡張機能のコンパイル
  4. ブローカー・ドメインへのユーザー定義拡張機能のインストール
関連概念
ユーザー定義拡張機能
関連資料
ユーザー定義拡張機能
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
as09940_