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

     前  次    新しいウィンドウで目次を開く   
ここから内容

伝播 Ant タスクの使用

伝播 Ant タスクは、WebLogic Portal 資産をプログラムにより別の環境に伝播するのに使用できるツールの完全なセットを提供します。

この章では伝播 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 タスクのインストール

Ant タスクは、オンラインとオフラインの 2 つのカテゴリに分類されます。オンライン タスクは、デプロイされ実行中の WebLogic Portal アプリケーションと対話します。たとえば、OnlineDownloadTask により、稼働中のサーバからポータル インベントリを抽出して、それをファイルに保存できます。これを実行するため、そのタスクはエンタープライズ アプリケーションにデプロイされているサーブレットと通信します。オンライン タスクについては、「オンライン タスクの概要」で説明されています。

オフライン タスクは、既に抽出され、保存されているインベントリ ファイルで動作します。オフライン タスクにはネットワーク接続は必要ありません。オフライン タスクについては、「オフライン タスクの概要」で説明されています。

オンラインまたはオフライン Ant タスクのいずれかを使用するには、CLASSPATH に、そのタスクを含む JAR ファイルを配置する必要があります。オンライン タスクを使用するには、ソース システムと送り先システムでポータル EAR プロジェクトにライブラリ モジュールをデプロイする必要があります。

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

必要な JAR ファイル

伝播 Ant タスクを実行するには、この節で説明するように、それを使用するシステムの Ant タスクの CLASSPATH にいくつかの JAR ファイルを配置する必要があります。

  1. WinZip のようなユーティリティを使用して、次の WAR ファイルを開きます。
  2. BEA_HOME/weblogic92/portal/lib/modules/wlp-propagation-web-lib.war 
  3. 次の JAR ファイルを抽出してシステムに保存し、それを使用するシステムの Ant タスクの CLASSPATH に追加します。
    • p13n_prop.jar
    • netuix_prop.jar
    • content_prop.jar
  4. また、次の JAR ファイルを Ant タスクの CLASSPATH に追加します。
    • BEA_HOME/weblogic92/platform/lib/p13n/p13n_common.jar
    • BEA_HOME/weblogic92/common/p13n/lib/p13n_prop_ant.jar
  5. オフライン タスクを実行する場合は、次の JAR も必要です。
    • BEA_HOME/weblogic92/server/lib/xbean.jar
    • BEA_HOME/weblogic92/server/lib/api.jar

伝播サーブレットのデプロイ

伝播要求を処理するサーブレットは、WebLogic Portal のインストール時に提供されます。オンライン Ant タスクを使用する場合は、伝播対象のポータル アプリケーションを含むポータル EAR プロジェクトに、このサーブレットをデプロイする必要があります。

デフォルトでは、図 8-1 に示すように、伝播サービス ファセットがポータル EAR プロジェクトに含まれます。このファセットには、伝播サーブレットが含まれます。伝播サービス ファセットを選択した状態でポータル EAR プロジェクトを作成すると、EAR をサーバにデプロイするときに伝播サーブレットが自動的にデプロイされます。

図 8-1 伝播サービス モジュール

伝播サービス モジュール

サーブレットがデプロイされるとき、その名前は earProjectNamePropagation になります。

ここで、earProjectName は、伝播するポータル アプリケーションを含む EAR プロジェクトの名前です。たとえば、myEARProjectPropagation です

ヒント : アプリケーションの META-INF/weblogic-application.xml ファイルの中を見ると、アプリケーションにサーブレットが追加されていることが確認できます。コード リスト 8-1 に、サンプル アプリケーションの myEarProject に追加されたスタンザを示します。
コード リスト 8-1 伝播サーブレット コンフィグレーション
<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 タスクは要求を処理するのにサーブレットを使用するので、そのタスクを使用するとき、サーブレットの名前を知る必要があります。たとえば、OnlinePingTask は、サーブレット名を要求する serverURL パラメータを取得します。

servletURL="http://localhost:7001/myEarProjectPropagation/
inventorymanagement"

次を実行すると、伝播サーブレットが EAR プロジェクトに含まれているかどうかを確認できます。

  1. Workshop for WebLogic を起動します。
  2. パッケージ エクスプローラで EAR プロジェクトを右クリックし、[プロパティ] を選択します。図 8-2 に示すように、[Project Facets] ダイアログが表示されます。
  3. 図 8-2 伝播サービス ファセットの確認


    伝播サービス ファセットの確認

  4. [Project Facets] ダイアログで、[伝播サービス] ファセットが含まれていることを確認します。含まれていない場合、[Add/Remove Project Facets...] を選択してこのファセットを追加します。
  5. [OK] をクリックして処理を完了します。

