プロダクション業務ガイド

     前  次    目次     
ここから内容

伝播のヒントとベスト プラクティス

この章では、伝播ツールを使用するためのヒントとベスト プラクティスを説明します。この章の内容は以下のとおりです。

 


ベスト プラクティス

以下の節では、伝播ツールを使用して最も予測可能で正確な結果を実現するためのベスト プラクティスを説明します。この節では、次のトピックについて説明します。

サンプル Ant スクリプトの参照

一般的なプラクティスは、「伝播 Ant タスクの使用」で説明しているように、カスタム Ant スクリプトで伝播プロセスを自動化することです。

独自の Ant スクリプトの書き込みを開始する前に、必ず付属のサンプルを確認して参照してください。サンプルには、包括的な一連の伝播手順が含まれます。伝播を行うには、セットを減らす必要があります。最初はサンプル Ant スクリプトを使用することをお勧めします。

インストールのサンプルは、以下の場所にあります。

BEA_HOME/wlserver10.0/portal/bin/propagation/propagation_ant.xml

履歴インベントリのストアの維持

環境には一連の歴史インベントリが定期的にダウンロードされ、保持されます。歴史インベントリはソース コード コントロール システム (サイズに余裕がある場合) か、バックアップ ディスク ドライブ (大規模なインベントリの場合) に配置することをお勧めします。環境のインベントリ スナップショットを定期的に取得してスクリプトを自動化し、そのインベントリを保存することをお勧めします。コードの履歴バージョンを維持する場合も、インベントリに同様の注意を払ってください。

注意 : インベントリ スナップショットを使う場合でも、データベースとファイル システムのバックアップは必要です。

定義ラベルとインスタンス ラベルの変更禁止

Workshop for WebLogic で新しいポータルおよびポータル リソースを作成する場合は、定義ラベルとインスタンス ラベルをその時点で変更して、これらのリソースについて意味のある名前を作成することをお勧めします。伝播ツールを使用して環境間で変更を伝播した後は、これらのリソース ラベルを変更しないことが非常に重要です。伝播ツールは、ソース システムと送り先システム間の差分を識別するために定義ラベルとインスタンス ラベルを使用します。これらのラベルを Workshop for WebLogic または Administration Console で変更した場合は、矛盾が生じるおそれがあります。

ヒント : 定義ラベルについては、『ポートレット開発ガイド』の「ポートレットのプロパティ ビューのポートレット プロパティ」の節で説明します。インスタンス ラベルについては、同じガイドにある「ポータルのプロパティ ビューのポートレット プロパティ」の節で説明します。

環境間における変更の手動レプリケーションの禁止

ポータル フレームワークとセキュリティ資産を 1 つの環境のみで作成します。つまり、ステージング環境では資産を作成せず、プロダクション環境で同じ資産を手動で作成する必要があります。ソースとターゲット環境両方の環境で同一の変更をした場合は、伝播ツールはそれらを同じ変更として識別できず、2 つの異なるリソースであるかのように伝播が行われます。このアドバイスは、datasync およびコンテンツ管理資産にはあてはまりませんが、1 つの環境のみで資産を作成することがベスト プラクティスであることは変わりません。

エンタープライズ アプリケーション レベルへのスコープ

ソース環境が送り先環境に確実に反映されていることを確認するには、伝播用のスコープの最上位レベルを選択してください。Web アプリケーションやデスクトップなどの下位レベルにスコープを設定した場合は、本質的にはソースと送り先システムが異なる状態になります。この場合は、送り先で追加の品質保証テストが必要になることがあります。

伝播のスコープは限定できますが、より狭いスコープでの変更が上位レベルで行われた変更に依存している場合は、上位レベルの変更を実装する伝播ツールが必要になる場合があります。たとえば、ライブラリ内の資産に依存するデスクトップを伝播し、これらのライブラリ資産に変更が行われた場合、スコープをデスクトップ レベルに設定した場合でも、伝播ツールによって他のデスクトップが変更される場合があります。ポータル リソース間の関係の詳細については、「スコープとライブラリの継承」を参照してください。

