CORBA ノード・サンプルについて

CORBA ノード・サンプルは、1 つのメッセージ・フローに複数のプロセス・フローが含まれている構成になっています。これらのプロセス・フローには、以下が含まれます。

以下の総括ダイアグラムは、WebSphere Message Broker 上のメッセージ・フロー、ネーミング・サービス、 および CORBA サーバー Java アプリケーションの間の関係を示しています。

Message Broker、ネーミング・サービス、および COBRA サーバーの間の関係を示す図。

  1. 在庫制御管理システムは、CORBA サーバー Java アプリケーションとしてホストされます。 そのサーバー・アプリケーションは、CORBA オブジェクトを作成し、そのオブジェクトを 1 つの参照にバインドし、そのオブジェクト参照をネーミング・サービスに入れます。
  2. デプロイメント時に、CORBARequest ノードは、そのネーミング・サービスにアクセスして、オブジェクト参照を取得します。 ネーミング・サービスは、CORBA サーバー・アプリケーションがオブジェクト参照を入れるために使用するメカニズムです。 ネーミング・サービスは、特定のホスト名およびポート番号で開始されます。
  3. StockWarehouseClient メッセージ・フローは、オブジェクト参照を使用し、CORBA サーバーでそのオブジェクトに対する特定の操作を呼び出すことによって、CORBA サーバー Java アプリケーションに要求を送り出します。

初期メッセージ要求のルーティング

このプロセス・フローは、以下のノードから構成されます。

初期メッセージを要求するプロセスのフロー・ダイアグラム

ブローカーは、WebSphere MQ キューからメッセージ要求を受け取ります。

Compute ノードは、以下のことを行います。

  1. ローカル環境内の送付先の正確なラベル名を指定することによって、メッセージのルーティングをセットアップします。
  2. メッセージをローカル環境にコピーします。

新しい在庫項目を作成するプロセス

このプロセス・フローは、以下のノードから構成されます。

新しい在庫項目の作成プロセスのフロー・ダイアグラム

Label ノードは、経路指定されたメッセージ要求を受け取ります。 CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの createNewStockItem 操作を呼び出して、応答を戻します。

Compute ノードは、応答データをローカル環境にコピーして、次の CORBA 要求の入力パラメーターをセットアップします。次の CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの setPrice 操作を呼び出して、応答を戻します。

最後の Compute ノードは、応答データをローカル環境にコピーしてから、CORBARequest ノードから累積した応答をすべて、WebSphere MQ キューに伝搬するメッセージ本文にコピーします。

CORBA サーバー Java アプリケーションからスローされるユーザー定義例外は、CORBARequest ノードの Error ターミナルを経由して他の WebSphere MQ キューに伝搬します。

在庫量を増やすプロセス

このプロセス・フローは、以下のノードから構成されます。

在庫量を増やすプロセスのフロー・ダイアグラム

Label ノードは、経路指定されたメッセージ要求を受け取ります。 CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの addStock 操作を呼び出して、WebSphere MQ キューに伝搬する応答を返します。

CORBA サーバー Java アプリケーションからスローされるユーザー定義例外は、CORBARequest ノードの Error ターミナルを経由して他の WebSphere MQ キューに伝搬します。

在庫項目の詳細を取得するプロセス

このプロセス・フローは、以下のノードから構成されます。

在庫項目の詳細を取得するプロセスのフロー・ダイアグラム

Label ノードは、経路指定されたメッセージ要求を受け取ります。 CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの getSKU 操作を呼び出して、応答を戻します。

Compute ノードは、応答データをローカル環境にコピーして、次の CORBA 要求の入力パラメーターをセットアップします。次の CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの getPrice 操作を呼び出して、応答を戻します。

もう 1 つの Compute ノードは、応答データをローカル環境にコピーして、次の CORBA 要求の入力パラメーターをセットアップします。次の CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの getStockLevel 操作を呼び出して、応答を戻します。

最後の Compute ノードは、応答データをローカル環境にコピーしてから、CORBARequest ノードから累積した応答をすべて、WebSphere MQ キューに伝搬するメッセージ本文にコピーします。

CORBA サーバー Java アプリケーションからスローされるユーザー定義例外は、CORBARequest ノードの Error ターミナルを経由して他の WebSphere MQ キューに伝搬します。

在庫量を削減するプロセス

このプロセス・フローは、以下のノードから構成されます。

在庫量を削減するプロセスのフロー・ダイアグラム

Label ノードは、経路指定されたメッセージ要求を受け取ります。 CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの reduceStock 操作を呼び出して、WebSphere MQ キューに伝搬する応答を返します。

CORBA サーバー Java アプリケーションからスローされるユーザー定義例外は、CORBARequest ノードの Error ターミナルを経由して他の WebSphere MQ キューに伝搬します。

在庫項目を削除するプロセス

このプロセス・フローは、以下のノードから構成されます。

在庫項目を削除するプロセスのフロー・ダイアグラム

Label ノードは、経路指定されたメッセージ要求を受け取ります。 CORBARequest ノードは、入力パラメーターを渡す CORBA サーバー・アプリケーションの deleteStockItem 操作を呼び出して、WebSphere MQ キューに伝搬する応答を返します。

CORBA サーバー Java アプリケーションからスローされるユーザー定義例外は、CORBARequest ノードの Error ターミナルを経由して他の WebSphere MQ キューに伝搬します。

サンプルのホームに戻る