2.5.4 実行時の処理

ファクトリでファクトリ・ベース・ルーティングを実装すると、Oracle Tuxedo CORBAによってオブジェクト参照が生成されます。次の例は、ファクトリ・ベース・ルーティングが実装されているときにクライアント・アプリケーションがRegistrarオブジェクトへのオブジェクト参照を取得する方法を示します。

  1. クライアント・アプリケーションが、RegistrarFactoryオブジェクトを呼び出し、Registrarオブジェクトへのリファレンスをリクエストします。リクエストには、学生IDが含まれています。
  2. RegistrarFactoryは、NVlistに学生IDを挿入します。これは、ルーティング基準として使用されます。
  3. RegistrarFactoryは、TP::create_object_reference()操作を呼び出し、Registrarインタフェース名、一意のOID、およびNVlistを渡します。
  4. Oracle Tuxedo CORBAは、ルーティング表の内容をNVlistの値と比較して、グループIDを判別します。
  5. Oracle Tuxedo CORBAは、グループに関する情報を、オブジェクト参照に挿入します。

クライアント・アプリケーションがその後、オブジェクト参照を使用してオブジェクトを呼び出すと、Oracle Tuxedo CORBAはオブジェクト参照で指定されたグループにリクエストをルーティングします。

ノート:

Process-Entityデザイン・パターンを使用する場合は、ファクトリ・ベース・ルーティングの実装は慎重に行う必要があります。オブジェクトが処理できるのは、グループのデータベースに格納されているエンティティのみです。