|
伝播 Ant タスクは、WebLogic Portal 資産を Ant スクリプトの使用により別の環境に伝播するために使用できるツールの完全なセットを提供します。
この章では伝播 Ant タスクを説明し、スコープ指定とポリシーのような関連トピックについても説明します。この章の内容は以下のとおりです。
Ant タスクにより、Workshop for WebLogic 伝播ツールで実行できるすべての機能と、サーバをメンテナンス モードにするような追加のオプションや機能を実行できます。Ant タスクで次が実行できます。
| 注意 : | 伝播を実行して特定の LDAP データを更新できるようにするには、管理サーバが実行中である必要があります。伝播を実行すると、訪問者ロール、委託管理ロール、資格ポリシー、委託管理ポリシーなどの LDAP データが追加、削除、または更新される可能性があります。 |
この章で説明されている Ant タスクを使用してポータル Web アプリケーションを伝播する前に、WebLogic Portal 伝播の基本概念に精通することが重要です。伝播方針の計画の詳細については、「伝播方針の開発」を参照してください。Ant タスクは、Workshop for WebLogic 伝播ツールと同じ基本機能を提供します。「伝播に関するトピック」で説明されている基本概念と検討事項は、伝播ツールと Ant タスクの両方に適用されます。
| ヒント : | Ant ベースの伝播スクリプトを設計する前に、「Workshop for WebLogic 伝播ツールの使用」も参照することをお勧めします。この章では、Workshop for WebLogic 伝播ツールを使用してポータルを伝播する方法が説明されています。これらのツールは伝播プロセスを段階的に導き、インベントリのマージ、表示、および調整について視覚的インタフェースを提供します。伝播ツールにより使用されるワークフローを確認して理解することは、Ant ベースの伝播を計画するときに役立ちます。 |
Ant タスクは、オンラインとオフラインの 2 つのカテゴリに分類されます。オンライン タスクは、デプロイされ実行中の WebLogic Portal アプリケーションと対話します。たとえば、OnlineDownloadTask により、稼働中のサーバからポータル インベントリを抽出して、それをファイルに保存できます。これを実行するため、そのタスクはエンタープライズ アプリケーションにデプロイされているサーブレットと通信します。オンライン タスクについては、「オンライン タスクの概要」で説明されています。
オフライン タスクは、既に抽出され、保存されているインベントリ ファイルで動作します。オフライン タスクにはネットワーク接続は必要ありません。オンライン タスクには伝播サーブレットをデプロイされた稼動中のサーバは必要です。オフライン タスクには必要ありません。オフライン タスクについては、「オフライン タスクの概要」で説明されています。
オンラインまたはオフライン Ant タスクのいずれかを使用するには、CLASSPATH に、そのタスクを含む JAR ファイルを配置する必要があります。オンライン タスクを使用するには、ソース システムと送り先システムでポータル EAR プロジェクトにライブラリ モジュールをデプロイする必要があります。
伝播要求を処理するサーブレットは、WebLogic Portal のインストール時に提供されます。オンライン Ant タスクを使用する場合は、伝播対象のポータル アプリケーションを含むポータル EAR プロジェクトに、このサーブレットをデプロイする必要があります。
デフォルトでは、図 8-1 に示すように、伝播サービス ファセットがポータル EAR プロジェクトに含まれます。このファセットには、伝播サーブレットが含まれます。伝播サービス ファセットを選択した状態でポータル EAR プロジェクトを作成すると、EAR をサーバにデプロイするときに伝播サーブレットが自動的にデプロイされます。

