通常のメソッドの引数としてクライアントアプリケーションからサーバアプリケーションに情報を渡すのではなく、あらかじめ、Contextと呼ばれるオブジェクトにサーバアプリケーションに渡す情報を設定しておくことにより、メソッドの起動時に無条件に情報を伝播してくれます。
Contextオブジェクトは、以下の3種類の情報を管理します。
複数のプロパティをグループ分けするための名前
情報を識別するための名前
実際の情報
プリンタを例にとると、プリンタがContext名であり、プリンタの紙サイズ,プリンタの種類などをプロパティ名に対応させることができます。また、Contextオブジェクトは以下の2種類に大別できます。
種類 | 内容 | プロパティ名 |
---|---|---|
システムデフォルト | システムであらかじめ定義されているContext | ベンダー依存 |
ユーザ定義 | ユーザ定義のContext。ChildContextはシステムデフォルトContextの子供として管理されます | 生成時に指定します |
CORBAでは、システムデフォルトのプロパティ名の例として、_USER(ユーザ)、_GROUP(グループ)、_SYSTEM(システム)を上げているがベンダー依存です。CORBAサービスでは、システムデフォルトのContextを定義していません。環境変数の検索は、ChildContext->システムデフォルトの順に行われます。