ヒント : このプラクティスの例外は、コンテンツ管理システムを含めるまたは除外するのに、スコープを使用することです。一般的なプラクティスは、コンテンツ管理システムのみを伝播するか、コンテンツ管理システムを除くすべてを伝播することです。

デフォルトのスコープ指定およびポリシーのオプションの使用

スコープの指定およびポリシーの機能を使えば、伝播を強力にコントロールすることができます。しかし、このコントロール力のために複雑性が生じる可能性があります。伝播ツールを初めて使用する場合は、デフォルトのスコープ (アプリケーション全体) およびデフォルトのポリシー (すべての追加、更新、および削除を受け入れる) を保持することをお勧めします。伝播の概念とプロセスを熟知してから、高度な機能を使い始めたほうが安全です。スコープの詳細については、「スコープについて」を参照してください。ポリシーの詳細については、「ポリシーの使用」を参照してください。

伝播プロセスの開発には Workshop for WebLogic の使用

Workshop for WebLogic では、結合インベントリを視覚する用のユーザ インタフェースなど、資産の伝播形式を定義する多数の機能を提供します。アプリケーションをある環境から別の環境に伝播する場合は、最初の数回は Workshop for WebLogic インタフェースを使うことが最良の選択です。しかし、通常は時間が経過するにつれて、伝播のプロセスは毎回同じオプションを選択するルーチン作業になります。 伝播スコープとポリシーの選択をよく理解し、常に一定の選択をする場合は、Ant タスクのほうが繰り返し実行するプロセスのサポートにより適しています。ポータルの伝播への Workshop for WebLogic の使用に関する詳細については、「Workshop for WebLogic 伝播ツールの使用」を参照してください。Ant タスクは、「伝播 Ant タスクの使用」で説明されています。

インポートおよびエクスポートへの Ant タスクの使用

Workshop for WebLogic では、実行中の WebLogic Portal アプリケーションからインベントリをインポートおよびエクスポートすることができます。ただし、Workshop for WebLogic では、これらの操作に使用可能なすべてのオプションにアクセスを提供するわけではありません。

Workshop for WebLogic では実際にはインポートとエクスポートの呼び出し時に Ant タスクを使用していることを理解することが重要です。Ant スクリプトは、Workshop for WebLogic からこれらの機能を使用するときに作成および実行されます。Workshop for WebLogic で使用する Ant スクリプトは保存することができます。スクリプトを保存することで、スクリプトを調べてその役割を理解します。Ant タスクを直接使用する場合、OnlineDownload、OnlineUpload および OnlineCommit タスクには多数のオプションが使用できます。

伝播 Ant スクリプトの保存の詳細については、Workshop for WebLogic オンライン ヘルプを参照してください。特定の Ant タスクの詳細については、「伝播 Ant タスク リファレンス」を参照してください。

プロキシ サーバまたはロード バランサ間での伝播の回避   

サーバへの伝播インベントリのエクスポート、およびサーバからの伝播インベントリのインポートの Workshop for WebLogic における操作、および OnlineDownload、OnlineUpload、OnlineCommit Ant タスクは、伝播を支援するために設計されたサーブレットへの HTTP 接続を開きます。サーブレットは、WebLogic Server で稼働中の WebLogic Portal アプリケーションで実行されます。これらのコマンドに指定された URL は、サーブレットに対応する方法を示しています。

クラスタにデプロイされた WebLogic Portal アプリケーションについては、プロキシ サーバまたはロード バランサをクラスタ ノードのトラフィックを制御するクラスタの前に設定します。プロキシを伝播対象に設定することは可能ですが、シングル クラスタ管理対象ノードを識別して直接対応するほうが適切です。このアプローチには、以下の利点があります。

クラスタ管理サーバの実行を確認

