2.2 CORBAオブジェクトの実体化
CORBAオブジェクトを構成するデータは、データベースのレコードをベースとする場合があります。そのデータベースのレコードは、永続的なオブジェクトの状態です。このレコードは、次のように操作が行われたときにOracle TuxedoドメインのCORBAオブジェクトからアクセスできるようになります。
- サーバー・アプリケーションのファクトリでオブジェクトの参照が作成されます。オブジェクト参照には、データベースのレコードを見つける方法についての情報が含まれています。
- ファクトリで作成されたオブジェクト参照を使用し、クライアント・アプリケーションでオブジェクトに対するリクエストが発行されます。
- オブジェクトがインスタンス化されます。オブジェクトは、TPフレームワークにより
Server::create_servantメソッド(Serverオブジェクトにある)を呼び出すことによってインスタンス化されます。 - Oracle Tuxedoドメインによって、そのオブジェクトで
activate_objectオペレーションが呼び出されます。その結果、状態を格納しているレコードがメモリーに読み込まれます。
言語オブジェクトはアプリケーションの実行の境界内にのみ存在しますが、CORBAオブジェクトはプロセスやマシン・システムをまたがって存在できます。Oracle Tuxedoシステムには、オブジェクトを作成し、そのオブジェクトをアプリケーションからアクセス可能にするためのメカニズムがあります。
Oracle Tuxedo CORBAサーバー・アプリケーションのプログラマは、オブジェクトの状態を初期化するコードとオブジェクトがアクティブでなくなったときにそのオブジェクトの状態を処理するコードを記述する必要があります。オブジェクトのデータが永続ストレージにある場合、このコードには永続ストレージのデータを読み書きするオペレーションが含まれます。サーバー・アプリケーション開発の詳細は、Oracle Tuxedoオンライン・ドキュメントの『CORBAサーバー・アプリケーションの作成』を参照してください。
親トピック: CORBAオブジェクト