WebLogic Serverデプロイメント・エッセンシャルズ

5,139 views

Published on

デプロイメントは、WebLogic Serverの運用管理において重要な作業です。本セッションでは、デプロイの基本からプロダクション再デプロイメントやFastSwapまで効率的な運用管理をサポートするデプロイメント機能を解説します。

日本オラクル オラクルユニバシティ
岡田 大輔

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,139
On SlideShare
0
From Embeds
0
Number of Embeds
277
Actions
Shares
0
Downloads
142
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

WebLogic Serverデプロイメント・エッセンシャルズ

  1. 1. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1WebLogic Server DeploymentEssentials日本オラクル株式会社オラクルユニバーシティ岡田 大輔2013年06月20日
  2. 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
  3. 3. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.3本日お話すること デプロイメント – 基礎編– デプロイとは?– デプロイメントの方法– ステージング デプロイメント – 応用編– デプロイメントプランと汎用ファイル・ロード・オーバーライド– プロダクション再デプロイメント– 開発モードでのデプロイメント
  4. 4. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.4デプロイメント – 基礎編
  5. 5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5デプロイメントとは? アプリケーションをWebLogic ドメインに登録して対象指定されたサーバーでアクティブにすること= クライアントからのアクセス可能な状態にすること デプロイメントフェーズは2段階ある– インストール (準備完了状態) アプリケーションをドメインに登録 アプリケーションのデプロイ対象指定(サーバー、クラスタ)– アクティベーション (アクティブ状態) デプロイ対象でアプリケーションを起動
  6. 6. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.6デプロイできるもの Java EE アプリケーション– エンタープライズ・アプリケーション (EAR)– EJB (JAR)– Webアプリケーション (WAR)– リソース・アダプタ (RAR) Java EE ライブラリ JDBC, JMS, WLDFモジュールTips: アプリケーションはアーカイブ形式でも展開形式でもデプロイ可能
  7. 7. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.7デプロイメントの方法3 つのデプロイメント方法 コンソールデプロイメント– 管理コンソールを使用したデプロイメント(ウィザードベース)– 常に2フェースデプロイメント (インストール→起動) コマンドラインデプロイメント– weblogic.DeployerまたはWLSTを使用したデプロイメント– デプロイメントコマンドの指定により任意の操作を実行可能 自動デプロイメント (開発モードのみ)– $DOMAIN/autodeploy配下に配置されたアプリケーションを自動的にデプロイ本番環境ではコンソールデプロイメントとコマンドラインデプロイメントを使用
  8. 8. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.8コンソール・デプロイメントデプロイメントの開始①ロック取得②[インストール]開始アプリケーション・インストール・アシスタントが開始される
  9. 9. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.9コンソール・デプロイメントデプロイメント・ソースの指定デプロイメント・ソースを指定TIPS: アプリケーション・ファイルは管理サーバーからアクセスできる場所に配置しておく
  10. 10. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.10アプリケーション・イントール・アシスタントステージング設定アプリケーションのステージング設定• デプロイメントのターゲットに定義されるデフォルトを使用 (サーバーのデフォルト設定を使用)• 全てのターゲットにこのアプリケーションをコピーする (stageモード)• デプロイメントを次の場所からアクセス可能にする (nostageモード)
  11. 11. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.11アプリケーションの起動「準備完了」状態ではクライアントはアクセスできない状態が「アクティブ」であることを確認起動はコンフィグレーションロック不要
  12. 12. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.12コンソール・デプロイメントのポイント コンソールデプロイ時は必ず2段階デプロイメント– インストール後の起動を忘れないように– アンデプロイ時は停止→削除– デプロイメントの細かい制御はコマンドラインデプロイメントの方が自由度が高い アプリケーション・ソースファイルは、必ず管理サーバがアクセス可能なファイルシステムに配置する必要がある デプロイ対象が管理対象サーバの場合は、ステージング設定も考慮する (stage/nostage)
  13. 13. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.13管理対象サーバーのマシン管理サーバーのマシンステージングとは?デプロイ対象のサーバーにアプリケーションを配布することwebApp.war<source_dir>webApp.war<server_dir>stageuploadwebApp.warservers<domain><server_dir>stage<app-name>webApp.warservers<server_root>管理対象サーバーwebApp.warアップロードステージングロードアクティブ化アプリケーション・ファイルは管理サーバの任意のディレクトリに配置可能。ファイルは必要に応じてアップロード可能。(コンソール/コマンドライン)管理サーバからステージされるファイルは各サーバーのステージングディレクトリに配置される
  14. 14. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14ステージングモード3つのステージングモード説明 考慮事項stage管理サーバーがアプリケーション・ソースファイルをデプロイ対象サーバーにコピー(ステージング)・複数サーバー・ドメイン構成・アプリケーション・ソースファイルが大きすぎない場合nostage管理サーバーはデプロイ対象サーバーにファイルをコピーしない。デプロイ対象サーバーはアプリケーション・ソースファイルに直接アクセスする・単一サーバー・ドメイン構成・アプリケーション・ソースファイルのサイズが大きく、フィアルを共有ディレクトリに配置できる場合・JSPファイルなどの再ロード機能を使用する場合(展開形式のみ)external_stage管理サーバーはデプロイ対象サーバーにファイルをコピーしない。管理者が手動でステージングを行う。管理サーバーでは、検証用にデプロイメント・ソースファイルが必要。各サーバーにステージングされたファイルは検証されない。・デプロイ対象のサーバへの手動ステージングを自動化できる場合・アプリケーションの部分再デプロイは不可
  15. 15. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15デフォルトステージングモード[サーバー] – [構成] – [デプロイメント]管理サーバーは nostage 、管理対象サーバーはstageがデフォルト値
  16. 16. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.16コマンドラインデプロイメント準備完了アクティブ①② ③④⑥⑤WLST weblogic.Deployer① distributeApplication() -distribute② startApplication() -start③ stopApplication() -stop④ undeploy() -undeploy⑤ deploy() -deploy⑥ undeploy() -undeploy⑦ redeploy() -redeploy⑦コマンドラインデプロイメントはWLST、またはweblogic.Deployerで実行可能* コマンドは管理サーバに対して実行デプロイなし管理モード起動時は管理ポートを有効化する必要がある(主にプロダクション再デプロイメント用)管理③②② ③
  17. 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17参考: コマンドライン・デプロイメントコマンド 説明 構文deploy(オンライン)アプリケーションをデプロイ deploy(appName, path, [targets], [stageMode], [planPath],[options])appName: デプロイメント名undeploy(オンライン)アプリケーションをアンデプロイundeploy(appName,[targets],[options])redeploy(オンライン)アプリケーションを再デプロイredeploy(appName, [planPath], [options])startApplication(オンライン)アプリケーションを起動 startApplication(appName, [options])option: adminMode=trueを 指定すると管理モードで起動stopApplication(オンライン)アプリケーションを停止 stopApplication(appName, [options])distributeApplication(オンライン)アプリケーションを分散 distributeApplication(appPath, [planPath], [targets],[options])※ appNameは appPath のファイル名が使われるlistApplications(オンライン)デプロイ済みアプリケーションの一覧listApplications()WLST
  18. 18. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.18参考: コマンドライン・デプロイメントa. アプリケーションのデプロイ(stageモード)b. アプリケーションのアンデプロイc. エンタープライズアプリケーションの特定モジュールを再デプロイweblogic.Deployer$ java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -passwordweblogic1 -deploy -name webApp -targets ManagedServer1 -source /u01/work/app/WebApp.war-stage$ java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -passwordweblogic1 -undeploy -name webApp -targets ManagedServer1$ java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -passwordweblogic1 -redeploy -name myApp -targets module1.war@ManagedServer1
  19. 19. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.19アプリケーションの再デプロイとアンデプロイコンフィグレーション・ロックを忘れずにアンデプロイは、停止→削除の順
  20. 20. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.20進行中のデプロイメント・タスクの確認長時間実行されるデプロイメントのステータスを確認するには?• 任意のタスクを選択して取消可能• リンクをクリックするとタスクの詳細を確認可能NOTE: コマンドラインでは…-listtask : タスク一覧の取得-list –id xx : タスクの詳細-cancel -id xx : タスクキャンセル
  21. 21. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21デプロイメント – 応用編
  22. 22. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22デプロイメントプラン 環境ごとに異なるデプロイメントパラメータを指定するための仕組み– アプリケーションのデプロイメント記述子を上書き– デプロイメント・ソースを変更せずに上書き指定可能plan.xmlreference-descriptor:DevDataSourcecontext-root:myApp1myApp.earデプロイメント記述子開発環境plan.xmlreference-descriptor:QADataSourcecontext-root:myApp1myApp.earデプロイメント記述子QA環境plan.xmlreference-descriptor:ProdDataSourcecontext-root:ordermyApp.earデプロイメント記述子本番環境
  23. 23. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23デプロイメントプラン用のディレクトリ構成<app_install>appplanwebApp.warplan.xmlコンソールデプロイメントで指定するディレクトリアプリケーション・インストールディレクトリ(ディレクトリ名は任意。サブディレクトリにappとplanを配置)アプリケーション・ファイルの配置場所(アーカイブ形式でも展開形式でもOK)プランファイルの配置場所(デプロイメントプラン・ファイルは生成可能:- デプロイ前: weblogic.PlanGenerator- デプロイ後: 管理コンソールで編集 )デプロイメントプランの生成$ java weblogic.PlanGenerator –root /u01/work/app_install
  24. 24. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.24デプロイメントプランを指定したデプロイメントTIPS: コマンドラインデプロイメントでは –source と –plan を指定$ java weblogic.Deployer -adminurl t3://localhost:7001 -username weblogic -password weblogic1 -deploy -name webApp -targets ManagedServer1 -source/u01/work/app_install/app/webApp.war –plan /u01/work/app_install/plan/plan.xmlアプリケション・インストール・ディレクトリを指定可能
  25. 25. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.25plan.xml編集はツール(IDE, エディタ)もしくは管理コンソールでOverrideする要素とその値を指定(デプロイメント記述子の要素をある程度把握しておく必要あり)
  26. 26. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26デプロイメントプランの編集管理コンソールを使用する場合保存されたデプロイメント・プランは管理コンソールでも表示される管理コンソールでプランを編集すると上書きされるため、事前にバックアップ取得を推奨
  27. 27. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.27汎用ファイル・ロード・オーバーライドアプリケーション固有のファイルをオーバーライド<app_install>appplanwebApp.warplan.xmlAppFilesOverrideswebApp.warmyApp.propertiesアプリケーション内の固有のリソースファイル(.propertiesファイルなど)をオーバーライド可能- クラスはオーバーライドしない- planディレクトリ配下にAppFilesOverridesディレクトリにファイルを配置- 対象はClassLoader#getResourceAsStream()でロードするファイルのみ(ServletContext#getResourceAsStream()は対象外)
  28. 28. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28再デプロイメント 再デプロイメントを行うとアプリケーションのデプロイメント・ファイルを更新できる– アプリケーションは直ちに更新される (インプレース再デプロイメント)– 更新中はアプリケーション・サービスが中断されるインプレース再デプロイメントでは、サービス中断を回避するためにクラスタ構成+縮退運転など運用回避を検討する必要あり。
  29. 29. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.29プロダクション再デプロイメント WebLogic Serverではアプリケーションをバージョニング可能– 保持できるバージョンは2つまで プロダクション再デプロイメントでは新しいバージョンと古いバージョンを並行してデプロイする– 既存のクライアント・リクエストは古いバージョンへ– 新しいクライアント・リクエストは新しいバージョンへバージョニングによる再デプロイメントプロダクション再デプロイメントを使用するとサービスを中断しないアプリケーション更新をサーバ単体で実現可能
  30. 30. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30プロダクション再デプロイメントWebLogic Server古いアプリケーションWebApp (v1)新しいアプリケーションWebApp (v2)既存のユーザ・リクエスト新しいユーザ・リクエスト新バージョンデプロイ後はリタイア中にデプロイ後は新バージョンがアクティブにアクセスするバージョンはWebLgoic Serverが管理NOTE: すべてのセッションがタイムアウト or 指定したタイムアウト時間経過でアプリケーションはリタイアする
  31. 31. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31プロダクション再デプロイメントの要件 プロダクション再デプロイメントのサポート対象– Webアプリケーション(war)– HTTP経由またはグローバルJMS宛先からのインバウンド・メッセージ経由でアクセスするエンタープライズ・アプリケーション(ear)– Webサービス 再デプロイメント時に変更できないもの– デプロイメント対象– Webアプリケーションのセキュリティ・モデル– Webアプリケーションの永続ストア設定
  32. 32. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.32アプリケーションのバージョンの指定方法 プロダクション再デプロイメントを行うアプリケーションにはバージョン指定を行う– MANIFEST.MF ファイルに Weblogic-Application-Version を指定– weblogic.Deployer で –appversion オプションで指定 WLSTではdeployコマンドの versionIdentifier 属性で指定バージョン識別子は文字列で指定使用可能な文字: 英数字, 他の文字と組み合わせた 「.」,「_」,「-」
  33. 33. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.33リタイア済みのアプリケーション リタイアされたアプリケーションは手動で削除する必要がある– 削除しておかないと次のバージョンをデプロイできない プロダクション再デプロイメントをロールバックするには?リタイア済みのアプリケーションを再デプロイする
  34. 34. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.34新しいバージョンの配布WebLogic Server古いアプリケーションWebApp (v1)新しいアプリケーションWebApp (v2)既存のユーザ・リクエスト管理チャネル経由のユーザ・リクエスト新バージョン起動まではアクティブに分散後に管理モードで起動リスンポート 管理ポートNOTE: 新バージョンのアプリケーションを管理モードで起動すると管理ポートにアクセスできるユーザだけがアクセス可能
  35. 35. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.35新しいバージョンの配布手順1. 新バージョンを分散2. 管理モードで起動3. アプリケーションを起動コマンドラインデプロイメント$ java -Dweblogic.security.TrustKeyStore=DemoTrust -Dweblogic.security.SSL.ignoreHostnameVerification=true weblogic.Deployer -adminurlt3s://localhost:9002 -username weblogic -password weblogic1 -distribute -name webApp -targetscluster1 -source v1/WebApp.war$ java -Dweblogic.security.TrustKeyStore=DemoTrust -Dweblogic.security.SSL.ignoreHostnameVerification=true weblogic.Deployer -adminurlt3s://localhost:9002 -username weblogic -password weblogic1 -start -name webApp -targets cluster1-appVersion v1 -adminmode$ java -Dweblogic.security.TrustKeyStore=DemoTrust -Dweblogic.security.SSL.ignoreHostnameVerification=true weblogic.Deployer -adminurlt3s://localhost:9002 -username weblogic -password weblogic1 -start -name webApp -targets cluster1-appVersion v1
  36. 36. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.36参考: 管理ポートの有効化各サーバーで管理ポート変更する場合はローカル管理ポートのオーバーライドを指定するTIPS: 管理ポートを有効化した場合は、サーバーの起動、管理コンソール、WLSTなどの管理用通信は全て管理ポート経由 (t3はt3s)
  37. 37. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.37開発モードでのデプロイメント自動デプロイメントautodeploywebAppBwebAppA.war<domain>WEB-INFREDEPLOYサーバーを開発モードで起動した場合、$DOMAIN/autodeploy ディレクトリ配下に配置したアプリケーションは自動デプロイされる- デプロイ対象のサーバーは管理サーバー- ファイル操作によってデプロイメントが自動的に行われる配置(デプロイ)、更新(再デプロイ)、削除(アンデプロイ)- アーカイブ形式、展開形式いずれもOK展開形式の再デプロイはREDEPLOYファイルを更新自動デプロイメントではアプリケーション・ファイルの配置のみでデプロイメント作業が自動的に実行される(=管理者による作業は不要なため開発環境向き)
  38. 38. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.38FastSwap 開発環境におけるクラス更新のためのデプロイ→テストのサイクルをシームレスに– 開発モードかつ展開形式デプロイのみで使用可能 再ロード対象はWEB-INF/classesまたはAPP-INF/classes配下のクラス– アプリケーションのデプロイメント記述子(weblogic.xml)で有効化実行時にクラスを再ロードする仕組み※本番モードではFastSwapは無効化されるNote: FastSwapでサポートされない変更・クラスの実装インタフェースのリストの変更や、スーパークラスの変更、Javaアノテーションの追加または削除、Enumの定数の追加または削除、finalizeメソッドの追加または削除・変数名を変更する場合、オブジェクトの状態は保持されない
  39. 39. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.39OEPEでのデプロイメント展開+分割開発ディレクトリ・デプロイメント Oracle Enterprise Pack for Eclipseでは、アプリケーションは分割開発ディレクトリ・デプロイメントでデプロイされる管理サーバー_auto_generated_ear_デプロイソースディレクトリビルドディレクトリ• Javaファイル• デプロイメント記述子• HTMLファイル• …• classファイル• デプロイメント記述子• .beabuild.txtプロジェクトディレクトリOEPEプラグインディレクトリearデプロイ
  40. 40. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.40OEPEでのデプロイメントサーバーのプロパティで公開設定を変更可能分割開発ディレクトリ・デプロイとアーカイブ形式でのデプロイの切り替えデプロイ対象サーバーやデプロイメントプランの指定
  41. 41. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.41まとめ WebLogic Serverではアプリケーションを効率的に管理するために様々なデプロイメント機能がサポートされます– どのアプリケーション・タイプでもデプロイメント方法は同じです– 開発モードと本番モードはデプロイメント機能が大きく異なります 本番運用時はサーバーを本番モードで起動しましょう状況に応じて適切なデプロイメント方法を選択しましょう
  42. 42. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.42オラクルユニバーシティからのお知らせ
  43. 43. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.43Oracle Universityからのお知らせ デプロイメントを始めとしたWebLogic Serverの管理方法を体系的に学習したい方に最適な研修コースをご提供しています。– Classroomトレーニングだけでなく、Live Virtual Classや『Oracle トレーニング・オンデマンド』など多様な受講形態から選択いただけます。
  44. 44. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.44コース内容■Oracle Fusion Middleware の概要■Oracle WebLogic Serverのインストール■WebLogic Server ドメインのコンフィグレーション■アプリケーションのデプロイ■JMS アプリケーションのコンフィグレーション■Oracle HTTP Server のコンフィグレーション■バックアップおよびリカバリの管理■WebLogic Serverのアーキテクチャ■管理コンソールおよび他の管理ツールの概要■Oracle WebLogic Server の管理およびロギングの使用■データソース、JDBCドライバ、接続プールの設定■WebLogic Serverの基本セキュリティのコンフィグレーション■Oracle WebLogic クラスタのコンフィグレーション■全体バックアップ、増分バックアップ受講前提条件・Linux の基本コマンドおよびデスクトップのナビゲーション・クライアント/サーバーの概念における TCP/IP ネットワークに関する基本的な知識・Java EE の基礎知識(サーブレットや JSP など) ※推奨対象者 ・Oracle WebLogic Server 11g/12c管理者 ・Javaアプリケーション開発者コース日程5日間日程の詳細は Oracle University Webサイト にてご確認ください。受講料 定価¥363,825(税込) ※Oracle PartnerNetwork会員様は、パートナー割引価格で受講いただけます。Oracle Application Gridの基盤を支えるOracle WebLogic Server 11gの管理コース!このコースでは、Web管理者がOracle WebLogic Server 11gのインストールおよび設定する方法について説明します。Web管理者が管理コンソールやコマンドライン、およびスクリプトツール(WLST)などを使用して、Java EEアプリケーションをOracle WebLogic Server 11gにデプロイする方法についても説明します。その他に、Oracle WebLogic Server のWebインタフェースとしてOracle HTTP Serverを設定する方法を解説し、またOracle WebLogic Serverクラスタを設定してアプリケーションのフェイルオーバーとロードバランシングをサポートする方法を学習します。また、WebLogic Server管理者の管理タスクの概要について説明します。Oracle WebLogic Server 11g: 管理ミドルウェア次回開催日程: 2013年8月26日(月) ~ 30日(金)※ WLS12cとの差分は参考資料を配布します
  45. 45. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.45オラクルユニバーシティは赤坂に移転します 2013年7月1日よりオラクルユニバーシティは トレーニングキャンパス赤坂 へ移転します。これを記念して「トレーニングキャンパス赤坂開校記念キャンペーン」を実施します。トレーニングキャンパス赤坂 開校記念キャンペーン2013年7月、8月にトレーニングキャンパス赤坂で開催されるトレーニングを受講されたお客様に も・れ・な・く オラクル特製マイクロファイバークロスをプレゼント。新キャンパスで WebLogic Server管理コース を受講しよう!
  46. 46. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.46
  47. 47. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.47

×