伝播ツールを使って、主にコンフィグレーションの WebLogic Portal アプリケーションのデータベース スキーマへの変更をコミットします。ポータル デスクトップ、ポートレット プリファレンス、コンテンツおよびその他のアーティファクトは、データベースに保持されます。しかし、資格や委託管理ポリシーのようなセキュリティ情報は、各 WebLogic Server インスタンスに固有の組み込み LDAP サーバに保持されます。

クラスタでは、管理サーバが組み込み LDAP サーバへの更新をクラスタ中のすべてのノードに配布します。管理サーバが停止した場合、更新が資格または委託管理に対して行われていると、クラスタ中のノードが同期からはずれてしまう可能性があります。そのため、伝播ツールがアプリケーションを更新する場合、管理サーバを稼動しておくことを強くお勧めします。このアドバイスは、Workshop for WebLogic を使用して、最終インベントリ ファイルをサーバにアップロードする場合にのみあてはまります。「サーバへの最終インベントリのアップロード」および「OnlineCommitTask」も参照してください。

エラー メッセージの解釈

WebLogic Portal アプリケーション内のその他のアクティビティと異なり、伝播ツールはすべての WebLogic Portal アプリケーションのコンフィグレーションを反復します。 したがって、アプリケーション コンフィグレーションに潜在的な問題があれば、伝播ツールを使用してこの問題を検出します。これらの問題は伝播に悪影響を及ぼしますが、通常、エラー真の原因はさらに深いレベルにあります。

このような問題のトラブルシューティングを行うには、WebLogic Portal Administration Console などのその他の手段を使って、問題のある領域をテストします。このプロセスにより、実際の問題を検出して修正したり、より簡単な、再現可能なテスト ケースを提供したりできます。

サポートされてない データベース ドライバや破損したセキュリティ リポジトリが、伝播ツールに悪影響を及ぼす場合もあります。これらの問題が伝播に影響を与えている場合、根本的原因に対処することが解決につながります。

エクスポートおよび OnlineCommit 操作の再起動

サーバへの伝播インベントリのエクスポート操作 (Workshop for WebLogic)、または OnlineCommit (Ant) 操作の実行中、伝播ツールは送り先システムに対する変更のリストを処理します。このリストは必要な変更を何千も含む、巨大なリストになることがあります。操作にも長時間かかる可能性があります。伝播ツールがすべての変更に包括的なトランザクションを作成しないのには、以下の理由があります。

伝播中、送り先システムへの各変更は、個別のトランザクションで実行されます。伝播作業が中断された場合、コンフィグレーションは不完全な状態で放置されます。たとえば、操作中に管理対象サーバのハードウェアにエラーが発生すると、このような状況が発生します。この場合は、伝播ツールを再度実行します。伝播ツールはリストの未適用部分から新たに前回より小さいリストを検出し、前回の伝播が失敗した場所からもう一度処理を開始します。

オンライン操作の速度の向上

サーバへの伝播インベントリのエクスポート、およびサーバからの伝播インベントリのインポートの Workshop for WebLogic における操作、および OnlineDownload、OnlineUpload、OnlineCommit Ant タスクは、WebLogic Portal アプリケーションにおいて実行される伝播サーブレットと通信するため、オンライン操作とみなされます。これらの操作は WebLogic Portal アプリケーション コンフィグレーションと連動して、大量のデータベース レコードの読み込みと書き込みを行います。これらの操作は、通常長時間を要します。

操作速度を改善する効果的な方法は、データベースのパフォーマンスを向上させることです。より処理能力の高いハードウェアを割り当てることは、効果的ですがコストのかかるソリューションです。多くの場合、データベース管理者によるデータベースの調整が有効です。

Microsoft Windows ファイル システムの使用

Microsoft Windows ファイル システムは、他のオペレーティング システムより大きな制限があります。具体的には、フォルダ構成のネストが深い場合、ファイル パスの長さに制限があることが問題となります。