デプロイされる場合、次の手順でサーブレットをアクセスできます。
http://server:port/earProjectNamePropagation/inventorymanagement
ここで、earProjectName は、伝播するポータル アプリケーションを含む EAR プロジェクトの名前です。たとえば、myEARProjectPropagation です
| ヒント : | アプリケーションの META-INF/weblogic-application.xml ファイルの中を見ると、アプリケーションにサーブレットが追加されていることが確認できます。コード リスト 8-1 に、サンプル アプリケーションの myEarProject に追加されたスタンザを示します。 |
<library-ref>
<library-name>wlp-propagation-app-lib</library-name>
</library-ref>
<library-context-root-override>
<context-root>propagation</context-root>
<override-value>myEarProjectPropagation</override-value>
</library-context-root-override>
オンライン Ant タスクは要求を処理するために伝播サーブレットを使用するので、そのタスクを使用するとき、伝播サーブレットの名前を知る必要があります。たとえば、オンライン タスクは、伝播サーブレット アドレスを要求する serverURL パラメータを取得します。サーブレット アドレスは次のとおりです。
http://server:port/earProjectNamePropagation/inventorymanagement
ここで、earProjectName は、伝播するポータル アプリケーションを含む EAR プロジェクトの名前です。たとえば、myEARProjectPropagation です
次を実行すると、伝播サーブレットが EAR プロジェクトに含まれているかどうかを確認できます。
WebLogic Portal は、各伝播 Ant タスクを実行するために使用できるサンプル Ant ビルド スクリプトを提供します。この節では、伝播サーブレットが正しくインストールされていることをテストするためにサンプル ビルド スクリプトを使用する方法について説明します。サンプル ビルド スクリプトは次のとおりです。
<WLPORTAL_HOME>/propagation/bin/propagation_ant.xml| ヒント : | スクリプト ファイルには、提供する必要がある変数についての詳細情報が含まれています。スクリプト内の指示を注意深く読んでください。 |
ant -f propagation_ant.xml pingSrc
| ヒント : | propagation_ant.xml ビルド スクリプトをコピーして、それを固有のカスタム伝播ビルド スクリプトを作成するための基礎として使用できます。サンプル スクリプトには、各タスクを、条件プロパティがある場合とない場合の両方で実行する例が含まれています。Ant ConditionTask により提供される条件プロパティにより、Ant スクリプトで単純なフロー制御を実装できます。 |
WebLogic ポータル環境の外部でオンライン、またはオフラインの Ant タスクを使用するには、WebLogic ポータル インストールからユーザのローカル環境に JAR ファイルのセットをコピーする必要があります。これらの JAR ファイルは、ファイルを使用するシステム上で Ant タスクの CLASSPATH に配置する必要があります。
<WLPORTAL_HOME>/p13n/lib/system/p13n_common.jar
<WLPORTAL_HOME>/propagation/lib/propagation.jar
<WLPORTAL_HOME>/propagation/lib/propagation_ant.jar
<WLPORTAL_HOME>/propagation/lib/content_prop.jar
<WLPORTAL_HOME>/propagation/lib/netuix_prop.jar
<WLPORTAL_HOME>/p13n/lib/system/p13n_common.jar
<WLPORTAL_HOME>/propagation/lib/propagation.jar
<WLPORTAL_HOME>/propagation/lib/propagation_ant.jar
<WLPORTAL_HOME>/propagation/lib/content_prop.jar
<WLPORTAL_HOME>/propagation/lib/netuix_prop.jar
<WEBLOGIC_HOME>/server/lib/api.jar
<WEBLOGIC_HOME>/server/lib/webserviceclient.jar
<BEA_HOME>/modules/com.bea.core.xml.beaxmlbeans_2.2.0.0.jar
<BEA_HOME>/modules/com.bea.core.weblogic.stax_1.4.0.0.jar
<BEA_HOME>/modules/com.bea.core.utils_1.4.0.0.jar
オンライン タスクは、デプロイされ実行中の WebLogic Portal アプリケーションで動作します。オンライン タスクは、エンタープライズ アプリケーションにデプロイされているサーブレットを通じて、ポータル アプリケーションと通信します。たとえば、オンライン タスクにより、インベントリ ファイルを作成して、サーバから別のマシンにダウンロードできます。伝播サーブレットについては、「伝播サーブレットのデプロイ」を参照してください。
| 注意 : | オンライン Ant タスクは HTTP または HTTPS を使用して 伝播サーブレット に接続するため、干渉するファイアウォールがそれを許可することを確認する必要があります。 |
表 8-1 に、オンライン伝播 Ant タスクの要約を示します。各タスクの詳細については、「伝播 Ant タスク リファレンス」を参照してください。
オンライン Ant タスクで HTTPS を使用するには、WebLogic Server ドキュメントの「ID と信頼のコンフィグレーション」で説明する標準 WebLogic SSL の説明に従ってください。
| 注意 : | URL をリモート WebLogic サーバにフォーマットするには、同じシステムを利用している場合は、localhost ではなく、システムの実際のホスト名を指定してください。また、サーバーに対する HTTPS ポート番号を使用してください。デフォルトは、7002 です。 |
オンライン伝播 Ant タスクが失敗する場合、一般に次の理由のいずれかによってその失敗は発生します。
オフライン Ant タスクは以前にエクスポートしたインベントリ ファイルで排他的に動作します。これらのタスクは 1 つまたは 2 つのインベントリ ファイルで動作し、インベントリのコンテンツを探索し操作します。オフライン タスクは Workshop for WebLogic 伝播ツールに似た機能を提供します。各タスクの詳細については、「伝播 Ant タスク リファレンス」を参照してください。
これらのタスクには、稼働中の WebLogic Portal アプリケーションへの接続は必要ありません。たとえば、オフライン タスクを使用して、ソース インベントリ ファイルと送り先インベントリ ファイルを結合および比較できます。
表 8-2 に、オフライン伝播 Ant タスクを示します。
オフライン伝播 Ant タスクが失敗する場合、一般に次の理由のいずれかによってその失敗は発生します。
スコープ指定は、エクスポートされる WebLogic Portal インベントリでのアーティファクトの数、すなわち、伝播中に追加、削除、更新しなければならないアーティファクトの数を制限することを意味します。一般に、スコープ指定により、伝播処理の期間と複雑さの両方が軽減されます。
| ヒント : | 続ける前に、「スコープについて」で説明されているスコープ指定の詳細を読み返すことをお勧めします。 |
一部の Ant タスクは、デフォルトでは scope.properites という、スコープ指定ルールを特定するプロパティ ファイルを作成または使用します。
たとえば、scope.properties ファイルを編集して伝播スコープを調整し、そのファイルを OnlineDownloadTask に対するパラメータとして使用できます。このファイルは、タスクがインベントリの各ノードで、スコープ内またはスコープ外として扱われる方法を宣言します。タスクはスコープ指定ルールを参照して、それをエクスポートされたインベントリに適用します。その結果、スコープ指定インベントリ ファイルは通常、完全インベントリのサブセットになります。scope.properties ファイルの詳細については、「スコープ プロパティ ファイルについて」を参照してください。
この節では、Ant タスクを使ってインベントリをスコープ指定する基本のワークフローを説明します。このワークフローの目的は、スコープ指定により、インベントリ ファイルのサイズと複雑さを軽減することです。このワークフローの結果が、scope.properties ファイルです。このファイルには、2 つのインベントリを結合して最終的なマージ済みインベントリを作成するときに使用できる、スコープ指定ルールのセットが含まれています。
このワークフローで使用される Ant タスクは以下のとおりです。
scope.properties ファイルを作成します。 scope.properties ファイルがあります。
図 8-3 は、インベントリ ファイルのスコープ指定に含まれる基本的な手順を示しています。この手順は、一連の Ant タスクを使用して、インベントリを結合するために必要なスコープ指定情報を含む最終的な出力の scope.properties ファイルを生成します。

