ブローカー・スキーマ

ブローカー・スキーマは、 その中で定義されたリソース 名の固有性の有効範囲を定義するシンボル・スペースです。 リソースとは、メッセージ・フロー、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