2.5.4 実行時の処理
ファクトリでファクトリ・ベース・ルーティングを実装すると、Oracle Tuxedo CORBAによってオブジェクト参照が生成されます。次の例は、ファクトリ・ベース・ルーティングが実装されているときにクライアント・アプリケーションがRegistrarオブジェクトへのオブジェクト参照を取得する方法を示します。
- クライアント・アプリケーションが、
RegistrarFactoryオブジェクトを呼び出し、Registrarオブジェクトへのリファレンスをリクエストします。リクエストには、学生IDが含まれています。 RegistrarFactoryは、NVlistに学生IDを挿入します。これは、ルーティング基準として使用されます。RegistrarFactoryは、TP::create_object_reference()操作を呼び出し、Registrarインタフェース名、一意のOID、およびNVlistを渡します。- Oracle Tuxedo CORBAは、ルーティング表の内容を
NVlistの値と比較して、グループIDを判別します。 - Oracle Tuxedo CORBAは、グループに関する情報を、オブジェクト参照に挿入します。
クライアント・アプリケーションがその後、オブジェクト参照を使用してオブジェクトを呼び出すと、Oracle Tuxedo CORBAはオブジェクト参照で指定されたグループにリクエストをルーティングします。
ノート:
Process-Entityデザイン・パターンを使用する場合は、ファクトリ・ベース・ルーティングの実装は慎重に行う必要があります。オブジェクトが処理できるのは、グループのデータベースに格納されているエンティティのみです。親トピック: ファクトリ・ベース・ルーティングによるスケーリング