Oracle WebLogic Server 12c: プロダクション再デプロイメントの構成と使用

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

目的

このチュートリアルでは、Oracle WebLogic Server 12cのプロダクション再デプロイメント機能を使用して、同じアプリケーションの2つのバージョンを同時にデプロイする方法について説明します。

所要時間

約20分

概要

WebLogicのプロダクション再デプロイメントでは、同じアプリケーションの新しいバージョンと古いバージョンを同時にデプロイします。 WebLogic Serverは、新しいクライアント・リクエストのみが新しいバージョンのアプリケーションに転送されるように、自動的にクライアントの接続を管理します。 再デプロイメント時にすでにアプリケーションに接続していたクライアント(HTTP Sessionオブジェクトを取得済みのクライアント)は、処理が完了するまでは引き続き古いバージョンのアプリケーションを使用します。完了した時点でWebLogic Serverが古いアプリケーションを自動的に廃止します。

アプリケーションにバージョン識別子を割り当てるには、デプロイ対象のエンタープライズ・アプリケーションまたはWebアプリケーションに含まれるMANIFEST.MFファイルに対して、バージョン名を指定する行を追加します。 もう1つの方法として、weblogic.Deployerコマンドライン・ツールの-appversion引数、またはWLSTコマンドであるdeploy()およびupdateApplication()archiveVersion引数を使用して、デプロイ時にバージョン名を指定することもできます。

このチュートリアルでは、MANIFEST.MFファイルに指定されたバージョン名を使用してバージョニングされたアプリケーションをデプロイします。

ソフトウェア要件

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

前提条件

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

最初のアプリケーション・バージョンのデプロイ

最初のバージョンのアプリケーションをデプロイするには、以下の手順を実行します。

.

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

  • deployversion1 - 最初のバージョンのsimple.warアプリケーションが含まれます。
  • deployversion2 - 2番目のバージョンのsimple.warアプリケーションが含まれます。

 

.

META-INF/MANIFEST.MFファイル内のバージョン情報を確認する場合、simple.warからファイルを解凍し、このファイルをテキスト・エディタで表示してください。 次に、deployversion1/simple.warファイルから解凍したMANIFEST.MFファイルを示します。

 

Weblogic-Application-Version: v1のエントリに注目してください。このエントリによって、バージョン名がv1に設定されます。

deployversion2/simple.warファイルに含まれるMANIFEST.MFでは、Weblogic-Application-Version属性にv2という別のバージョン名が設定されています。

 

.

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

$ ./startWebLogic.sh

 

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

 

.

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

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

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

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

 

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

 

.

サーバーが実行中になったら、WebLogic Serverの管理コンソールにアクセスします。 Webブラウザを開き、ドメインの管理コンソールのURLを入力します。
http://ホスト名:ポート/console

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

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

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

 

.

アプリケーションのデプロイはドメイン構成の変更になるため、最初に構成をロックする必要があります。 Change Centerで、「Lock & Edit」ボタンをクリックします。

 

.

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

 

.

右側のDeploymentsセクションで、「Install」ボタンをクリックします。

 

.

Current Locationフィールドを探します。 リンクを使用して、zipファイルが解凍された場所を表示します。 deployversion1ディレクトリへ移動します。 simple.warとその横にラジオ・ボタンが表示されます。 このラジオ・ボタンを選択します。 リンクとラジオ・ボタンを使用すると、コンソールによって自動的にPathフィールドが入力されます。

代わりに、Pathフィールドに手動でパスとファイル名を入力することもできます。

Next」をクリックします。

 

.

次の画面でInstall this deployment as an applicationが選択されていることを確認します。

Next」をクリックします。

 

.

次の画面で、「dizzy1」をクリックします。

Next」をクリックします。

注:使用するドメインでdizzy1がクラスタに含まれていない場合、選択画面の表示が若干異なります。 いずれの場合も、dizzy1を選択します。

 

.

次の画面ですべてをデフォルト値のままにして、「Next」をクリックします。

MANIFEST.MFファイルに指定されたバージョン名v1が"Archive Version"に設定されています。

 

.

次の画面で「No, I will review the configuration later.」を選択します。 次に、「Finish」をクリックします。

 

.

デプロイメントがインストールされたことを示すメッセージが表示されますが、変更をアクティブ化する必要があります。 また、Deployments表にsimple (v1)アプリケーションが表示されていることを確認します。 丸かっこ内の"v1"がバージョン名に相当します。

 

.

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

 

.

変更がアクティブ化されたことを示すメッセージが表示されます。 Deployments表に表示されたsimple (v1)アプリケーションのステータスが"Prepared"になっていることを確認します。

 

.