伝播ツールは、所定の操作を実行する場合、ファイル システムを頻繁に使用します。ツールは、エクスポート、インポート、差分計算およびコッミットをするアーティファクトのために、指定されたワーキング フォルダを使用して多数のファイルに書き込みます。通常、伝播ツールはワーキング フォルダを慎重に使用し、ネストの深いフォルダを作成しないので、このことが問題になることはありません。しかし、ワーキング フォルダ自体がネストの深いフォルダに設定された場合、伝播ツールは、ファイル パスが制限を超える可能性があるので、一部のファイルの作成、読み込み、削除または更新をするときに失敗する可能性があります。

デフォルトでは、伝播サーブレットは WebLogic Server サーブレット コンテナで提供された一時フォルダをワーキング フォルダとして使用します。このパスは、ドメイン ディレクトリの下にネストされたフォルダです。以下に例を示します。

C:\bea100\user_projects\domains\wlpHome_domain\servers\AdminServer\
tmp\_WL_user\wlpBEA\c0b5ju\public

特にドメイン フォルダのパスが長い場合、このパスは非常に長くなる可能性があります。そのためファイル パスが制限を超えてしまい、伝播ツールが失敗する場合があります。

Windows システムのベスト プラクティスは、伝播サーブレットにワーキング ディレクトリのサーブレット コンテナの一時スペースを使わせないことです。ワーキング フォルダには、C:\bea100\propagation のように短いフォルダ パスを付与します。「伝播サーブレットのコンフィグレーション」で説明するように、伝播ツールの Web アプリケーションにはワーキング フォルダを web.xml に設定することができます。

インベントリ ファイルの転送プロトコルの選択

サーバへの伝播インベントリのエクスポート、およびサーバからの伝播インベントリのインポート、または OnlineDownload、OnlineUpload 操作では、インベントリ ファイルを取得するか、これを WebLogic Portal アプリケーションをホストするリモート サーバに移行させます。これらの操作ではサーブレットを使用するので、この移行には HTTP を使用します。ファイアウォールに問題がある場合、これはインベントリ ファイルの移動に便利な方法です。これはまた、サーバへの伝播インベントリのエクスポート、およびサーバからの伝播インベントリのインポートの Workshop for WebLogic における操作にサポートされた唯一の方法でもあります。

伝播インベントリのエクスポートと OnlineUpload 操作が成功したことを確認するには、場合によってはサーブレットのアップロード サイズの上限を上げる必要があります。 アップロードの許容量はこれまで Web アプリケーション上の Dos 攻撃に使用されてきたので、アップロードされたインベントリのデフォルトの制限は、いずれも 1 メガバイトです。これは「伝播サーブレットのコンフィグレーション」に示す手順によって web.xml で増やすことができます。

さらに、WebLogic Server console でユーザにアップロード権限を付与する必要があります。デフォルトでは、この権限は管理者とデプロイ担当者の役割を持つユーザだけに付与されています。他のユーザには、WebLogic Server Console でこの権限を与えます。詳細については、WebLogic Server ドキュメントの『ポリシーで保護できるリソースのタイプ』を参照してください。

必要に応じて、FTP、ソース コードのコントロール クライアント、DVD のような物理的媒体など他の方法でファイルを送り先とやりとりすることができます。このような場合、OnlineDownload および OnlineUpload タスクでは、ファイル転送に HTTP の使用を回避するオプションをサポートします。これにより管理者はサーバのローカル ファイル上にインベントリ ファイルを配置し、Ant タスクのファイルの場所を参照することができます。

次に例を示します。

<target name="downloadProductionInventory">
<onlineDownload
        servletURL="http://myhost/propagation/inventorymanagement"
        username="weblogic" password="weblogic" allowHttp="true"
        outputInventoryFile="/opt/inventories/prod.zip"
        outputToServerFileSystem="true"
/>
</target>