図 8-3 に示す手順には、次が含まれています。
scopeFile 属性を指定しないでください。この属性を指定しないと、タスクはサーバからインベントリ全体を取得します。取得したインベントリは図 8-3 で fullInventory.zip として示されている ZIP ファイルに保存されます。 scope.properties ファイルを抽出します。scope.properties ファイルは、インベントリを作成するために使用されたスコープ指定ルールを指定します。scope.properties ファイルのコンテンツの詳細については、「スコープ プロパティ ファイルについて」を参照してください。スコープ指定インベントリを作成するには、scope.properties ファイルを編集して、編集済みファイルを OnlineDownloadTask への入力として再び使用します。 scope.properties ファイルを使って、OnlineDownloadTask を再実行します。この処理の結果は、指定したスコープ内に存在したアーティファクトのみを含む新しいインベントリ ファイルになります。 scope.properties ファイルを抽出できることを示しています。実際には、返されるプロパティ ファイルは、手順 3 で OnlineDownloadTask への入力として使用されたファイルと同一です。
スコープ指定ソース インベントリ ファイルを取得したあと、それを送り先インベントリ ファイルに結合して、マージ済みインベントリ ファイルを作成できます。
scope.properties ファイルに表示される分類法は特定の分類法とそのすべての子がインベントリに含まれることを示します。たとえば、コード リスト 8-2 に、分類法の値 Application のみを指定した 1 行の scope.properties ファイルを示します。この分類法はすべてのアプリケーションがインベントリに含まれることを示します。
scope_0=Application
コード リスト 8-3の別の単純なスコープ ファイル指示に示すように、アプリケーションに関連付けられる各リポジトリからのすべてのコンテンツがインベントリに含まれます。
scope_1=Application\:ContentServices
コード リスト 8-4 に示すように、コンテンツ ノード node1 とその子およびコンテンツ タイプ typeA とその子のみが含まれます。
scope_0=Application\:ContentServices\:Tools_Repository\:ContentNodes\:node1
scope_1=Application\:ContentServices\:Tools_Repository\:ContentTypes\:typeA
Application\:ContentServices\:Tools_Repository
Application\:ContentServices\:Tools_Repository\:ContentNodes
Application\:ContentServices\:Tools_Repository\:ContentNodes\:node1
ポリシーを設定すると、ソース インベントリと送り先インベントリが最終的に 1 つのインベントリ ファイルに結合されるときの、結合方法を管理できます。ポリシーを使用するには、OfflineListPoliciesTask を使用して、policy.properties ファイルをエクスポートします。このタスクにより、グローバル ポリシーを設定して、インベントリ内の全資産に適用できます。たとえば、すべての追加を受け入れるけれども、削除と更新は拒否するように選択できます。「ポリシー プロパティ ファイルについて」を参照してください。必要に応じて、policy.properties ファイルを編集して、特定の資産に対するポリシー選択を変更できます。
| ヒント : | 続ける前に、「ポリシーの使用」で説明されているポリシーの詳細を読み返すことをお勧めします。 |
ポリシーにより、次の 3 つのマージ事例の処理方法を選択できます。各マージ事例は、ポリシー ファイルで true または false に設定できます。
コード リスト 8-5 は、policies.properties ファイルからの引用を示しています。すべての例で確認できるように、この伝播に対するポリシーは、追加と削除を受け入れ (Y)、更新を無視 (N) します。ポリシーはポータルの各資産に設定されます。このファイルを編集することにより、資産でポリシーを変更できます。
policy_0_taxonomy=Application
policy_0_adds=Y
policy_0_updates=N
policy_0_deletes=Y
policy_1_taxonomy=Application:ContentServices
policy_1_adds=Y
policy_1_updates=N
policy_1_deletes=Y
policy_2_taxonomy=Application:ContentServices:Tools_Repository
policy_2_adds=Y
policy_2_updates=N
policy_2_deletes=Y
policy_3_taxonomy=Application:ContentServices:Tools_Repository:ContentNodes
policy_3_adds=Y
policy_3_updates=N
policy_3_deletes=Y
policy_4_taxonomy=Application:ContentServices:Tools_Repository:ContentTypes
policy_4_adds=Y
policy_4_updates=N
policy_4_deletes=Y
policy_5_taxonomy=Application:ContentServices:Tools_Repository:GlobalEntitlements
policy_5_adds=Y
policy_5_updates=N
policy_5_deletes=Y
伝播を結合処理として考えることができます。ポータルを伝播するとき、ソース インベントリのコンテンツを送り先インベントリに結合します。結合はスコープ指定ルールとポリシー ルールによって管理されます。前の節の「インベントリのスコープ指定」では、インベントリに対するスコープ指定ルールを含む scope.properties ファイルの作成方法を説明しました。このファイルを OfflineCompineTask に対する入力として使用でき、OfflineCombineTask はスコープ指定情報を使用して、最終的なインベントリ ファイルを作成するためにどのアーティファクトを結合するかを判断します。
この節では、伝播 Ant タスクを使ってインベントリを結合およびコミットする基本のワークフローを説明します。このワークフローで使用される Ant タスクは以下のとおりです。
scope.properties ファイルおよび policy.properties ファイルを指定できます。これらのファイルは、2 つのインベントリが結合される方法を管理します。
図 8-4 は、インベントリの結合とコミットに対する基本的なワークフローを示しています。ワークフローは、ソース インベントリ ファイルと送り先インベントリ ファイルを (OnlineDownloadTask を使って) エクスポート済みであると仮定しています。

ソース インベントリ ファイルと送り先インベントリ ファイルを取得したら、それらを OfflineCombineTask を使って結合できます。このタスクの結果が、結合インベントリ ファイルです。このファイルは、スコープ ルールおよびポリシー ルールが指定されている場合、それらが適用されているソース インベントリ ファイルと送り先イベントリ ファイルの組み合わせです。
| ヒント : | OnlineCombineTask は、Workshop for WebLogic の伝播ツールを使用して伝播セッションをインベントリ ファイルにエクスポートする機能と同じように実行します。「Workshop for WebLogic 伝播ツールの使用」を参照してください。 |
OnlineUploadTask を使用して、結合インベントリを送り先サーバに移動します。OnlineCommitTask を使用して、結合インベントリを送り先 サーバでコミットします。
OfflineCombineTask、OnlineUploadTask、および OnlineCommitTask については、「伝播 Ant タスク リファレンス」を参照してください。
|