Oracle WebLogic Server 12c: デプロイメント・プランの作成と使用

<このテキストを削除しないでください。これは、ブラウザ実行時に生成される"主要"なトピック一覧のプレースホルダです。>

目的

このチュートリアルでは、PlanGeneratorユーティリティを使用して、既存のWebアプリケーションに対する初期デプロイメント・プランを生成する方法について説明します。 次に、デプロイメント・プランの編集方法と、アプリケーションの再デプロイ時にOracle WebLogic Server 12cの管理コンソールを使用してプランと関連付ける方法を説明します。

所要時間

約30分

概要

デプロイメント・プランは、特定のWebLogic Server環境用(開発、テスト、本番など)に、アプリケーションのデプロイメント構成を定義するためのXMLドキュメントです。 デプロイメント・プランはアプリケーションのアーカイブ・ファイルの外に格納され、アプリケーションに既存のJava Enterprise EditionおよびWebLogic Serverのデプロイメント・ディスクリプタをオーバーライドするデプロイメント・プロパティを含んでいます。 デプロイメント・プランを使用すると、既存のデプロイメント・ディスクリプタを修正することなく、特定の環境用にアプリケーションのWebLogic Server構成を簡単に変更できます。

weblogic.PlanGeneratorユーティリティはJavaベースのコマンドライン・ツールであり、WebLogic Serverのデプロイメント構成の一部をデプロイメント・プラン・ファイルにエクスポートする必要のある開発者を対象としています。 このユーティリティを使用すると、完全な新規プランの生成または既存プランへの追加を実行できます。 このチュートリアルではこのユーティリティを使用してデプロイメント・プランを生成します。 また、Oracle WebLogic Server 12c(12.1.1)の管理コンソールから、このプランを使用してWebアプリケーションを再デプロイします。

ソフトウェア要件

ソフトウェア要件は、以下のとおりです。

前提条件

このチュートリアルを始める前に、Oracle by Example チュートリアルの『Oracle WebLogic Server 12c: Installing WebLogic Server and Creating a Domain』と『Oracle WebLogic Server 12c: Configuring Managed Servers』を完了している必要があります。

Deploying the Application

提供されたJava Webアプリケーションをデプロイするには、以下の手順を実行します。

.

ドメインの管理サーバーがまだ実行されていない場合は、これを起動します。 ターミナル・ウィンドウでドメイン・ディレクトリに移動し、次のコマンドを実行します。

$ ./startWebLogic.sh

 

ユーザー名パスワードを入力するよう指示されたら、ドメイン管理者の資格証明を入力します。

 

.

管理対象サーバーdizzy1も実行されている必要があります。 実行中でない場合、これを起動します。 別のターミナル・ウィンドウでドメイン・ディレクトリに移動してから、cdを使用してbinサブディレクトリに移動します。 次のコマンドを入力します。

$ ./startManagedWebLogic.sh dizzy1 http://host01.example.com:8001

これによって、dizzy1という名前の管理対象サーバーを起動するスクリプトが実行されます。 また、次のドメイン管理サーバーのURLが引数として指定されている点に注意してください。
http://host01.example.com:8001

注: 使用するドメイン管理サーバーのホスト名とポートを指定してください。

 

ユーザー名パスワードを入力するよう指示されたら、ドメイン管理者の資格証明を入力します。

 

.

WebLogic Serverのドメインとサーバーがあるマシン上にdeploy_plan.zipファイルをダウンロードします。 ローカル・ドライブにファイルを解凍します。 このチュートリアルでは、/home/oracle/apphomeディレクトリにファイルが解凍されます。 このディレクトリは、後続の手順で<APP_HOME>として参照されます。 このzipファイルには、次の2つのファイルが含まれます。

  • hrapp.war
    アーカイブ・ファイルに含まれる単純なWebアプリケーション
  • deploy_hrapp.py
    Webアプリケーションのデプロイに使用されるWebLogic Scripting Tool(WLST)スクリプト

 

.

新しいターミナル・ウィンドウを開き、WebLogicインストール・ディレクトリ内の/server/binディレクトリに移動します。 このチュートリアルで使用したディレクトリは、以下のディレクトリです。
/u01/app/oracle/Middleware/wlserver_12.1/server/bin

次のコマンドを使用してsetWLSEnv.shスクリプトを実行します。

$ source setWLSEnv.sh

これによってPATHおよびCLASSPATHが設定され、WLSTデプロイメント・スクリプトが実行できるようになります。

 

.

次に、<APP_HOME>ディレクトリに移動します。 このチュートリアルで使用したディレクトリは、/home/oracle/apphomeです。

提供されたWLSTスクリプトdeploy_hrapp.pyを実行する前に、このスクリプトを編集する必要があります。 スクリプトの1行目では、connect()コマンドが使用されています。 このコマンドの最初の引数はドメイン管理者のユーザー名であり、2番目の引数はユーザー・パスワードであり、3番目の引数はドメイン管理サーバーのホストおよびポートです。 スクリプトを実行する前に、使用するドメインに合った引数の値を指定してください。

必要な変更をスクリプトに加えたら、ファイルを保存します。

 

.

deploy_hrapp.pyスクリプトを実行して、hrapp.warファイル内のWebアプリケーションをデプロイし、ターゲットとしてdizzy1サーバーを設定します。 これには、次のコマンドを実行します。