この例では、インベントリ ファイルは Ant タスクを実行するマシンにはダウンロードされず、/opt/inventories/prod.zip にあるサーバ マシンのファイル システムに書き込まれます。

OnlineUpload タスクには readFromServerFileSystem という同様のフラグがあります。これらの Ant タスクに関する詳細については、「伝播 Ant タスク リファレンス」を参照してください。

手動変更の注意およびコンフィグレーション

伝播ツールを使って、検出するコンフィグレーション アーティファクトへのほぼすべての変更をコミットできます。ただし、伝播ツールで検出はできても自動的にコミットできないタイプの変更も数種類あります。これらのタイプの変更は、手動変更と呼ばれるものです。管理者は、WebLogic Portal Administration Console または WebLogic Server Console を使用して、手動で変更する必要があります。

検出されたら常に手動で作業する変更を以下に示します。

Workshop for WebLogic で必要な手動変更を表示するには、マージ済みインベントリ ビューを右クリックして、[手動変更のみ] をフィルタしてください。Ant タスクを使用する場合、OfflineExtractTask は、手動変更の一覧を示すファイルを作成します。

ヒント : 手動変更が検出された場合、OfflineCheckManualElectionsTask を使用して自動的な伝播を中止することができます。このタスクの詳細については、「OfflineCheckManualElectionsTask」を参照してください。

適切な委託管理特権の確認

オンライン伝播ツール タスクを実行するには、PortalSystemAdministrators ロールのメンバーである必要があります。これらのタスクには、オンライン Ant タスクおよびサーバへの伝播インベントリのエクスポート、およびサーバからの伝播インベントリのインポートの Workshop for WebLogic における操作が含まれます。ただし、ユーザが Administrators ロールでもメンバーでないかぎり、デフォルトで WebLogic Portal アプリケーションにコンフィグレーション アーティファクトを表示したり、更新したりすることはできません。ユーザは伝播するアーティファクトへの委託管理特権を付与されている必要があります。

ほとんどの場合では、伝播時に管理者ロールのメンバーになっておくことをお勧めします。伝播ツールはアプリケーションのコンフィグレーション全体を表示できるので、これによりすべてのアーティファクトをアプリケーションに伝播でき、このアプローチが最も安全な伝播方法です。

ただし、伝播がアプリケーションの特定領域を対象としている場合の使用例であるため、上述のアドバイスは当てはまりません。たとえば、コンテンツ管理者はコンテンツ項目の単一のフォルダを伝播する場合があります。このユーザは、どのポータル フレームワーク資産に対しても、委託管理特権を持たない可能性がありますが、この使用例では問題とはなりません。

このような場合、アプリケーションへのすべての委託管理特権を持たなくても、伝播を実行することができます。送り先に存在する項目を追加する場合、こうすることでエラーが発生することもありますが、委託管理特権を持たないのでユーザにはエラーは表示されません。すでに存在しているために追加できずに衝突したアーティファクトについては、コンソールにエラーが表示されることがあります。

委託管理の詳細については、「WebLogic Portal のセキュリティ ガイド」を参照してください。

LDAP およびデータベースの同期問題の回避

組み込み LDAP リポジトリおよびデータベースが同期しなくなった場合、伝播中に一部のポリシー データが失われる可能性があります。このような状況の発生を防止するために、伝播ツールで LDAP およびデータベースが同期していないことを自動的に検出し、デフォルトでダウンロードを防止して操作をコミットします。詳細については、「OnlineCommitTask」 および 「OnlineDownloadTask」を参照してください。

この 2 つのストアが同期しなくなった理由として、以下の原因が考えられます。

同期の問題を回避するには、以下のことに注意します。

 


一般的な問題のトラブルシューティング

この節では、伝播ツールの使用時に発生しうる一般的な問題を説明します。これらの問題のいずれも製品に問題があることを意味するものではありません。通常、こうした問題は伝播ツールの誤用や誤解から発生します。

この節では、次のトピックについて説明します。


ページの先頭       前  次