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

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

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

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

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

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

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

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

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

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

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

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

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

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, 2005 Last updated: 11/07/2005
as09940_