Ant インストールのテスト

WebLogic Portal は、各伝播 Ant タスクを実行するのに使用できるサンプル Ant ビルド スクリプトを提供します。この節では、伝播サーブレットが正しくインストールされていることをテストするためにサンプル ビルド スクリプトを使用する方法について説明します。サンプル ビルド スクリプトは次のとおりです。

BEA_HOME/weblogic92/portal/bin/propagation/propagation_ant.xml
  1. ポータル EAR プロジェクトがデプロイされている WebLogic Portal サーバを起動します。
  2. サンプル ビルド スクリプトを適切に編集し、WebLogic Portal インストール ディレクトリ、スクリプト出力を書き込むディレクトリ、伝播サーブレット URL、その他の情報に対して正しい値を含むようにします。
ヒント : スクリプト ファイルには、提供する必要がある変数についての詳細情報が含まれています。スクリプト内の指示を注意深く読んでください。
  1. ビルド スクリプト変数を正しくコンフィグレーションしたら、OnlinePingTask を実行します。そのためには、次のコマンドを入力します。
  2. ant -f propagation_ant.xml pingSrc

処理が成功すると、コード リスト 8-2 に示すような出力が表示されます。

コード リスト 8-2 成功した Ping メッセージ
pingSrc:
     [echo] ****** Start: pingSrc ******
[onlinePing] INFO: Using the logger delegate (com.bea.p13n.management.inventory.util.OfflineInventoryLoggerDelegate) specified in the propagation_context.properties file.
[onlinePing] WARNING: This command is using HTTP, which will transmit the administrator password in plain text. It is recommended to set allowHttp to false.
     [echo] ****** Finish: pingSrc ******
ヒント : propagation_ant.xml ビルド スクリプトをコピーして、それを固有のカスタム伝播ビルド スクリプトを作成するための基礎として使用できます。サンプル スクリプトには、各タスクを、条件プロパティがある場合とない場合の両方で実行する例が含まれています。Ant ConditionTask により提供される条件プロパティにより、Ant スクリプトで単純なフロー制御を実装できます。


オンライン タスクの概要

オンライン タスクは、デプロイされ実行中の WebLogic Portal アプリケーションで動作します。オンライン タスクは、エンタープライズ アプリケーションにデプロイされているサーブレットを通じて、ポータル アプリケーションと通信します。たとえば、オンライン タスクにより、インベントリ ファイルを作成して、サーバから別のマシンにダウンロードできます。伝播サーブレットの詳細については、「伝播サーブレットのデプロイ」を参照してください。

注意 : オンライン Ant タスクは HTTP または HTTPS を使用して WebLogic Server と通信するので、干渉するファイアウォールがそれを許可することを確認する必要があります。

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

オンライン タスクの要約

表 8-2 に、オンライン伝播 Ant タスクの要約を示します。

表 8-1 オンライン タスク
OnlineCheckMutexTask
伝播サーブレットが、現在別のプロセスで使用されていないことを確認します。
OnlineCommitTask
最終インベントリ ファイルのマージを実行し、送り先サーバに最終的にマージされたインベントリをコミットします。
OnlineDownloadTask
現在実行中の WebLogic Portal アプリケーションから指定した ZIP ファイルにインベントリをダウンロードします。
OnlineMaintenanceModeTask
管理者が WebLogic Portal Administration Console を使ってポータルに変更を加えるのを防止します。
OnlinePingTask
伝播管理サーブレットが指定されているサーバで実行中かどうかをテストします。
OnlineUploadTask
インベントリ ファイルを、実行中の WebLogic Portal アプリケーションに関連している一時的な場所にアップロードします。

オンライン タスクと HTTPS の併用

オンライン Ant タスクで HTTPS を使用するには、WebLogic Server ドキュメントの「ID と信頼のコンフィグレーション」で説明されている標準 WebLogic SSL の説明に従ってください。

注意 : URL をリモート WebLogic サーバにフォーマットするには、同じシステムを利用している場合は、localhost ではなく、システムの実際のホスト名を指定してください。また、サーバに対する HTTPS ポート番号を使用してください。デフォルトは、7002 です。

オンライン タスクのトラブルシューティング

オンライン伝播 Ant タスクが失敗する場合、一般に次の理由のいずれかによってその失敗は発生します。


オフライン タスクの概要

