2.2 CORBAオブジェクトの実体化

CORBAオブジェクトを構成するデータは、データベースのレコードをベースとする場合があります。そのデータベースのレコードは、永続的なオブジェクトの状態です。このレコードは、次のように操作が行われたときにOracle TuxedoドメインのCORBAオブジェクトからアクセスできるようになります。

  1. サーバー・アプリケーションのファクトリでオブジェクトの参照が作成されます。オブジェクト参照には、データベースのレコードを見つける方法についての情報が含まれています。
  2. ファクトリで作成されたオブジェクト参照を使用し、クライアント・アプリケーションでオブジェクトに対するリクエストが発行されます。
  3. オブジェクトがインスタンス化されます。オブジェクトは、TPフレームワークによりServer::create_servantメソッド(Serverオブジェクトにある)を呼び出すことによってインスタンス化されます。
  4. Oracle Tuxedoドメインによって、そのオブジェクトでactivate_objectオペレーションが呼び出されます。その結果、状態を格納しているレコードがメモリーに読み込まれます。

言語オブジェクトはアプリケーションの実行の境界内にのみ存在しますが、CORBAオブジェクトはプロセスやマシン・システムをまたがって存在できます。Oracle Tuxedoシステムには、オブジェクトを作成し、そのオブジェクトをアプリケーションからアクセス可能にするためのメカニズムがあります。

Oracle Tuxedo CORBAサーバー・アプリケーションのプログラマは、オブジェクトの状態を初期化するコードとオブジェクトがアクティブでなくなったときにそのオブジェクトの状態を処理するコードを記述する必要があります。オブジェクトのデータが永続ストレージにある場合、このコードには永続ストレージのデータを読み書きするオペレーションが含まれます。サーバー・アプリケーション開発の詳細は、Oracle Tuxedoオンライン・ドキュメントの『CORBAサーバー・アプリケーションの作成』を参照してください。