oracle fusion middleware tech topic meeting · oracle weblogic server oracle database java...
TRANSCRIPT
<Insert Picture Here>
日本オラクル株式会社2011年8月3日
基礎から学ぶ WebLogic (入門編)
WebLogic Server勉強会@大阪第65回夜な夜な! なにわオラクル塾
Copyright© 2011, Oracle. All rights reserved.
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことはできません。以下の事項は、マテリアルやコード、機能を提供することをコミットメント(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さい。オラクル製品に関して記載されている機能の開発、リリースおよび時期については、弊社の裁量により決定されます。
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。
2
Copyright© 2011, Oracle. All rights reserved. 3
本日のご説明内容とゴール
• 【前半】
• JavaのWebアプリケーション・サーバについて
• Oracle WebLogic Serverの概要
• Oracle WebLogic Serverの特長
• [参考] Oracle WebLogic Serverのライセンス
• 【後半】
• Oracle WebLogic Serverのアーキテクチャ基礎
• Oracle WebLogic のインストールとドメイン構成
• 【ゴール】• Oracle WebLogic Serverとは何か、を理解する
• Oracle WebLogic Serverと他のAPサーバが違う点を理解する
• Oracle WebLogic Serverの「ドメイン」の基本概念を理解する
Copyright© 2011, Oracle. All rights reserved. 4
JavaのWebアプリケーション・サーバについて
Copyright© 2011, Oracle. All rights reserved. 5
JavaのWeb アプリケーション・サーバー• Oracle WebLogicは、「Java Webアプリケーション・サーバ」製品として位置付けられています。
• JavaをベースにしたWebアプリケーションサーバーは、一般的に下記のような特長があります。
• Javaのアプリケーションを実行する。
• Javaのアプリケーションが動作するために必要な機能を提供する。(DB接続など)
• JavaEEという仕様が公開されており、動作や振る舞い、アプリケーションのAPIは定められている。
• したがって、どのベンダーの製品でも、JavaEE仕様に準拠していれば、同じアプリケーションは必ず同じように動作する。(ポータビリティ)
JavaEE(Java Enterprise Edition) <仕様>
アプリケーションA
Web
ブラウザ
HTTP
リクエスト
HTTP
レスポンス
Webアプリケーション・サーバ <実装>
データベース
アプリケーションB
アプリケーションC
DB
接続サービス
リクエスト受付とディスパッチ
Copyright© 2011, Oracle. All rights reserved. 6
JavaEE仕様に準拠した各社のJavaのWeb アプリケーション・サーバ
• オラクルの場合
• Oracle WebLogic Server• Oracle internet Application Server
• IBM の場合
• WebSphere Application Server
• オープンソース
• JBoss
• Tomcatは、JavaEEのうち、Servlet API 部分だけをサポートしています。
IBM
WebSphere
Oracle
WebLogic
JavaEE
アプリケーション開発
どちらでも動作できる
JavaEE仕様準拠
Tomcat
JavaEEのうち、Servlet API 仕様準拠
Servlet/JSP
アプリケーション
どちらでも動作できる
開発
Copyright© 2011, Oracle. All rights reserved. 7
[参考] JDKとJavaEEの歴史
• J2EEは、Java2 Enterprise Editionの略で、現在は「Java Enterprise Edition」と呼ばれています。
• JavaSEは、Java Standard Editionの略でJavaの中核となる技術やツールの仕様を指し、一般的にはJava Developer’s Kit(JDK)がその実装になります。
JavaEE JDK(Java SE)
1996年(サーバサイドJava技術の統一仕様が無い状態)
JDK 1.0
1997年 JDK 1.1
1998年 JDK 1.2
1999年2月 J2EE 1.2
2000年 JDK1.3
2001年9月 J2EE 1.3
2002年 JDK1.4
2003年11月 J2EE 1.4
2004年 JDK 5.0 (1.5)
2006年5月 JavaEE 5.0
2006年12月 JDK 6.0 (1.6)
2009年12月 JavaEE 6.0
Copyright© 2011, Oracle. All rights reserved. 8
Oracle WebLogic Serverの概要
Copyright© 2011, Oracle. All rights reserved.
Oracle WebLogic Serverとは
Java
プログラム
HT
TP
リスナ
HTTP
HTTPS
プレゼンテーション層 データアクセス層端末
Webブラウザ
PDA、携帯
ビジネスロジック層
JavaEEコンテナ
Java
プログラム
Java
プログラム
Java
プログラム
RDB
RDB
データベース層
RDBMS
Oracle WebLogic Server Oracle Database
Java
プログラム
Java
プログラム
• Oracle WebLogic Serverは、JavaEE5完全準拠のWebアプリケーションサーバ製品です。
• ミッション・クリティカルシステムで多くの採用実績があります。
• JVMであるOracle JRockitがバンドルされており特にIAサーバで高い性能を発揮します。
• 単にJavaEEの仕様に準拠しているというだけでなく、実際の開発や運用で役立つ様々な機能を統合的に提供できます。
Oracle JRockit JVM
9
Copyright© 2011, Oracle. All rights reserved. 10
WebLogicは、JavaEE仕様に準拠しつつ、
堅牢なアプリケーション実行基盤を提供するための機能を豊富に提供します。
WebLogic Server のゴール
Java EE準拠のAPサーバのゴール
より堅牢なアプリケーション実行基盤としてのWebLogic
JavaEE機能の提供
充実した管理機能
Oracle DBとの親和性
優れた性能
高い可用性
JavaEE機能の提供
高い安定性・信頼性
これらの詳細は、当資料の「Oracle WebLogic Serverの特長」
で説明します。
Copyright© 2011, Oracle. All rights reserved.
WLS 7.0(’02)
WLS 10.0(’07)
• J2EE 1.4
• Servlet2.4• JSP 2.0• EJB 2.1• JMS 1.1• WS-Security• WS-Reliable
Messaging• WS-Addressing• WS-Policy• WS-Secure
Conversation• SAML• JAX-RPC 1.1• SAAJ 1.2• JSR181(JWS)• Non-Stop• Ease Of
Management• Apache Beehive• JRockit &
Java SE5.0
WLS 9.x(’05)
• Java EE 5.0•Servlet 2.5•JSP 2.1•JSF 1.2•EJB 3.0•JMS 1.1•JCA 1.5•JAXB 2.0•StAX 1.0
• WS-Security• WS-Reliable Messaging• WS-Addressing• WS-Policy• WS-SecurityPolicy• WS-Secure Conversation• SAML
• JAX-WS 2.0 • SAAJ 1.3• MTOM / XOP
• Non-Stop Service• Ease Of Management• Apache Beehive• JRockit & Java SE 5.0/6.0
• J2EE 1.3• J2EE CA 1.0
• Web Services enhancements
• UDDI 2.0• SOAP 1.1/1.2• JAXP 1.1• Workshop• Security Framework• Tuxedo/ jCOM
Connectivity• JRockit 7.0
WLS 8.1(’03)
• J2EE 1.3
• Web Services enhancements
• WS-Security• SOAP 1.1/1.2 Reliable
Messaging
• Non-XA Resource Support
• RASP Improvements
• OA&M Improvements
• Tuxedo Connectivity
• JRockit 8.1
WebLogic Server の機能と歴史
WLS 10.3(’08)
WLS 11g(10.3.1~)(’09)
• Java EE 5
• JAX-WS 2.1
• JAXB 2.1
• WS-ReliableMessaging
1.1
• WS-Policy 1.5
• WS-SecurityPolicy 1.2
• Oracleブランドとして初の出荷
• Web 2.0対応(HTTP Pub-Sub Server)
• Oracle DB/RAC 11g対応• 運用管理機能の拡張(FastSwap/On-Demand
Deployment)• 高可用性機能の拡張
(完全なサービス自動移行)
• JRockit & Java SE 6対応
• Java EE 5
• JAX-WS 2.1
• JAXB 2.1
• WS-ReliableMessaging
1.1
• WS-Policy 1.5
• WS-SecurityPolicy 1.2
• Oracle技術との統合•
(OHS, WebCache、Forms/Reportsなど)
• Oracle Fusion
Middleware 11gの基盤• 更なるOracle RAC連携(GridLink for RAC)
• WebLogic JMS - Oracle
AQ連携(Enteprise Grid
Messaging)• Cohereneとの統合(Active Cache)
• 運用管理機能の拡張(Real Operations)
• JRockit & Java SE 6
WebLogicは、長年にわたり多くの実績をもつWebアプリケーションサーバです。現在の最新バージョンは、11g(10.3.5)で、JavaEE5仕様に準拠しています。
11
Copyright© 2011, Oracle. All rights reserved.
[参考] Oracle Fusion MiddlewareにおけるWebLogic
• Oracle WebLogic Serverは、Oracle Fusion Middlewareというミドルウェア製品の総称となるブランドの中に含まれた製品です。
Oracle Fusion
Middleware 11g
(11.1.1.1)
Oracle Fusion Middleware 11g R1(11.1.1.x)
Oracle
WebLogic11g
(10.3.1)
2009年9月 2010年2月 2010年7月 2011年1月
12
Oracle Fusion
Middleware 11g
(11.1.1.2)
Oracle
WebLogic11g
(10.3.2)
Oracle Fusion
Middleware 11g
(11.1.1.3)
Oracle
WebLogic11g
(10.3.3)
Oracle Fusion
Middleware 11g
(11.1.1.4)
Oracle
WebLogic11g
(10.3.4)
Oracle Fusion
Middleware 11g
(11.1.1.5)
Oracle
WebLogic11g
(10.3.5)
2011年7月
Copyright© 2011, Oracle. All rights reserved. 13
Oracle WebLogic Serverの特長
Copyright© 2011, Oracle. All rights reserved. 14
WebLogic Serverの特長
• 高い可用性
• 充実した管理機能
• 優れた性能
• 高い安定性・信頼性
• Oracle DBとの親和性
Copyright© 2011, Oracle. All rights reserved. 15
WebLogicのクラスタ機能
• WebLogicは複数の管理対象サーバで「クラスタ」を構成することができます。
• クラスタを構成することで、障害発生時もメモリ上のデータを消失させず、ユーザの処理を継続させることが可能です。
管理対象サーバ#2
WebLogicクラスタ
管理対象サーバ#1
マシンA
マシンB
セッションデータ ① ②
③
WebサーバまたはL/B
Database
Oracle Coherence
セッションデータは下記にレプリケート可能
① クラスタ内の他メンバーのJava VMヒープ
② データベースの表
③ Oracle Coherence
In-Memoryサーバのメモリ(Coherence*Web)
ユーザリクエスト
障害時はクラスタの他のメンバーにリクエストをルーティング
障害
WebLogicドメイン
Copyright© 2011, Oracle. All rights reserved.
WebLogicのプロダクション再デプロイメント
• WebLogicでは、プロダクション再デプロイメントという機能で、アプリケーションのバージョン(2世代)を管理可能です。
• プロダクション再デプロイメントでは、古いバージョンを利用しているユーザには影響を与えず新しいバージョンのアプリケーションをデプロイ可能で、古いバージョンのアプリケーションは利用しているユーザがいなくなると自動的に廃棄します。
• これにより、ユーザに影響を与えずアプリケーション更改が可能になり、メンテナンスによりシステム停止時間を極小化することが可能です。
16
他APサーバ
アプリケーション更新時は、そのままデプロイするのみ。ロードバランサーなどの設定を変える必要なし。
アプリケーション更新時は、常にフロントのロードバランサーの設定を変更する必要があり、運用負荷が高くなる。
WebLogic
WebLogic
Application X
(Version 1)
Application X
(Version 2)
公開。新規アクセスは
V.2利用
影響なし。利用終了後Ver.1は自動破棄
他APサーバ
Application X新Application X
公開
新バージョン公開時点でエラー発生
Copyright© 2011, Oracle. All rights reserved.
[ご参考] その他 高可用性機能• WebLogicでは、他にも多くの可用性を向上させる機能を提供しており、単一障害点を排除するこ
とが可能です。
17
高可用性機能 概要 サポートバージョン
WAN/MANクラスタリング(遠隔地クラスタ間のセッションレプリケート)
災害対策として、遠隔地間のWebLogicドメイン間でセッションデータのレプリケートを行う機能を提供します。
Ver9.0より
Stateful Session
BeanのレプリケートStateful Session Beanをクラスタ内の他メンバーにレプリケートします。 Ver6.0より
分散JMS JMS宛先(キューやトピック)を冗長化させます。アプリケーションからは一つのJMS宛先として利用できます。
Ver.7.0より
JMSサービス移行 サーバーに障害が発生した場合、そのサーバ上のJMSサービスを他のサーバ上で利用可能にします。
Ver.7.0より
サーバー移行 サーバーのインスタンスに障害が発生した場合、他のマシン上でそのサーバーインスタンスを再起動します。
Ver9.0より
JDBCのマルチデータソース
Oracle RACのようなクラスタ化されたデータベースへの接続機能を提供し、データベース接続の可用性を向上させます。
Ver.6.0より
JTA移行 JTAトランザクションログを管理し、障害が発生しても他のサーバでJTA
ログを引き継ぎ、トランザクション処理を完結させます。
Ver7.0より
Copyright© 2011, Oracle. All rights reserved. 18
WebLogic Serverの特長
• 高い可用性
• 充実した管理機能
• 優れた性能
• 高い安定性・信頼性
• Oracle DBとの親和性
Copyright© 2011, Oracle. All rights reserved. 19
WebLogicの自動チューニング
• 一般的にJava APサーバでは、処理要求を適切にさばくために「スレッド」数を適切に設定するチューニングが必要になります。
• ただしこのスレッド・チューニングは設定、テスト、効果測定を繰り返して最適値を導出するため、非常に負荷が高い作業になります。
• WebLogic は、処理の実行状況や負荷に応じて、最適なスレッド数を自動的に設定します。そのため、環境構築時のチューニング負荷を大幅に削減することが可能です。
他APサーバ
スレッドプールの手動チューニングが必要。最適なチューニング・パラメータを導出・設定するために多大な作業が必要
パラメータ設定
負荷テスト実施
性能値算出
比較
最適値を導出するまで繰り返し!
スレッド数の自動チューニング可能人の手によるチューニング作業負荷を大幅に軽減
WebLogic
WebLogic
スレッド・プール
リクエスト
実行
実行
スレッド割当
スレッド・プール中のスレッド数の最適値を自動チューニング
Copyright© 2011, Oracle. All rights reserved. 20
JRockit Flight Recorder突然のトラブルに対する新アプローチ
• JRockit JVMの動作状況を自動記録(オーバーヘッドは5%以下)
• JVMが障害でダウンしても、自動記録されたデータで時系列の状態データを取得可能
• 取得した情報は、JRockit Mission ControlでGUIベースで分析可能。
• JVMだけでなくWebLogicやアプリケーションのイベント情報も取得可能。
他APサーバWebLogic
Java EE/ISVアプリ
App Server
JVM
ダンプは出ないこともある。障害発生直前の状況は不明ログだけでは詳細解析困難
問題発生時は詳細情報取得できてない
原因究明の長期化(再現待ち)
履歴を含めた情報を自動記録、自動出力
障害発生直前の状況を取得可能
Java EE/ISVアプリ
Oracle
WebLogic
Server
直近(例: 24時間)の実行時情報を記録し続ける
5%以下の低負荷
自動記録
JRockit VM 不安定時に自動ダンプ出力も設定可能
原因不明要再現テスト
Copyright© 2011, Oracle. All rights reserved.
JRockit Flight Recorderによる問題分析例
メモリを消費しているアプリを判別実行が遅いアプリを判別
• Oracle JRockitのFlight Recorder機能により、問題アプリの判別・分析が可能
アプリが発行しているSQLとその実行時間を表示
②それを割当てたアプリを表示
① メモリ上のオブジェクト選択
どのアプリがどのSQLを発行しているか判別可能
どのSQLが遅いかを判別可能
どのアプリが遅いか判別可能
21
Copyright© 2011, Oracle. All rights reserved. 22
WebLogic Serverの特長
• 高い可用性
• 充実した管理機能
• 優れた性能
• 高い安定性・信頼性
• Oracle DBとの親和性
Copyright© 2011, Oracle. All rights reserved. 23
公的ベンチマークでの実績
• Oracle WebLogicは、公的ベンチマークである SPEC jAppServer2004と SPEC jAppServer2010の両方でトップレベルの実績を出しており、製品として性能の高さを証明しております。
7661.16
4368.02
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
Oracle WebLogic11g IBM WebSphere v6.1
64 cores, 8 chips
Oracle Linux 5 Update 5
x86_64
64 cores, 8 chips
IBM AIX V7.1
17301.86
16646.34
16200
16400
16600
16800
17000
17200
17400
Oracle WebLogic11g IBM WebSphere v7
64 cores, 8 chips
Oracle Linux 5
Update 5 x86_64
64 cores, 8 chips
IBM AIX V7.1
http://www.spec.org/jEnterprise2010/results/jEnterprise2010.html より
http://www.spec.org/jAppServer2004/results/jAppServer2004.html より
SPEC jAppServer2004 SPEC jAppServer2010
No.1
Copyright© 2011, Oracle. All rights reserved. 24
WebLogic Real Time (JRockit Real Time をWebLogicで利用)
• 一般的にJava APサーバは、JVMで動作しますが、JVMでは限られたヒープ(メモリ)領域を有効に利用するため、必ず「ガベージ・コレクション(GC)」というメモリ内で再利用できる領域の確保処理が実行されます。
• このGCが発生すると、Java APサーバの処理が停滞または完全に停止し、性能に影響を与えます。
• WebLogicでは、JVMにJRockit Real Timeを利用することで、GCによる性能の影響を自動的に最小限に抑制することが可能です。
高トランザクション時: GCによる停止により、レスポンスタイムが劣化する
0
15
30
45
60
75
90
105
120
0 2000 4000 6000 8000 10000 12000 14000 16000 18000
0
15
30
45
60
75
90
105
120
0 2000 4000 6000 8000 10000 12000 14000 16000 18000
JRockit Real Timeは、Deterministic GCにより、GC
停止時間を抑制→ 安定したレスポンスを提供アプリケーションに手を入れる必要なし
WebLogic on JRockit Real Time他のAPサーバのJVMのGC処理GC時間 GC時間
Copyright© 2011, Oracle. All rights reserved. 25
WebLogic Serverの特長
• 高い可用性
• 充実した管理機能
• 優れた性能
• 高い安定性・信頼性
• Oracle DBとの親和性
Copyright© 2011, Oracle. All rights reserved. 26
WebLogicの処理要求の流量制御
• 一般的にJavaのWebアプリケーションは、APサーバにアクセス都度にHttpSessionというオブジェク
トをサーバー側に保持し、ユーザが処理を継続している間維持されます。つまり、アプリケーション単位のHttpSession数がアプリケーションの同時処理と考えることができます。
• WebLogicでは、このHttpSessionの最大許容数をアプリ単位に設定することが可能です。このため、想定外の処理要求が発生し、大幅な処理滞留や過大な負荷がAPサーバにかかることを回避し、安定稼働を行うことが可能です。
他APサーバ
セッション数制限により過負荷状態になる前の保護が可能過負荷によりアプリ実行がハングアップする状態やメモリ不足状態が続いた場合、自動再起動など行い不安定状態の回避が可能
過負荷状態になる前に保護したり、過負荷状態になったとき自動対処する機能なしよって、過負荷状態でAPサーバの動作が不安定になる可能性が高い
WebLogic
WebLogic
他APサーバアプリA 制限 300
アプリB 制限 500
アプリAは同時300名まで可能301人目は不可
ハングアップやメモリ不足状態を検知し再起動可能
アプリA
アプリB不安定状態
Copyright© 2011, Oracle. All rights reserved. 27
WebLogicのアプリケーション実行の優先制御
• WebLogicでは、ワークマネージャーという機能により、アプリケーションまたはユーザ単位で、アプリケーション実行の優先度を設定することが可能です。
• このワークマネージャーを活用すると、特にトラフィックが高い場合、重要アプリもしくは重要ユーザを遅延させず確実に処理を完了させることができます。
ワークマネージャー
他APサーバワークマネージャによるスレッド割当の優先制御が可能。重要処理を停滞/タイムアウトさせず確実に完遂させる。 アプリ実行における優先制御機能なし。
通常の処理と重要処理を区別なく処理するため、負荷により重要処理が停滞/タイムアウトする可能性あり
WebLogic
重要アプリ優先度 高
優先度 低 通常アプリ
WebLogic
重要アプリ
通常アプリ
他APサーバ
重要アプリが通常アプリのために停滞することも
Copyright© 2011, Oracle. All rights reserved. 28
WebLogic Serverの特長
• 高い可用性
• 充実した管理機能
• 優れた性能
• 高い安定性・信頼性
• Oracle DBとの親和性
Copyright© 2011, Oracle. All rights reserved.29
Oracle DBとの親和性:マルチデータソース
WebLogicは、製品としてOracle RACとの接続をサポートします。
WebLogicのマルチデータソースにより、RACのサービス機能と連動した接続が可能になります。
他社APサーバではOracle RAC接続は不可能です。
(オラクルのJDBCドライバーの利用が必要になります。)
他社APサーバベンダーも、サポートポリシー上は「Oracle RAC接続をサポート」と謳っていますがRAC接続に問題が発生した場合、そのベンダーでサポートや障害解析を行うわけではありません。
他APサーバ
DB
(RAC)
DB
(RAC)WebLogic
AP
クライアント ストレージOK
DB
(RAC)
DB
(RAC他APサーバ
APクライアント
ストレージ
ERROR
無効なノードへの接続が残る
無効データソースを利用しない
マルチデータソースにより、RACサービス稼動状況を検知し、無効なデータソースを自動的に識別可能
RACサービス稼動状況を検知できないアプリケーションからRACのサービス機能を利用した接続ができない(JDBCドライバの機能を使うしかない)
クライアントは障害を意識しない
無効なノードに接続しエラーとなる
マルチデータソース
接続プール
WebLogic
RACサービスの稼動状況検知不可
RACサービス単位で稼動状況検知
Copyright© 2011, Oracle. All rights reserved. 30
WebLogic Server + Oracle Databaseの統合サポート
HT
TP
リスナHTTP
HTTPS
端末
Webブラウザ
PDA、携帯
JavaEEコンテナ
データベース層
RDBMS
WebLogic Server Oracle Database
Java
プログラム
Java
プログラム
• オラクルは、WebLogic ServerとOracle Databaseやその接続に必要なコンポーネントを統合的にサポートします。
• もし何か問題や障害が発生した場合でも、オラクルのサポート・サービスが統合的にサポートします。
• 他ベンダーのAPサーバでも、「Oracle Databaseをサポート」というポリシーを提示していますが、製品自体のサポートを行うわけではありません。
JDBC
JDBC
APサーバー層
オラクル社
APサーバ+DBで統合的にサポート
JRockit JVMまたは HotSpot JVM
Copyright© 2011, Oracle. All rights reserved. 31
[参考] Oracle WebLogic Serverのライセンスについて
Copyright© 2011, Oracle. All rights reserved. 32
Oracle WebLogic Server ライセンスと利用可能機能
WebLogic Suite
• WebLogic Server EE
+
• WebLogic Real Time
• Coherence Enterprise Edition
• WebLogic Operations Control
• IAS EE (Forms, Reports, …)
• Forms, Reports for WebLogic
• Management Pack for
Coherence
WebLogic ServerStandard Edition
• WebLogic Server
• (冗長構成は可能)
• Development Tools
・ TopLink
・ Oracle ADF
・ OEPE
• Oracle JRockit
• Oracle Fusion Middleware
Control
• Oracle WebTier
• Oracle HTTP Server
• Oracle WebCache
WebLogic Server Enterprise Edition
• WebLogic Server SE
+
• 高可用性機能
• Httpセッションレプリ
• サーバ移行 など
• 高度な監視/診断機能
• Oracle Diagnostics Pack
for Oracle Middleware
・ JRockit Mission Control
・ JRockit Flight Recorder
・ JVM Diagnostics
・ Grid Controlによる監視
Web APサーバとして必要なほとんどの機能を含んだエディション。複数サーバでの冗長構成も可能(Httpセッションレプリは不可)
WLS SEの機能に加え、Httpセッションレプリなど多くの高可用性機能やJRockit Flight Recorderなど高度な診断機能を付加。
WLS EEの機能に加え、レスポンスタイム安定化や性能向上に貢献するWebLogic Real timeやCoherence EEなど付加
Copyright© 2011, Oracle. All rights reserved. 33
WebLogicのエディションについて• WebLogicのエディションを決める上では、下表の要件がポイントになります。
要件カテゴリ 要件 WebLogic SE WebLogic EE WebLogic Suite
可用性要件 複数のサーバインスタンスで負荷分散し、障害時、ダウンしたサーバにはリクエストをルーティングしない
○ ○ ○
Httpセッションのレプリケーションを行う
×(Coherence EE別途購入で可能)
○ ○
障害時、サーバインスタンスを他のノードで起動する
× ○ ○
JMSやJTAサービスの冗長化 × ○ ○
Httpセッションを遠隔地のサイトにコピーする
× ○ ○
性能監視要件 WebLogicが提供する標準のツールにてMBeanベースで性能監視を行う
○ ○ ○
JVMにJRockitを利用する場合、専用GUIツールやフライトレコーディング機能で総合的な性能監視を行う
×(Diagnostics Pack
別途購入で可能)
○ ○
その他 JavaEEアプリだけでなくOracle Formsアプリも動作させる
× × ○
WebLogic Real Timeを使いJVMのGC時間を最適化する
× × ○
Copyright© 2011, Oracle. All rights reserved. 34
お疲れ様でした。前半終了です。
ここから後半です。
Copyright© 2011, Oracle. All rights reserved. 35
Oracle WebLogic Serverのアーキテクチャ基礎
Copyright© 2011, Oracle. All rights reserved. 36
Oracle WebLogic Server のドメイン管理について①
• WebLogicのAPサーバ環境は、「ドメイン」という単位で管理します。ドメインは論理的な単位で、どのような区分けで構成してもかまいません。(例:地域別に大阪ドメイン、東京ドメイン。業務別にCRMドメイン、HRドメインなど)
• ドメインには必ず「管理サーバ」が1つだけ存在し、ドメインの構成情報を管理し、管理コンソールアプリケーションを動作させています。管理サーバも、JavaEEのWebアプリケーションサーバー機能をもつJavaプロセスです。
管理サーバ
WebLogicドメイン
管理サーバ
管理ツール(Admin Console/
FMW Control/
/WLSTなど)
ドメインログ
コンフィグレーションリポジトリ
マシンC
Copyright© 2011, Oracle. All rights reserved. 37
Oracle WebLogic Server のドメイン管理について②• ユーザ・アプリケーションは、ドメイン内に「管理対象サーバ」を構成し、そこで動作させます。
• 管理対象サーバは、JavaEEのWebアプリケーションサーバ機能を提供するJavaプロセスです。
• 管理対象サーバはドメイン内に複数作成できます。管理対象サーバは、1台の物理マシンに複数設置することもできますし、管理サーバと同じマシンに設置することもできます。
• 管理対象サーバは、管理サーバにより構成・監視されます。
管理対象サーバ#2
管理対象サーバ#3
管理サーバ
WebLogicドメイン
管理対象サーバ#1
マシンA
マシンB
管理サーバ
管理ツール(Admin Console/
FMW Control/
/WLSTなど)
ドメインログ
コンフィグレーションリポジトリ
構成・監視
WebサーバまたはL/B
HTTP/HTTPS
リクエスト
マシンC
構成・監視
構成・監視
Copyright© 2011, Oracle. All rights reserved. 38
Oracle WebLogic Server のドメイン管理について③
• WebLogicでは、ノードマネージャーというコンポーネントで管理対象サーバのプロセスを制御・監視することができます。ただし、ノードマネージャーの使用は必須ではありません。
• ノードマネージャーから管理対象サーバの起動・停止を制御できます。また、管理対象サーバのプロセスがダウンした場合に自動再起動が可能になります。
管理対象サーバ#2
管理対象サーバ#3
管理サーバ
WebLogicドメイン
管理対象サーバ#1
マシンA
マシンB
管理サーバ
管理ツール(Admin Console/
FMW Control/
/WLSTなど)
ドメインログ
コンフィグレーションリポジトリ
構成・監視
WebサーバまたはL/B
HTTP/HTTPS
リクエスト
マシンC
構成・監視
構成・監視ノード
マネージャ
ノードマネージャ
Copyright© 2011, Oracle. All rights reserved. 39
Oracle WebLogic Server のドメイン管理について④
• WebLogicでは、ドメイン内の任意の管理対象サーバをまとめて「クラスタ」を構成できます。
(ドメインをまたがって、クラスタを構成する事はできません。)
• クラスタを構成すると、クラスタ単位でのアプリケーション管理やHttpセッションレプリケーションなどの高可用性機能が使用可能になります。
管理対象サーバ#2
管理対象サーバ#3
管理サーバ
WebLogicドメイン
管理対象サーバ#1
マシンA
マシンB
管理サーバ
管理ツール(Admin Console/
FMW Control/
/WLSTなど)
ドメインログ
コンフィグレーションリポジトリ
構成・監視
WebサーバまたはL/B
HTTP/HTTPS
リクエスト
マシンC
構成・監視
構成・監視ノード
マネージャ
ノードマネージャ
リクエスト分散と障害サーバからLiveサーバへのリクエストフェイルオーバだけであればWebLogicクラスタは不要。Httpセッションレプリケーションなど高度な機能を利用時はWebLogicクラスタが必要
WebLogicクラスタ
Copyright© 2011, Oracle. All rights reserved. 40
管理サーバと管理対象サーバについて
• WebLogicドメインにおける管理サーバは、ドメイン全体の構成情報を管理しており、原則、ドメイン起動時に一番最初に起動します。
• 管理サーバ起動以後は、任意の管理対象サーバを順不同で起動できます。管理対象サーバは起動時に管理サーバより構成情報を取得して起動します。
• 管理サーバが障害等により起動できない場合でも、以前に一度でも管理対象サーバが起動したことがあれば、その際の情報を利用して管理対象サーバは起動する事が可能です。これを「管理対象サーバの独立モードでの起動」といいます。独立モードでは、管理対象サーバの構成を変更することはできません。
• 管理サーバ、管理対象サーバが正常起動後、管理サーバだけが障害等によりダウンしても、管理対象サーバのアプリケーション実行には影響はありません。ただし、管理対象サーバへの構成を変更はできなくなります。
Copyright© 2011, Oracle. All rights reserved. 41
Oracle WebLogic ServerとWebサーバ
• Oracle WebLogic Serverの各種ライセンスにはすべて、Oracle HTTP ServerというApache2.2
ベースのWebサーバやサンマイクロシステムズから提供されていた iPlanet ServerというWebサーバのライセンスが付属しており、要件によりWebLogicと組み合わせて利用することが可能です。
• また、一般のApacheやMS IISとWebLogicを連携させるためのWebサーバプラグインも提供しています。
• Oracle Web Cacheというソフトウェア・ロードバランサー機能をもったWebコンテンツ・キャッシュサーバもバンドルされており、要件に応じてWebLogicやOracle HTTP Serverと組み合わせて利用することが可能です。
管理対象サーバ#3
管理対象サーバ#1
Oracle
HTTP
Server
ユーザリクエスト
負荷分散とフェイルオーバー
WebLogicドメイン
管理サーバ
Apache2.2ベースのWebサーバ
mod_phpやmod_plsql など多くの拡張モジュールをサポート
mod _wl_ohs
Copyright© 2011, Oracle. All rights reserved. 42
Oracle WebLogoc ServerのJVM
• WebLogicを動作させるJVMは、基本的に Oracle JRockitとHotSpotを選択できます。
• プラットフォームがHP-UXの場合はHPのJVM、IBM AIXの場合はIBM JVMを使用します。
• WebLogicを動作させるJVMは、インストール時とドメイン構成時に指定できます。
• Oracle JRockitは、APサーバのようなサーバ用途で高い性能が出るように設計された JVMで、特にIAプラットフォームで高い性能がでるように最適化されています。
Oracle WebLogic Server
Sun JDK Hotspot JVM
またはOracle JRockit JVM
※ HP-UXとAIXを除く
Sun Hotspot JVMまたはOracle JRockitで、それぞれで利用できるJVMオプションを指定
Copyright© 2011, Oracle. All rights reserved. 43
Oracle WebLogic Serverの起動モード
• Oracle WebLogic Serverでは、2つの起動モード(開発モード、本番モード)があります。
• 起動モードはドメイン単位で設定します。
• これらの起動モードの主要な差異は、下記になります。
• 開発モード
• アプリケーション変更の自動検知を行えます。(その分オーバーヘッドがあります。)
• 管理サーバ起動時に認証が不要です。
• 管理コンソールでの操作は、即時反映されます。
• 管理コンソール等の内部アプリケーションは、初回アクセス時に初めてデプロイされます。
• Webサービステストツールやクラスローダー分析ツールが利用可能です。
• 一般的に、開発・テスト環境ではこのモードを選択します。
• 本番モード(プロダクション・モード)
• デフォルトでアプリケーション変更の自動検知は行いません。
• 管理サーバ起動時に認証が必要です。
• 管理コンソールでの操作は、ロック取得を行ってから行い、ロールバックが可能です。
• 管理コンソール等の内部アプリケーションは、デプロイ済の状態です。
• Webサービステストツールやクラスローダー分析ツールは利用できません。
• 一般的に、本番環境ではこのモードを選択します。
Copyright© 2011, Oracle. All rights reserved. 44
Oracle WebLogic Serverの管理ツール
• Oracle WebLogic Serverに対する各種管理操作を行うには、主に下表のツールを使用します。
• 下表以外に多くのJMX MBeanを提供しており、任意のMBeanツールで管理可能です。
管理タスク ツール名 概要
インストール インストーラ WebLogicソフトウェアファイルの導入。
GUIモード、コンソールモード、サイレントモードをサポート
ドメイン作成 Configuration Wizard ドメインの作成で使用する。
GUIモード、コンソールモード両方サポート
ドメイン作成後の
各種構成
管理コンソール Webベースの管理コンソールアプリケーション。管理サーバが起動している場合、利用できる。
ドメインにおける各種管理操作やモニタリングを行える。
WebLogic Scripting Tool(WLST) Jythonベースで管理タスクを実行できるスクリプト・ツール。プラットフォームに依存しない。管理サーバが起動していなくても利用できる
weblogic.Deployer Javaコマンドでアプリケーション・デプロイを行うユティリティ
wlserver Antタスク ドメイン作成やサーバ起動を行えるAnt Task
wlconfig Antタスク ドメイン構成タスクを行えるAnt Task
Copyright© 2011, Oracle. All rights reserved. 45
Oracle WebLogic Serverの開発ツール
• Oracle WebLogic Server 11gは標準仕様であるJava EE 5に完全準拠しているため、Java EE 5のアプリケーションが開発可能な開発ツールを利用できます。
• 下表はオラクルが提供しているWebLogic Server向け開発ツールです。
ツール名 概要
Oracle JDeveloper 11g JavaだけでなくDB(表設計、編集、PL/SQL等)開発ツール
11gよりWebLogic10.3.xに対応し、Java EE 5ベースのアプリ開発が可能。ライセンスは無償。
Oracle Enterprise Pack for
Eclipse 11g
Eclipseベースの開発ツール。Java EE 5ベースのアプリ開発が可能。
Copyright© 2011, Oracle. All rights reserved. 46
Oracle WebLogic Serverのインストールと構成
Copyright© 2011, Oracle. All rights reserved. 47
WebLogicのインストールについて
• WebLogicのインストールは、提供されているインストール・ファイルをOS上で実行し、インストーラを起動して行います。インストール・ファイルは、プラットフォームにより異なります。
• インストーラによりWebLogicのソフトウェア・ファイルがマシンにコピーされます。ドメインはインストール後に Configuration Wizardを使用して作成します。
• インストールは、下表のモードを選択して行います。
インストールモード 概要
GUIモード デフォルトのインストール・モードGUIのダイアログ画面にパラメータを指定しながら対話的にインストールを行います。
CUIモード CUIのダイアログ画面にパラメータを指定しながら対話的にインストールを行います。Linux/UNIXなどでGUIが利用できない環境では自動的にCUIモード・インストールになります。
サイレント・モード あらかじめ必要なパラメータをファイルに記述しておき、バッチ的にインストールを行います。
ZIPファイルを展開することでインストールを行う形態もあります。ZIPファイル展開によりインストールしたWebLogicは開発用途として使用して下さい。
Copyright© 2011, Oracle. All rights reserved. 48
Oracle WebLogic Serverのインストールと構成のステップ
• Oracle WebLogic Serverのインストールと構成は下図のように進めていきます。
1.WebLogic Server 11g
のインストール
2.ドメインの作成
3.ドメインの構成
管理対象サーバの構成pack,unpackコマンドによる管理対象サーバの物理マシンへの配置クラスタの構成アプリケーションのデプロイ/アンデプロイアプリケーションの起動/停止アプリケーションの構成JDBCデータソースの構成JMSの構成セキュリティの構成など….
WebLogicのインストールファイルを使用して、WebLogic Server本体のインストールを行います。このときインストール先のディレクトリやインストールするコンポーネントを指定します。
Configuration Wizardを使用してドメインを作成します。このとき、ドメイン名や使用JVMや起動モード等を指定します。ドメインを作成すると、管理サーバが自動的に構成されます。ドメイン作成時に管理対象サーバやJDBCデータソースなどの構成も行うことは可能です。
管理コンソールなどの管理ツールを使用して、図示されているような様々な管理タスクを行いドメインを構成します。管理対象サーバを物理マシンに配置するには、packコマンド、unpackコマンドを利用します。
また、作成したドメインはテンプレート化が可能です。ドメインのテンプレートをドメイン作成時に指定するとすでにサーバなど事前に構成されたドメインを作成することが可能です。
Copyright© 2011, Oracle. All rights reserved. 49
[参考] インストーラとConfiguration Wizardの画面イメージ
• 下図はインストーラとConfiguration WizardのGUIモードの画面イメージです。
インストーラ Configuration Wizard
Copyright© 2011, Oracle. All rights reserved. 50
インストールと構成前に最低限決めておくべき主な事項①
• Oracle WebLogic Serverをインストールする前に下表の項目を決めておく必要があります。
カテゴリ 設定項目 設定例
インストール MIDDLEWARE_HOME
(インストール先ディレクトリ)(インストールする物理マシン毎に)C:¥Oracle¥Middleware
WebLogicと共にインストールする製品
Oracle CoherenceとOracle Enterprise Pack for Eclipse
Oracleサポートサイトへ直接接続してセキュリティ更新情報を受け取るか
受け取らない
サンプルのインストール しない
(Windowsの場合のみ)ノードマネージャーのWindowsサービス化
しない
(別途インストールを要するもの)
フロントのWebサーバにOracle HTTP Serverを使用するか
しない(使用する場合、別途インストール作業が必要)
Oracle ADFのアプリケーションをWebLogic上で動作させるか
動作させない(Oracle ADFアプリを動作させる場合、別途インストール作業が必要)
Fusion Middleware Controlを使用するか
しない (Oracle HTTP Serverを使用する場合は必須。使用する場合、別途インストール作業が必要)
Copyright© 2011, Oracle. All rights reserved. 51
インストールと構成前に最低限決めておくべき主な事項②
• Oracle WebLogic Serverのドメイン構成を行う前に下表の項目を決めておく必要があります。
カテゴリ 設定項目 設定例
ドメイン構成 ドメイン名 OsakaDomain
ドメイン管理者ID/パスワード weblogic/welcome1
管理サーバ名とポート AdminServer :7001
管理対象サーバ名とポート Server1 : 7011
Server2 : 7012
物理マシンと管理サーバのマップ
Host1に管理サーバを配置
物理マシンと管理対象サーバのマップ
Host1にServer1を配置Host2にServer2を配置
利用するJVM JRockit
起動モード 本番モード
ドメインの構成先ディレクトリ (各サーバ毎に)C:¥Oracle¥Middleware¥user_projects¥domains
クラスタを構成する場合、クラスタ名とメンバーとなるサーバー
クラスタは構成しない
Copyright© 2011, Oracle. All rights reserved. 52
WebLogicドメインのトポロジ例①• 下図は、本番環境を想定したドメインのトポロジです。
• (前述スライドの設定例に示した内容と同じです。)
• ApacheへのWebサーバプラグインの設定やDBの接続設定は、ドメイン作成後に行います。
管理対象サーバServer1
7011
管理サーバ
Admin Server
7001
管理対象サーバServer1
7012
Host1
Host2
OsakaDomain 本番モード
JRockit JRockit
JRockit
Apache
WebサーバWebサーバプラグイン
Web
ブラウザ
Copyright© 2011, Oracle. All rights reserved. 53
WebLogicドメインのトポロジ例②
• 下図は、開発環境を想定したドメインのトポロジです。
• 管理対象サーバは、基本は管理用のサーバですが、それ自体はJavaEEのアプリケーション・サーバのインスタンスなので、開発環境としてユーザ・アプリケーションをテストするような用途でも活用する事は可能です。
管理サーバ
Admin Server
7001
Host3
OsakaDevDomain 開発モード
JRockit
Web
ブラウザ
Copyright© 2011, Oracle. All rights reserved. 54
WebLogicの起動/停止について
• WebLogic11gでは、管理サーバや管理対象サーバは、JDKのJavaコマンドを利用して起動させるため、様々な方法が利用できます。
• 一般的には、ドメインディレクトリ/binに存在する下表のシェルスクリプトを利用します。ノード・マネージャを利用時は、管理コンソールから起動することも可能です。
対象 操作 スクリプト名 備考
管理サーバ 起動 startWebLogic.cmd (win)
startWebLogic.sh(Unix)
本番モードでは、デフォルトでスクリプト実行途中で管理者ユーザ、パスワードの入力が必要本番モードでは、デフォルトでスクリプト実行途中で管理者ユーザ、パスワードの入力が必要
停止 stopWebLogic.cmd (win)
stopWebLogic.sh(Unix)
管理対象サーバ
起動 startManagedWebLogic.cmd (win)
startManagedWebLogic.sh (Unix)
第1引数に管理対象サーバ名が必要デフォルトでスクリプト実行途中で管理者ユーザ、パスワードの入力が必要。
停止 startManagedWebLogic.cmd (win)
startManagedWebLogic.sh (Unix)
Copyright© 2011, Oracle. All rights reserved. 55
起動スクリプトとJVMオプション指定について①
• WebLogicは、OS上のjavaプロセスとして起動するため、JVMオプションはWebLogicのjavaプロセス起動時の引数として指定します。
• 具体的な方法の一つとして、WebLogicのドメイン構成時に自動的に生成される起動スクリプトでJVMオプションを指定します。
• メモリ関連のオプションの場合(管理対象サーバ)
• スクリプト startManagedWebLogicのUSER_MEM_ARGS環境変数で指定
• その他オプションの場合(管理対象サーバ)
• スクリプト startManagedWebLogicのJAVA_OPTIONS環境変数で指定
• 詳細は下記をご参照下さい。• http://download.oracle.com/docs/cd/E12839_01/web.1111/e13708/overview.htm#i1069110
Copyright© 2011, Oracle. All rights reserved. 56
起動スクリプトとJVMオプション指定について②• WebLogic管理サーバの場合
• 管理サーバは、スクリプト起動の場合、下記のように指定
• > $DOMAIN_HOME/bin/startWebLogic.sh
• $DOMAIN_HOME/bin/startWebLogic.shは、内部的に下図のスクリプトを実行
$DOMAIN_HOME/bin/startWebLogic.sh
$DOMAIN_HOME/bin/setDomainEnv.sh
$WL_HOME/common/bin/commEnv.sh
….内部で実行されるスクリプト
各種環境変数やデフォルトのJVMオプションの設定
■メモリ関連のJVMオプションUSER_MEM_ARGS環境変数で指定■その他のJVMオプション
JAVA_OPTIONS環境変数で指定
Copyright© 2011, Oracle. All rights reserved. 57
起動スクリプトとJVMオプション指定について③• WebLogic管理対象サーバの場合
• 管理対象サーバは、スクリプト起動の場合、下記のように指定
• > $DOMAIN_HOME/bin/startManagedWebLogic.sh <サーバ名> <管理サーバ t3のURL>
• 例: $DOMAIN_HOME/bin/startManagedWebLogic.sh myServer t3://localhost:7001
• $DOMAIN_HOME/bin/startManagedWebLogic.shは、内部的に下図のスクリプトを実行
$DOMAIN_HOME/bin/startManagedWebLogic.sh
$DOMAIN_HOME/bin/startWebLogic.sh $DOMAIN_HOME/bin/setDomainEnv.sh
$WL_HOME/common/bin/commEnv.sh
各種環境変数やデフォルトのJVMオプションの設定
….内部で実行されるスクリプト
管理対象サーバのJavaプロセス起動
■メモリ関連のJVMオプションUSER_MEM_ARGS環境変数で指定■その他のJVMオプション
JAVA_OPTIONS環境変数で指定
Copyright© 2011, Oracle. All rights reserved. 58
• 下記の書籍は、WebLogic Serverを運用管理する上での様々な情報が掲載されており、参考になりますので推奨致します。
Oracle WebLogic Server 11g 構築・運用ガイド(大型本)
伊藤忠テクノソリューションズ株式会社 (著),
日本オラクル株式会社 (著)
価格 ¥4,599(税込み)
出版社: 翔泳社 (2010/12/02)
ISBN-10: 4798122416
ISBN-13: 978-4798122410
発売日: 2010/12/2
[参考] WebLogic Server11g構築・運用ガイド
Copyright© 2011, Oracle. All rights reserved. 59
Questions..
Copyright© 2011, Oracle. All rights reserved. 60