$ java weblogic.WLST deploy_hrapp.py

 

デプロイ処理が成功したことを示すメッセージが表示されます。

注: Context.close()に関する警告は無視してかまいません。 この警告はWLSTスクリプトを実行すると常に表示されますが、問題ではありません。

注: このターミナル・ウィンドウを閉じないでください。 後の手順で使用します。

 

.

デプロイメントが成功したことを確認するには、管理コンソールを使用します。 ブラウザを開き、URL:
http://<ホスト名>:<ポート>/consoleを入力します。

このチュートリアルでは、http://host01.example.com:8001/consoleが使用されました。

注: 使用するドメイン管理サーバーのホスト名とポートを指定してください。

Welcome画面で、サーバーの起動時に入力したユーザー名パスワードを使用してログインします。

Domain Structureパネルで、「Deployments」をクリックします。 Deployments表から、"Active"状態のHRAppを探します。

 

.

デプロイしたアプリケーションを使用するには、別のWebブラウザでdizzy1管理対象サーバーのホスト名とポートを入力し、最後に/HRAppを付けます。

このチュートリアルで入力されたURLは、以下のURLです。
http://host01.example.com:8003/HRApp

 

デプロイメント・プランの生成と編集

Webアプリケーション向けの初期デプロイメント・プランを生成し、編集するには、次の手順を実行します。

.

WLSTスクリプトを実行したターミナル・ウィンドウに戻ります。 現在のディレクトリが<APP_HOME>のままであることを確認します。 このチュートリアルで使用したディレクトリは、/home/oracle/apphomeです。

次のコマンドを入力し、hrapp.warファイルに対してPlanGeneratorツールを実行します。

$ java weblogic.PlanGenerator -all hrapp.war

 

plan.xmlファイルにプランが保存されたことを示すメッセージが表示されます。 また、"Saved configuration for application, hrapp.war"というメッセージも表示されます。

 

.

<APP_HOME>/plan.xmlファイルを探して、テキスト・エディタで開きます。

 

.

次の<variable>要素を検索します。

<variable>
  <name>WeblogicWebApp_ContextRoots_xxxxxxxxxxxxxx</name>
  <value xsi:nil="true"></value>
</variable>

xxxxxxxxxxxxxxは、実際はランダムな数字になります。

 

.

<variable>要素を編集します。 はじめに、<value>タグからxsi:nil="true"を削除します。

次に、<value>タグのボディに/hrを設定します。

編集が完了すると、<value>タグは次のように表示されます。
<value>/hr</value>

 

.

ファイルのさらに下の方から、先ほど編集した<variable>要素と同じ名前を持つ<variable-assignment>要素を探します。

<variable-assignment>
  <name>WeblogicWebApp_ContextRoots_xxxxxxxxxxxxxx</name>
  <xpath>weblogic-web-app/context-root</xpath>
  <origin>planbased</origin>
</variable-assignment>

ここでも、xxxxxxxxxxxxxxは、実際はランダムな数字になります。

 

.

次に示すとおりに、新しい<operation>子要素を<variable-assignment>要素に追加します。

<variable-assignment>
  <name>WeblogicWebApp_ContextRoots_xxxxxxxxxxxxxx</name>
  <xpath>weblogic-web-app/context-root</xpath>
  <origin>planbased</origin>
  <operation>replace</operation>
</variable-assignment>

 

.

ファイルを保存します。

このデプロイメント・プランは、WebLogic ServerのWebアプリケーション・デプロイメント・ディスクリプタであるweblogic.xmlに含まれるcontext-root要素をオーバーライドします。 新しいコンテキスト・ルートは/hrになります。

デプロイメント・プランを使用したアプリケーションの更新

新しいデプロイメント・プランを使用してデプロイ済みのWebアプリケーションを更新するには、次の手順を実行します。

.

管理コンソールへ戻ります。 Change Centerで、「Lock & Edit」ボタンをクリックします。

 

.

Domain Structureパネルで、「Deployments」をクリックします。

 

.

HRAppアプリケーションのチェック・ボックスを選択し、「Update」ボタンをクリックします。

 

.

Deployment plan pathの横にある「Change Path」ボタンをクリックします。

 

.

新しいplan.xmlファイルのラジオ・ボタンを選択し、「Next」をクリックします。

必要な場合は、Current Locationフィールドの横にあるハイパーリンクを使用し、<APP_HOME>ディレクトリへ移動します。

 

.

Redeploy this application using the following deployment filesの横にあるラジオ・ボタンを選択します。

次に、「Finish」をクリックします。

 

.

Change Centerパネルで、「Activate Changes」ボタンをクリックします。

 

"All changes have been activated. No restarts are necessary."というメッセージが表示されます。

 

.

アプリケーションの新しいコンテキスト・ルートを検証します。 Webブラウザでdizzy1管理対象サーバーのホスト名とポートを入力し、最後に/hrを付けます。

このチュートリアルで入力されたURLは、以下のURLです。
http://host01.example.com:8003/hr

以前のコンテキスト・ルートは/HRAppでした。

 

まとめ

このチュートリアルで学習した内容は、次のとおりです。

参考資料

著者

Hardware and Software Engineered to Work Together Copyright © 2011, Oracle and/or its affiliates. All rights reserved