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

     前  次    目次     
ここから内容

伝播 Ant タスクの使用

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

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

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

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

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

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

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

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

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

伝播サービス モジュール

デプロイされる場合、次の手順でサーブレットをアクセスできます。

http://server:port/earProjectNamePropagation/inventorymanagement 

ここで、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 タスクは要求を処理するために伝播サーブレットを使用するので、そのタスクを使用するとき、伝播サーブレットの名前を知る必要があります。たとえば、オンライン タスクは、伝播サーブレット アドレスを要求する serverURL パラメータを取得します。サーブレット アドレスは次のとおりです。

http://server:port/earProjectNamePropagation/inventorymanagement 

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

次を実行すると、伝播サーブレットが 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 ビルド スクリプトを提供します。この節では、伝播サーブレットが正しくインストールされていることをテストするためにサンプル ビルド スクリプトを使用する方法について説明します。サンプル ビルド スクリプトは次のとおりです。

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

処理が成功すると、サーバとの通信が正常に行われます。

ヒント : propagation_ant.xml ビルド スクリプトをコピーして、それを固有のカスタム伝播ビルド スクリプトを作成するための基礎として使用できます。サンプル スクリプトには、各タスクを、条件プロパティがある場合とない場合の両方で実行する例が含まれています。Ant ConditionTask により提供される条件プロパティにより、Ant スクリプトで単純なフロー制御を実装できます。

WebLogic ポータル環境の外部における Ant タスクの使用

WebLogic ポータル環境の外部でオンライン、またはオフラインの Ant タスクを使用するには、WebLogic ポータル インストールからユーザのローカル環境に JAR ファイルのセットをコピーする必要があります。これらの JAR ファイルは、ファイルを使用するシステム上で Ant タスクの CLASSPATH に配置する必要があります。

オンライン タスクに必用な JARS

<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

オフライン タスクに必用な JARS

<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 タスク リファレンス」を参照してください。

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

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

オンライン 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 タスクを示します。

表 8-2 オフライン タスク
手動選択 (変更) の有無のテスト。
src.zipdest.zip を、新しいインベントリの combined.zip に結合する。
src.zipdest.zip の差分をとり、結果を diff_cm.xml に書き込む。
2 つの変更マニフェスト ファイルに対して代数的演算を許可します。
表示するために combined.zip から作業中のアーティファクトを抽出する。
更新した作業中アーティファクトを combined.zip に挿入する。
インベントリ ファイルから有効なポリシーをエクスポートします。
インベントリにすべての分類法のリストを作成します。
名前の特定の文字列を使ってノードを検索し、必要なノードがエクスポート済みであるかを確認するために役立てる。
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 への入力として使用されたファイルと同一です。

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

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

scope.properties ファイルに表示される分類法は特定の分類法とそのすべての子がインベントリに含まれることを示します。たとえば、コード リスト 8-2 に、分類法の値 Application のみを指定した 1 行の scope.properties ファイルを示します。この分類法はすべてのアプリケーションがインベントリに含まれることを示します。

コード リスト 8-2 scope.properties ファイルからの引用
scope_0=Application

コード リスト 8-3の別の単純なスコープ ファイル指示に示すように、アプリケーションに関連付けられる各リポジトリからのすべてのコンテンツがインベントリに含まれます。

コード リスト 8-3 scope.properties ファイルからの引用
scope_1=Application\:ContentServices

コード リスト 8-4 に示すように、コンテンツ ノード node1 とその子およびコンテンツ タイプ typeA とその子のみが含まれます。

コード リスト 8-4 scope.properties ファイルからの引用
scope_0=Application\:ContentServices\:Tools_Repository\:ContentNodes\:node1
scope_1=Application\:ContentServices\:Tools_Repository\:ContentTypes\:typeA

要約すると、前の例に表示される分類法は次の意味があります。

Application

Application\:ContentServices

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) します。ポリシーはポータルの各資産に設定されます。このファイルを編集することにより、資産でポリシーを変更できます。

コード リスト 8-5 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 を使って結合できます。このタスクの結果が、結合インベントリ ファイルです。このファイルは、スコープ ルールおよびポリシー ルールが指定されている場合、それらが適用されているソース インベントリ ファイルと送り先イベントリ ファイルの組み合わせです。

ヒント : OnlineCombineTask は、Workshop for WebLogic の伝播ツールを使用して伝播セッションをインベントリ ファイルにエクスポートする機能と同じように実行します。「Workshop for WebLogic 伝播ツールの使用」を参照してください。

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

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


ページの先頭       前  次