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