Deployments表で、simpleアプリケーションの左にあるチェック・ボックスを選択します。 「Start」ドロップダウン・リストを使用して「Servicing all requests」を選択します。

 

.

Yes」をクリックして処理を続行します。

 

.

開始リクエストが送信されたことを示すメッセージが表示されます。 すぐに、benefitsアプリケーションの状態が"Active"になります。 この場合、アプリケーションは、サーバーにアクセスできるユーザーから利用できる状態になっています。

 

アプリケーションのテスト

新しくデプロイされたWebアプリケーションをテストするには、以下の手順を実行します。

.

別のWebブラウザでdizzy1管理対象サーバーのホスト名とポートを入力し、最後に/simpleを付けます。

このチュートリアルで使用するURLは、以下のとおりです。
http://host01.example.com:8003/simple

フィールドに情報を入力し、「OK」ボタンをクリックします。

 

.

次の画面で「Start over...」リンクを使用して、最初のページに戻ります。

 

この方法を使用することで、アプリケーションがHTTP Sessionを取得します。

重要:このブラウザ・ウィンドウを閉じないでください。 このウィンドウは、古いバージョンのアプリケーションを使用しているクライアントに相当します。

 

2番目のバージョンへのアプリケーション更新

デプロイされたWebアプリケーションを最初のバージョンから2番目のバージョンへと更新するには、以下の手順を実行します。

.

管理コンソールのDeploymentsページに戻ります。

Change Centerで、「Lock & Edit」ボタンをクリックします。

Deployments表で、simpleアプリケーションの左にあるチェック・ボックスを選択します。

Update」ボタンをクリックします。

 

.

次の画面で、Source pathフィールドに表示された「Change Path」ボタンをクリックします。

 

.

Current Locationフィールドを探します。 リンクを使用して、zipファイルが解凍された場所を表示します。 deployversion2ディレクトリへ移動します。 simple.warとその横にラジオ・ボタンが表示されます。 このラジオ・ボタンを選択します。 リンクとラジオ・ボタンを使用すると、コンソールによって自動的にPathフィールドが入力されます。

代わりに、Pathフィールドに手動でパスとファイル名を入力することもできます。

Next」をクリックします。

 

このバージョンのWebアプリケーションでは、MANIFEST.MFファイルにv2という別のバージョン名が指定されています。 また、ページ見出しが異なるため、アプリケーションの実行時に"Version 1"と"Version 2"を簡単に見分けることができます。

 

.

前の画面に戻るとSource pathフィールドが更新されており、deployversion2ディレクトリのsimple.warファイルを指しています。

Next」ボタンをクリックします。

 

.

次の画面でSource pathが新しいバージョンを指していることを確認します。 また、Archive Versionv2になっている点にも注意します。 Allow the application to finish its current sessions and then retireが選択されていることを確認します。

Finish」ボタンをクリックします。

 

.

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

 

.

Deployments表に2つのバージョンのsimpleアプリケーションが表示されています。 simple (v1)という名前のアプリケーションの状態は"stop Running"です。 この状態では、現在のユーザーは引き続きこのアプリケーションを使用します。 すべてのユーザーがアプリケーションの使用を終了し、セッションがタイムアウトになった後で、古いバージョンは廃止されます。 simple (v2)というアプリケーションの状態は"Active"であるため、 すべての新規ユーザーはこのアプリケーションを使用します。

 

アプリケーションの再テスト

古いバージョンと新しいバージョンのアプリケーションが同時に実行されていることをテストするには、以下の手順を実行します。

.

古いバージョンが今でも古いユーザーに対して実行されているかどうかを確認するには、開いたままにしておいたWebブラウザに戻ります。 フィールドに情報を入力し、「OK」ボタンをクリックします。

2番目の画面に"Version 1"と表示されることを確認します。

HTTP Sessionが有効である限り、古いユーザーは引き続き"Version 1"を使用します。

 

.

別のWebブラウザにsimple WebアプリケーションのURLを入力します。

このチュートリアルで使用するURLは、以下のとおりです。
http://host01.example.com:8003/simple

注:このブラウザでは、先ほどのブラウザ・ウィンドウとは異なるHTTP Sessionを使用する必要があります。 Firefoxではすべてのウィンドウ(またはタブ)で同じセッションが共有されるため、"古いユーザー"のブラウザとしてFirefoxを使用している場合、"新しいユーザー"用にFirefoxを使用することはできません。 最善の方法は、2種類のブラウザ・プログラムを使用する方法です。 たとえば、一方ではFirefoxを、もう一方ではChromeを使用します。

 

アプリケーションの新規ユーザーとしてアクセスすると、タイトル・バーに"Version 2"が表示されることを確認します。

すべての新規ユーザーに対して"Version 2"が使用されます。

 

まとめ

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

関連情報

著者

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