オフライン Ant タスクは以前にエクスポートしたインベントリ ファイルで排他的に動作します。これらのタスクは 1 つまたは 2 つのインベントリ ファイルで動作し、インベントリのコンテンツを探索し操作します。オフライン タスクは Workshop for WebLogic 伝播ツールに似た機能を提供します。

これらのタスクには、稼働中の WebLogic Portal アプリケーションへの接続は必要ありません。たとえば、オフライン タスクを使用して、ソース インベントリ ファイルと送り先インベントリ ファイルを結合および比較できます。

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

オフライン タスクの要約

表 8-2 に、オフライン伝播 Ant タスクを示します。

表 8-2 オフライン タスク
OfflineCombineTask
src.zipdest.zip を、新しいインベントリの combined.zip に結合する。
OfflineDiffTask
src.zipdest.zip の差分をとり、結果を diff_cm.xml に書き込む。
OfflineElectionAlgebraTask
2 つの変更マニフェスト ファイルに対して代数的演算を許可します。
OfflineExtractTask
表示するために combined.zip から作業中のアーティファクトを抽出する。
OfflineInsertTask
更新した作業中アーティファクトを combined.zip に挿入する。
OfflineListPoliciesTask
インベントリ ファイルから有効なポリシーをエクスポートします。
OfflineListScopesTask
2 つのインベントリを結合するのに使用される src.zip でのスコープを一覧表示する。
OfflineSearchTask
名前の特定の文字列を使ってノードを検索し、必要なノードがエクスポート済みであるかを確認するのに役立てる。
OfflineValidateTask
combined.zip が、有効な ZIP ファイルであることを確認する。

オフライン タスクのトラブルシューティング

オフライン伝播 Ant タスクが失敗する場合、一般に次の理由のいずれかによってその失敗は発生します。


インベントリのスコープ指定

スコープ指定は、エクスポートされる WebLogic Portal インベントリでのアーティファクトの数、すなわち、伝播中に追加、削除、更新しなければならないアーティファクトの数を制限することを意味します。一般に、スコープ指定により、伝播処理の期間と複雑さの両方が軽減されます。

ヒント : 続ける前に、「スコープについて」で説明されているスコープ指定の詳細を読み返すことをお勧めします。

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

Ant タスクによるスコープ指定

一部の Ant タスクは、デフォルトでは scope.properites という、スコープ指定ルールを特定するプロパティ ファイルを作成または使用します。

たとえば、scope.properties ファイルを編集して伝播スコープを調整し、そのファイルを OnlineDownloadTask に対するパラメータとして使用できます。このファイルは、タスクがインベントリの各ノードで、スコープ内またはスコープ外として扱われる方法を宣言します。タスクはスコープ指定ルールを参照して、それをエクスポートされたインベントリに適用します。その結果、スコープ指定インベントリ ファイルは通常、完全インベントリのサブセットになります。scope.properties ファイルの詳細については、「スコープ プロパティ ファイルについて」を参照してください。

サンプル スコープ指定ワークフロー

この節では、Ant タスクを使ってインベントリをスコープ指定する基本のワークフローを説明します。このワークフローの目的は、スコープ指定により、インベントリ ファイルのサイズと複雑さを軽減することです。このワークフローの結果が、scope.properties ファイルです。このファイルには、2 つのインベントリを結合して最終的なマージ済みインベントリを作成するときに使用できる、スコープ指定ルールのセットが含まれています。

このワークフローで使用される Ant タスクは以下のとおりです。

図 8-3 は、インベントリ ファイルのスコープ指定に含まれる基本的な手順を示しています。この手順は、一連の Ant タスクを使用して、インベントリを結合するのに必要なスコープ指定情報を含む最終的な出力の scope.properties ファイルを生成します。

図 8-3 ソース インベントリのスコープ指定

ソース インベントリのスコープ指定

