前章でも説明したように、差異の検出の論理的な拡張を対処として行います。プロパティ値を同期化しますか。Application Configuration Consoleの値と、外部リソースの値のどちらを優先しますか。あるいは、信頼できる数値であった過去のある時点に戻しますか。
この章ではこれらのオプションとその実装方法について説明します。
注意: この章のタスクは、Application Configuration Consoleのクライアントにすでにログインしていることを前提としています。 |
プロビジョニングは、ビジネス・インフラストラクチャを形成するターゲット・リソースに対して、Application Configuration Consoleからアセットおよびその構成を提供することです。つまり、アセットをApplication Configuration Consoleに一度ロードすると、その内部でのアセットの管理をコミットしたことになり、アプリケーションの境界外で行われた変更は保証されず上書きされるものと想定されます。
第5章では、config.xml
とその外部リソースとの比較で差異が検出されました。この説明の目的に対し、Application Configuration Consoleのバージョンが正しいと想定されるため、このバージョンをプロビジョニングします。
プロビジョニング操作の開始には様々な方法があります。1つの方法のプロセスを次に示します。
ナビゲータ・ビューで、「ポータル・ライフサイクル・ビュー」→「開発」→「アプリケーション・サーバー」を開きます。
「Server1」を右クリックして、ポップアップ・メニューから「同期化」→「同期化ビュー」を選択します。
同期化オプションのダイアログが開くので、デフォルトの選択(「送信の変更を表示」)を確定して「OK」をクリックします。
同期化ビューが開き、「Server1」アセット内の1つの構成(config.xml)がその外部リソースと異なることが示されます。
アセット(「Server1」)を右クリックして、ポップアップ・メニューから「プロビジョニング」を選択します。「プロビジョニング」ダイアログが開きます。ダイアログに関するコメントは次のとおりです。
「タグ」および「コメント」はオプションです。コメントは記入しましたが、タグは記入していません。
後で実行するのではなく、すぐに実行する方を選びます。
「すべての構成を含む」を選択しなかったため、変更された構成のみがプロビジョニングされます。
「OK」をクリックして、プロビジョニング操作を実行します。少しすると、操作の成功(または失敗)を示すメッセージが表示されます。
プロビジョニングについて次の点に注意してください。
同期化ビューを表示する際、リソース仕様が再度評価されて、ファイルに対して追加または削除された変更が抽出されます。
ナビゲータ・ビューのコンテキスト(右クリック)・メニューからプロビジョニングすることもできます。同じ「プロビジョニング」ダイアログが開きます。
外部リソースが最初のロードまたは最後の更新時から変更されている場合のため、Application Configuration Consoleには保護機能が組み込まれています(「競合時に停止」)。これによって差異を調査し、プロビジョニングの進行に関して情報に基づいた決定ができます。
プロビジョニングは後で実行するようにスケジューリングし、発生頻度を1回のみまたは繰返しのどちらかにできます。
Application Configuration Consoleは、sudoおよびPowerBroker環境で動作してアクセス制御および監査証跡機能を提供する、セキュア・プロビジョニング形式をサポートしています。
マスター・アセットをプロビジョニングする際、関連する下位アセットの一部またはすべてを同時にプロビジョニングするオプションを選択できます(「プロビジョニング」ダイアログはこのオプションを表示するために変化します)。
更新は、アセットおよび構成を外部リソースからApplication Configuration Consoleに抽出します。これはアセットの作成で最初に行うことであるため、更新を実行する際は、Application Configuration Consoleデータを現在の外部リソースで上書きします。これは、アクティビティの監視にはApplication Configuration Consoleを使用しますが、変更はアプリケーション外部で実施することを意味しています。
前述したApplication Configuration Consoleのアセット間の比較では、httpd1.confファイル間でタイムアウト・プロパティ値の差異が検出されました。どちらが正しいか定かではないため、外部リソースから値を抽出することにしました。
ナビゲータ・ビューで、「ポータル・ライフサイクル・ビュー」→「開発」→「Webサーバー」を開きます。
「Aeneas」を右クリックして、ポップアップ・メニューから「同期化」→「更新」を選択します。「更新」ダイアログが開きます。
ダイアログはきわめてシンプルです。「タグ」および「コメント」はオプションです。必要に応じて、選択した「コンテナ」を拡張して個々の構成を選択することもできます(ここでは表示どおりにしておきます)。「OK」をクリックして、更新操作を実行します。
少しすると、操作の成功(または失敗)を示すメッセージが表示されます。
構成がスキップされたことに注意してください。アセット・レベルで更新し、Application Configuration Consoleの2つの構成のどちらかだけがその外部リソースと異なりました。
バージョンは、アセットおよびその構成の段階のスナップショットです。プロビジョニング、更新および追跡などのイベントでは、バージョンが自動的に保存されます。保存されたバージョンには、Application Configuration Consoleデータと外部リソースの両方が含まれます。バージョンは監査証跡とリカバリ・メカニズムを提供します。
単純な例として、更新したばかりの構成(httpd1.conf
)について検討します。
ナビゲータ・ビューで、「ポータル・ライフサイクル・ビュー」→「開発」→「Webサーバー」→「Aeneas」→「リソース・ビュー」を開きます。
「httpd1.conf」を右クリックして、ポップアップ・メニューから「開く」を選択します。
図6-1に示すように、エディタ領域で一番下にある「バージョン」タブをクリックして、初期ロード以降のこの構成のすべてのバージョンを表示します。
表示されているとおり、現在この構成には3つのバージョンがあります。
Application Configuration Consoleに最初にロードされたときの状態
更新直前の状態
外部リソースの現在のコンテンツに基づいた、現在の状態
この図はコンテキスト(右クリック)・メニューから使用できるコマンドを示しています。バージョンを複数選択すると、コンテキスト・メニューは最上部に示されている5つの比較操作を使用できるように変化します。
この例のような監査履歴を保存しておくことで、アセットの整合性の維持においてリカバリおよび調整の幅広いオプションを利用できるようになります。