ブローカー・スキーマ

ブローカー・スキーマは、その中で定義されたリソース 名の固有性の有効範囲を定義するシンボル・スペースです。リソースとは、メッセージ・フロー、ESQL ファイル、およびマッピング・ファイルです。

ブローカー・スキーマは、プロジェクト・ソース・ディレクトリーからフロー名への相対パスとして定義されます。最初にメッセージ・フロー・プロジェクトを作成するとき、(default) という名前のデフォルトのブローカー・スキーマがプロジェクト内に作成されます。

新規のブローカー・スキーマを作成して、同じメッセージ・フロー・プロジェクト内に別のシンボル・スペースを設定することもできます。ブローカー・スキーマはプロジェクト内のフォルダーまたはサブディレクトリーとしてインプリメントされ、そのプロジェクト内に組織を形成します。複数のプロジェクトに渡って 1 つのブローカー・スキーマの有効範囲を広げ、アプリケーションの組と関連したすべてのリソースに有効範囲を提供するアプリケーションのシンボル・スペースを作成するためにプロジェクト参照を使用することもできます。

ブローカー・スキーマ名は、先頭がユニコード文字でその後に 0 個以上のユニコード文字または数字、および下線が続く文字ストリングでなければなりません。Stock.Common のように、ピリオドを使用して名前を構造化することもできます。スキーマを表すためにディレクトリーがプロジェクト・ディレクトリー内に作成され、スキーマがピリオドによって構造化されている場合にはさらにサブディレクトリーが定義されます。例えば、ブローカー・スキーマが Stock.Common の場合、メッセージ・フロー・プロジェクト・ディレクトリー内にディレクトリー Stock が作成され、さらにその中にディレクトリー Common が作成されます。

プロジェクト内のデフォルト・ブローカー・スキーマ内にリソース (メッセージ・フローなど) を作成した場合、そのリソースに関連した 1 つ以上のファイルがプロジェクトを表すディレクトリー内に作成されます。他のブローカー・スキーマ内にリソースを作成した場合、ファイルはスキーマ・ディレクトリー内に作成されます。

例えば、メッセージ・フロー・プロジェクト Project1 内のデフォルト・スキーマ内にメッセージ・フロー Update を作成した場合、それに関連したファイルは Project1 ディレクトリーに保管されます。プロジェクト Project1 内の Stock.Common ブローカー・スキーマ内に他のメッセージ・フローを作成した場合、それに関連するファイルはディレクトリー Project1¥Stock¥Common に作成されます。

各ブローカー・スキーマは固有の名前範囲を表すので、2 つのブローカー・スキーマ内に同じ名前を共有する 2 つのメッセージ・フローを作成できます。ブローカー・スキーマは、これら 2 つのメッセージ・フローが別個のリソースとして認識されることを保証します。これら 2 つのメッセージ・フローは、名前は同じですがそれぞれ固有のものとして扱われます。

メッセージ・フローをプロジェクトからプロジェクトに移動する場合、ブローカー・スキーマを保存すれば移動元プロジェクト内のメッセージ・フローを使い続けることができます。これを行う場合、移動元プロジェクトの個別プロジェクトのリストに移動先プロジェクトを追加してそのリストを更新する必要があります。しかしブローカー・スキーマを保存しない場合は、スキーマ名は完全修飾メッセージ・フロー名の一部なので、そのフローは別のフローとなって他のプロジェクトから認識されなくなります。これによりリンクが中断されるので、それを手動で訂正する必要が生じます。メッセージ・フローを移動した後にエラーを訂正することの詳細については、メッセージ・フローの移動を参照してください。

ファイル・システム内の関連ファイルを移動させる方法でリソースの移動を行わないでください。リソースを移動させるときは、確実に新しい組織を反映するようにすべての参照が修正されるようにワークベンチを使用してください。

ブローカー・スキーマ内に関数、プロシージャー、および定数を作成する際、以下の有効範囲と再利用条件が適用されます。

関数
  • 関数はローカルに再利用でき、同じスキーマ内のモジュール有効範囲のサブルーチンまたはマッピングによって呼び出されます。
  • 関数はグローバルに再利用でき、同じまたは別のプロジェクトで定義されたすべてのスキーマ内の ESQL またはマッピング・ファイル内の他の関数またはプロシージャーによって呼び出されます。
プロシージャー
  • プロシージャーはローカルに再利用でき、同じスキーマ内の ESQL ファイルのモジュール有効範囲のサブルーチンから呼び出されます。
  • プロシージャーはグローバルに再利用でき、同じまたは別のプロジェクトで定義されたすべてのスキーマ内の ESQL ファイル内の他の関数またはプロシージャーによって呼び出されます。

プロシージャーはマッピング・ファイルでは使用できません。

定数
  • 定数はローカルに再利用でき、同じブローカー・スキーマ内の ESQL またはマッピング・ファイルで定義されている場所ならどこででも使用できます。
  • 定数をグローバルに再利用することはできません。別のスキーマで宣言されている定数を使用することはできません。

関数またはプロシージャーをグローバルに再利用したい場合は、以下のようにします。

関連概念
名前によるリンク
メッセージ・フローの概要
メッセージ・マッピングの概要
ESQL の概要
関連タスク
メッセージ・フローの作成
ブローカー・スキーマの作成
メッセージ・マッピングの開発
ESQL の開発
関連資料
ESQL エディター
組み込みノード
ESQL 参照
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak01100_