図 8-3 に示す手順には、次が含まれています。

  1. OnlineDownloadTask を呼び出します。このタスクを初めて呼び出すとき、scopeFile 属性を指定しないでください。この属性を指定しないと、タスクはサーバからインベントリ全体を取得します。取得したインベントリは図 8-3fullInventory.zip として示されている ZIP ファイルに保存されます。
  2. OfflineListScopesTask を使用して、インベントリ ファイルから scope.properties ファイルを抽出します。scope.properties ファイルは、インベントリを作成するのに使用されたスコープ指定ルールを指定します。scope.properties ファイルのコンテンツの詳細については、「スコープ プロパティ ファイルについて」を参照してください。スコープ指定インベントリを作成するには、scope.properties ファイルを編集して、編集済みファイルを OnlineDownloadTask への入力として再び使用します。
  3. 入力として編集済みの scope.properties ファイルを使って、OnlineDownloadTask を再実行します。この処理の結果は、指定したスコープ内に存在したアーティファクトのみを含む新しいインベントリ ファイルになります。
  4. このワークフローの最終手順は省略可能です。その最終手順は図 8-3 に含まれており、スコープ指定インベントリ ファイルから scope.properties ファイルを抽出できることを示しています。実際には、返されるプロパティ ファイルは、手順 3 で OnlineDownloadTask への入力として使用されたファイルと同一です。

スコープ指定ソース インベントリ ファイルを取得したあと、それを送り先インベントリ ファイルに結合して、マージ済みインベントリ ファイルを作成できます。

スコープ プロパティ ファイルについて

コード リスト 8-3 は、scope.properties ファイルの最初の 9 行を示しています。ファイルは、スコープ内にあるとみなされるアプリケーションの部分を一覧表示します。このファイルを編集して、伝播しない資産を削除できます。たとえば、すべてのコンテンツ リポジトリ資産を伝播から削除するため、scope_2 から scope_8 までラベル付けられている行を削除できます。

コード リスト 8-3 scope.properties ファイルからの引用
scope_0=Application
scope_1=Application\:ContentServices
scope_2=Application\:ContentServices\:Tools_Repository
scope_3=Application\:ContentServices\:Tools_Repository\:ContentNodes
scope_4=Application\:ContentServices\:Tools_Repository\:ContentTypes
scope_5=Application\:ContentServices\:Tools_Repository\:GlobalEntitlements
scope_6=Application\:ContentServices\:Tools_Repository\:GlobalDelegatedAdminPolicies
scope_7=Application\:ContentServices\:GlobalEntitlements
scope_8=Application\:ContentServices\:GlobalDelegatedAdminPolicies
scope_9=Application\:PersonalizationService
scope_10=Application\:PersonalizationService\:PlaceholderService


ポリシーの使用

ポリシーを設定すると、ソース インベントリと送り先インベントリが最終的に 1 つのインベントリ ファイルに結合されるときの、結合方法を管理できます。ポリシーを使用するには、OfflineListPoliciesTask を使用して、policy.properties ファイルをエクスポートします。このタスクにより、グローバル ポリシーを設定して、インベントリ内の全資産に適用できます。たとえば、すべての追加を受け入れるけれども、削除と更新は拒否するように選択できます。「ポリシー プロパティ ファイルについて」を参照してください。必要に応じて、policy.properties ファイルを編集して、特定の資産に対するポリシー選択を変更できます。

ヒント : 続ける前に、「ポリシーの使用」で説明されているポリシーの詳細を読み返すことをお勧めします。

ポリシーにより、次の 3 つのマージ事例の処理方法を選択できます。各マージ事例は、ポリシー ファイルで true または false に設定できます。

ポリシー プロパティ ファイルについて

コード リスト 8-4 は、policies.properties ファイルからの引用を示しています。すべての例で確認できるように、この伝播に対するポリシーは、追加と削除を受け入れ (Y)、更新を無視 (N) します。ポリシーはポータルの各資産に設定されます。このファイルを編集することにより、資産でポリシーを変更できます。

コード リスト 8-4 policies.properties ファイルからの引用
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 タスクは以下のとおりです。

図 8-4 は、インベントリの結合とコミットに対する基本的なワークフローを示しています。ワークフローは、ソース インベントリ ファイルと送り先インベントリ ファイルを (OnlineDownloadTask を使って) エクスポート済みであると仮定しています。

図 8-4 インベントリの結合とコミット

インベントリの結合とコミット

ソース インベントリ ファイルと送り先インベントリ ファイルを取得したら、それらを OfflineCombineTask を使って結合できます。このタスクの結果が、結合インベントリ ファイルです。このファイルは、スコープ ルールおよびポリシー ルールが指定されている場合、それらが適用されているソース インベントリ ファイルと送り先イベントリ ファイルの組み合わせです。

OnlineUploadTask を使用して、結合インベントリを送り先サーバに移動します。OnlineCommitTask を使用して、結合インベントリを送り先 サーバでコミットします。

OfflineCombineTask、OnlineUploadTask、および OnlineCommitTask については、「伝播 Ant タスク リファレンス」を参照してください。


  ページの先頭       前  次