Java Desktop System Configuration Manager Release 1.1 開発者ガイド

第 5 章 設定の概念

このマニュアルで紹介する各種ツリーは、管理者ガイドに含まれているものとは異なります。Configuration Manager を使用するうえで、設定ツリーと設定ポリシーツリーという 2 種類のツリーに関する知識は不要のため、管理者ガイドでは設定ツリーについては触れていません。

階層

クライアント側から見ると、アプリケーションは 3 つの別々のデータソース (階層) から設定データを取得します。これらは、デフォルト階層、ユーザー階層、およびポリシー階層です。

ユーザー階層とデフォルト階層は、クライアントのアプリケーションが現在使用している既存のデータソースです。デフォルト階層はアプリケーションと一緒に配備され、そのライフサイクル中、ほとんど変わることはありません。これはアプリケーションと一緒にローカルに格納されています。ユーザー階層は、特定のユーザーがアプリケーションの設定に加えた変更を保存します。これはローカルまたは共有の場所に格納されています。

ポリシー階層は、Configuration Manager で管理する設定オプションが含まれている設定リポジトリにまとめて格納されています。これらの設定はサーバーでは、組織、役割、ユーザー、ホストなどのエンティティに関連付けられています。特定のユーザーやホストに代わってConfiguration Manager がこれらにアクセスし、ユーザーやホストには読み取り専用になっています。

Configuration Manager は、ポリシー階層の設定オプションのみ読み取りと書き込みができます。デフォルト階層とユーザー階層の内容にはアクセスできません。すべての階層の値の取得と組み合わせは、クライアントのアプリケーション設定システムが担当します。 「マージ」を参照してください。

ツリー

Configuration Manager は「ツリー」と呼ばれる 4 つの階層構造を扱います。Configuration Manager の仕組みを理解するには、これらのツリーを区別することが重要です。

最初のツリーは「組織ツリー」 ( 図 5–1 のグレーの部分で、組織単位間の関係を表しています。このツリーの最初のレベルは組織自体を表します。その次のレベルは、たとえば部門や課を表すことができます。最後のレベルは、これらの部署のメンバーを表すことができます。

2 番目のツリーは「ドメインツリー」で、ドメインやホストなどのネットワーク要素間の関係を表しています。このツリーの最初のレベルは、ネットワーク全体を表します。その次のレベルは、たとえば各種サブネットを表し、最後のレベルはこれらのサブネット内の実際のホストを表します。

Configuration Manager では、この 2 つのツリーは現在、企業構造の典型的なリポジトリである LDAP サーバーの内容を解釈して取得されます。LDAP でツリー内の各場所は「エンティティ」と呼ばれます。LDAP サーバーのエンティティは、Configuration Manager が認識するエンティティ、すなわち「組織」、「役割」、「ユーザー」、「ドメイン」、「ホスト」にマッピングされます。

3 番目のツリーは「設定ツリー」で、図 5–1 の青で表した部分です。設定ツリーは、バックエンドの設定オプションを階層的にグループ化します。設定ツリーのトップレベルはコンポーネントです。コンポーネントは、1 つのソフトウェアコンポーネントを設定する設定オプションで構成されています。コンポーネントの下にある要素はすべてノードかプロパティです。ノードにはノードまたはプロパティを含むことができます。プロパティには設定オプションが含まれています。設定オプションのそれぞれはパスで表されます。たとえば、org.openoffice.Office.Common/ExternalMailer/Program は、「Common」コンポーネントの下の「External Mailer」ノードにある「Program」設定オプションを表します。

組織ツリーとドメインツリーの各エンティティは独自の設定ツリーを持つことができるため、「ツリーのツリー」が 2 つ になります (設定ツリーが含まれた組織ツリーと、設定ツリーが含まれたドメインツリー)。

4 番目のツリーは「設定ポリシーツリー」で、図 5–1 の黄色の部分です。設定ポリシーツリーは、参照や編集がしやすいように設定オプションを視覚的に分類するために使用します。これは、設定ツリーの階層から完全に独立した階層を定義して行います。設定ポリシーツリーに表示される実際の値は、設定ツリーの設定オプションの場所を参照して取得されます。図 5–1 の矢印を参照してください。このようにすると、GUI とバックエンドのデータの異なる設計要件を分離できます。たとえば、設定オプションの位置はバックエンドよりも GUI の方が早く変わります。

設定ポリシーツリーのトップレベルにはアプリケーションがあり、次のレベルはそのアプリケーションの各種モジュールやサブモジュール、最後のレベルは実際の設定オプションに対応しています。多数のオプションを処理する StarSuiteTMMozilla のような設定システムでも同様に表されます。たとえば、 HomeUrl オプションは「設定」ダイアログの 「Mozilla/Navigator/ホームページ」 にあります。


注 –

このマニュアルで紹介する各種ツリーは、『Java Desktop System Configuration Manager Release 1.1 管理ガイド』の内容と異なります。Configuration Manager を使用するうえで、設定ツリーと設定ポリシーツリーという 2 種類のツリーに関する知識は不要のため、管理者ガイドでは設定ツリーについては触れていません。


図 5–1 「ツリーのツリー」

ツリーのツリー

マージ

特定のエンティティに最終的に使用される設定オプションは、そのエンティティの設定オプションとその親エンティティの設定オプションをクライアント側でマージして決定されます。たとえば、あるユーザーの設定は、そのユーザーに割り当てられているポリシーと、ユーザーが所属する組織に割り当てられているポリシーを考慮に入れます。マージは継承によって実現します。すなわち、ユーザーは組織構造のユーザーレベルで指定されている設定を継承します。このプロセスについては、図 5–2 を参照してください。「marketing」組織の設定をそのメンバーの 1 人である 「jclarke」が継承する仕組みを表しています。ユーザー「jclarke」の設定オプションが、継承された設定の一部を上書きします。

図 5–2 マージ

マージの例

設定オプションがポリシー階層にマージされる場合と同様に、3 つの階層がマージされて、最終的な設定オプション一式が形成されます。ユーザー階層はポリシー階層より優先され、ポリシー階層はデフォルト階層より優先されます。マージプロセス中にユーザー階層の設定オプションが考慮されないように、ポリシー階層で設定オプションをマークすることが可能です。このようにすると、Configuration Manager で管理者が指定した設定をユーザーが自分のクライアントマシンで上書きできないようになります。これを「保護」と呼んでいます。

ユーザーベースとホストベースの設定

組織ツリーとドメインツリーの操作の概念は同じです。主な違いは、組織ツリーはユーザーで構成され、ドメインツリーはホストで構成されている点です。ユーザーとホストを別々のツリーに配置することによって、Configuration Manager はユーザーベースとホストベースの設定を提供できます。

クライアント側では、ユーザーベースの設定オプションはユーザー名に基づいて組織ツリーからフェッチされます。ホストベースの設定オプションは、ユーザーが操作しているホストの IP アドレスまたはホスト名に基づいてドメインツリーからフェッチされます。ユーザー設定はホスト設定のあとでマージされます。すなわち、ユーザーの設定がホストの設定より優先されます。たとえば、この 2 種類の設定を提供すると、ローミングユーザーはユーザーベースの設定 1 つを使用できるだけでなく、作業中のホストに最適なプロキシ設定を利用することもできます。