<Insert Picture Here>
OracleユーザーのためのWebLogic 入門
日本オラクル株式会社 製品事業統括 Fusion Middleware事業統括本部
担当シニアマネージャ 新井 庸介
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明するものです。
また、情報提供を唯一の目的とするものであり、いかなる契約にも組み込むことは
できません。以下の事項は、マテリアルやコード、機能を提供することをコミットメン
ト(確約)するものではないため、購買決定を行う際の判断材料になさらないで下さ
い。オラクル製品に関して記載されている機能の開発、リリースおよび時期につい
ては、弊社の裁量により決定されます。
Copyright© 2012, Oracle. All rights reserved.
Agenda
•
アプリケーションサーバーとは
•
Oracle Databaseユーザーにとってのアプリケーションサ
ーバーとは
•
Oracle WebLogic Server
•
Oracle DatabaseユーザーのためのWebLogic Server
•
まとめ
アプリケーションサーバーとは
Copyright© 2012, Oracle. All rights reserved.
アプリケーションサーバーとは
5ユーザからの要求を受け付けて、データベースなどの業務システムの処理に橋渡しする機能を持
ったサーバソフトウェア。ミドルウェアの一種で、ユーザが利用するWebブラウザなどのクライアント
と、データベースなどの中間に位置する(3階層システム)。
プログラムの実行環境やデータベースへの接続機能、トランザクション管理機能などを持ち、ビジネ
スロジックを実装しているのがアプリケーションサーバである。
クライアントやバックエンド側にビジネスロジックを実装する方式(2階層システム)に比べ、システム
の変更や更新、増強などが容易で、柔軟性が高い。業務プロセスが少しでも変わったら全社員の
PCを更新しなければならなかったりといった悩みを解消してくれる。
http://e-words.jp/w/E382A2E38397E383AAE382B1E383BCE382B7E383A7E383B3E382B5E383BCE38390.htmle-Wordsより
クライアント
アプリケーションサーバー
データベース
•ビジネスロジックの実行
•データベースへの接続
•トランザクションの管理 等々
Java EE アプリケーションサーバーとは
•
Java EEとは: Javaアプリケーションサーバーが満たすべ
き標準仕様群
Webアプリケーションの開発標準(コード記法, 各種API, 通信規
約, etc), セキュリティ仕様, 分散トランザクション仕様, Webサービ
スの仕様、等々
Java EEは数年に1度改訂され、新たに仕様が追加されたり、既
存の仕様が見直される。2011年現在の最新は”Java EE 6”
(ご参考)Java標準仕様にはEEの他にSE(Java VMの標準仕様)及びME(組み
込みJavaソリューションのための標準仕様)がある
•
つまり
Copyright© 2012, Oracle. All rights reserved.
Java EE 仕様は誰が決めているのか?
•
Java 標準仕様(SE/EE/ME)はJavaコミュニティ(JCP)を通じ
て決定される
JCP (Java Community Process): Oracleが主催するJavaの標準技
術仕様の策定と標準化のための機関。
JCPは16名/社の中核メンバー(Executive Committee, 任期3年、メン
バーによる投票にて選出)と約1000名/社のメンバーから構成される
JCPメンバーは標準仕様の提案、及びしreviewする権限を、
Executive Committeeはこれを最終的に承認する権限を持つ
7Java標準仕様のメリット
• オープンである=より良い仕様の策定
仕様が1ベンダーの意図に左右されない, ベンダーだけでなくユーザーも参加し幅広く議論
• 標準仕様である
•
ベンダ・ロックインの排除、技術の習得が容易
(ご参考)最近の標準仕様について
•
JSR-336: Java SE7 Release Contents
内容: Java SE7 としてリリースする仕様群を決定
Expert Group: (Spec Lead) Oracle (Group Member)Google, Redhat
•
JSR-316: Java EE6 Specification
内容: Java SE6 としてリリースする仕様群を決定
Expert Group: (Spec Lead) Oracle (Group Member)Ericson, IBM, NCSoft,
Oracle, OW2, Peking University, Redhat, SAP, SpringSource, Sybase, 他
(全25団体/個人)
•
JSR-348:
Towards a new version of the Java Community Process
内容: JCP組織、及び仕様策定プロセスの見直し(透明性の向上、参加のし易さ
、ガバナンス、など)
※JSR: (Java Specification Request):
標準仕様を記述した公式文章
Copyright© 2012, Oracle. All rights reserved.
Java EEの最新動向と今後の方向性
•
Java EE 6(2009年末 仕様決定)
テーマ: 開発生産性の向上
コード量及び設定ファイルの削減
統合開発フレームワークの提供
•
Java EE 7(2012冬 仕様決定予定)
テーマ: クラウド
アプリケーションとリソースの独立
マルチテナント
大規模環境向け技術の標準化
9Java EEアプリケーションサーバーの
最新動向と今後の方向性
•
最新動向: Java EE 6対応
Oracle WebLogic 12c
Oracle GlassFish 3
•
今後の方向性: トレンド
クラウド
マルチテナント、集約
モバイル
ハイトランザクションへの対応
より高い性能
より高い可用性
Java EE 6
対応済!
Copyright© 2012, Oracle. All rights reserved.
Oracle Databaseユーザーにとっての
アプリケーションサーバーとは
アプリケーションサーバーに対する関心#1
① DBとの接続、連携
•
どうやって接続するの?ODBC? RACの場合の考慮点
は?
Copyright© 2012, Oracle. All rights reserved.
アプリケーションサーバーに対する関心#1
②問題への対応(障害、性能劣化)
•
問題をどうやって切り分ける? アプリケーションサーバー
とDBのどっちに原因が?
•
性能劣化はどっちが悪いの?アプリケーションサーバー
とDBのどっちを直すべき?
ORA-xxx
遅い、重い
13アプリケーションサーバーに対する関心#1
③システム全体の可用性
•
DB層だけでなく、システム全体の可用性を高め、システ
ムとして安定稼働させるにはどうすれば?
DBは高可用性だが、
システム全体は?
Copyright© 2012, Oracle. All rights reserved.
Oracle WebLogic Server
Oracle WebLogic Server
The World’s Leading Application Server
•
15年にわたる製品実績
Javaと同じ1996年に誕生。成熟した製品機能
(例 クラスタ機能: ver.4.5から7世代にわたって改良し提供)
•
市場シェアNo.1
世界シェアの2/5以上(Gartner)
•
特徴
1. Java標準仕様に常に追随
2. Java標準仕様を超える、ミッションクリティカ
ル環境のための高い機能を併せて提供
Copyright© 2012, Oracle. All rights reserved.
Oracle WebLogic Server 12c
Global announcement !
去る12/1, Oracle WebLogic Serverの次のメジャ
ーバージョン
”12c”について、ついに
グローバルでアナウンスがなされました
Oracle WebLogic Server 12c とは
特徴
1.
Java EE 6, Java SE 7 対応による
高い開発生産性、保守性
2.
Oracle DBとの高度な連携
3.
業務やサービスを止めない
高い信頼性
Copyright© 2012, Oracle. All rights reserved.
Oracle Databaseユーザーのための
WebLogic Server
Agenda
•
Oracle DBユーザが持つアプリケーションサーバーに対
する関心についてのWebLogicの機能を紹介します
Copyright© 2012, Oracle. All rights reserved.
1. DBとの接続、連携
マルチデータソース機能
•
概要
WebLogicのDB接続機能。複数の接続プール(*)を論理的に1つ
として扱い。負荷分散やフェイルオーバーを実現する
(*)接続プール: 性能向上のためにDBとの接続を予め一定数張っておく機能。接続
プール自体はメジャーな製品の殆どが提供している機能だが、マルチデータソース
(=マルチプール)はWebLogicの独自機能
•
機能
接続の自動閉塞、自動復旧(フェイルオーバー)
障害があった場合、接続プールは自動的に閉塞する(プール内の接
続をClean upする)
障害から復旧したら、接続プールは自動的に復旧する(自動的に接
続を再確立する)
負荷分散
RACノード間の負荷分散
21WebLogic Server
1. DBとの接続、連携
マルチデータソース機能(図解)
•
ノード4の障害やService A
の構成変更時(ノード4を外
す)、当該の接続プールは
自動的に閉塞する
•
ノード4の障害回復や
Service Aへの復帰の際、
接続プールは自動的に復
旧する
•
Service Aを利用するアプリ
Aが、無効な接続をつかん
でしまうことは無い
Multi Data Source for Service A Data Source Data Source Data Source
Ser
v
ice
A
Ser
v
ice
A
Ser
v
ice
A
A
Data Source 利用不可能なデータソース Data Source Data Source 利用可能なデータソースアプリ
A
ノード1
ノード2
ノード3
Copyright© 2012, Oracle. All rights reserved.
JDBCドライバの負荷分散及びフェイルオーバー機
能との違い
•
JDBCドライバはWebLogic以外のアプリケーションサーバー(以下
App Server)の接続プール機能と統合されていません。よって
WebLogic以外では以下の問題が起きる可能性があります
•
自動閉塞
閉塞できないApp Serverの場合、無効な接続が残存しアプリにエラーが返
ります
閉塞は出来るが、閉塞した接続と同一数の接続を残存ノードに張りにいく仕
様のApp Serverがあります。この場合、結果として想定以上の接続がある
ノードに集中してしまう可能性があります
•
自動復旧
閉塞後、接続プールに設定した接続数の全てを残存ノードに張ってしまい、
接続の復旧ができないケースがあります。この場合、結果として負荷分散
が不十分になります
231. DBとの接続、連携
Active GridLink for RAC
•
RACノード負荷バランシング
RACのノード負荷に合わせ動的に負荷分散
•
トランザクション・アフィニティ
複数の更新クエリをRACの1ノードで集中処理し
不要な分散トランザクション処理を抑制
•
高速接続フェイルオーバー
ノード障害時やサービス構成変更に即座に対応。DB処理
の即時フェイルオーバー、プロアクティブな接続管理
GridLink WebLogic GridLink WebLogic GridLink WebLogic GridLink WebLogic GridLink WebLogic GridLink WebLogic性能改善
(スループッ
ト向上)
リソース
利用効率
改善
アプリ
安定稼働
12c Update! 11g New!Copyright© 2012, Oracle. All rights reserved.
Active Grid Link for RACの仕組み
WebLogic UCP-RAC モジュール
RAC (1)
サービスA
WLSコネクション・プール
(RACサービスA用)
RAC (2)
サービスA
O
NS c
lient
UCP-RAC
モジュール
ONS Daemon ONS DaemonWebLogic Server
Oracle Database(RAC)
RACサービスに対するポーリングとONSからの通知の双方を活用
ポ ー リ ン グ 死活・負荷状況通知Oracle JDBCドライバ
252.問題への対応(障害、性能劣化)
Enterprise Manager – オンライン分析
アプリケーションの管理 ・ユーザー視点での性能監視 ・トップダウン・アプローチによる 障害切り分け ・構成管理 ・EBS パッチ管理(推奨、履歴管理) ・EBS 環境のクローン ミドルウェアの管理 ・監視(可用性、リソース、性能) ・JVM の詳細分析 ・パッチ適用 ・構成管理 データベースの管理 ・管理(バックアップ、領域追加など) ・監視(可用性、性能、リソース) ・分析、アドバイス、チューニング ・パッチ適用 ・構成管理、オブジェクト管理 ・機密情報のマスキングEBS PSFT Siebel Custom …
アプリケーション
データベース ミドルウェア
Oracle Enterprise Manager
統合管理 ・単一のUI ・環境の比較、コピー ・運用管理ダッシュボード ・レポート(性能、セキュリティ等) ・ユーザーエクスペリエンス監視
Copyright© 2012, Oracle. All rights reserved.
Enterprise Manager
WebLogicからOracle DBにドリルダウンして問題解析
DB待ちが発生している場合、
発行しているSQL文まで特定
ボトルネックが発生しているページや
メソッドを特定
WebLogicの処理内容をグラフ表
示(ロック待機/CPU/DB待機など)
272.問題への対応(障害、性能劣化)
JRockit Flight Recorder
- オフラインでの分析
•
従来
•
JRockit Flight Recorder
Java EE/ISV アプリ Oracle WebLogic Server
直近の実行情
報を常に記録
Java EE/ISV アプリ App Server JVMFull thread dump Java HotSpot(TM) Client VM (1.5.0_06-64 mixed mode, sharing):
"Low Memory Detector" daemon prio=5 tid=0x0050a600 nid=0x1816a00 runnable [0x00000000..0x00000000]
"CompilerThread0" daemon prio=9 tid=0x00509cb0 nid=0x1816600 waiting on condition [0x00000000..0xf0b06358]
"Signal Dispatcher" daemon prio=9 tid=0x00509840 nid=0x1816200 waiting on condition [0x00000000..0x00000000]
"Finalizer" daemon prio=8 tid=0x00509020 nid=0x1810200 in Object.wait() [0xf0a04000..0xf0a04ab0] at java.lang.Object.wait(Native Method) - waiting on <0x26580360> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) - locked <0x26580360> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) "Reference Handler" daemon prio=10 tid=0x00508c30 nid=0x180f200 in Object.wait() [0xf0983000..0xf0983ab0]
at java.lang.Object.wait(Native Method) - waiting on <0x26580a50> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:474)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) - locked <0x26580a50> (a java.lang.ref.Reference$Lock) "main" prio=5 tid=0x005013a0 nid=0x1804c00 waiting on condition [0xf07ff000..0xf08002c0]
at java.lang.Thread.sleep(Native Method) at ThreadTest1.method1(ThreadTest1.java:7) at ThreadTest1.main(ThreadTest1.java:4) "VM Thread" prio=9 tid=0x00508450 nid=0x1803c00 runnable "VM Periodic Task Thread" prio=9 tid=0x0050bcb0 nid=0x1813000 waiting on condition
"Exception Catcher Thread" prio=10 tid=0x005015e0 nid=0
問題解決に必要な情報の多くは消失
原因究明に多くの時間が必要
履歴を含めた情報を低負荷で記録し自動出力
迅速な原因究明を支援するGUIツール
5%以下の 低負荷 自動記録 JRockit VM ダンプを解析…Copyright© 2012, Oracle. All rights reserved.
JRockit Flight Recorder
WebLogic→Oracle DB: オフラインでも問題解析
稼働状況を常に記録。記録の中か
ら障害発生時にフォーカス
記録を更に細かく絞り込み、ある瞬
間に実行されていたSQLを特定
WebLogic Server
3. システム全体の可用性
ワークマネージャ – 流量制御, 過負荷保護
HWリソースのグループ化
•
リクエストに対する処理スレッドの割り当てを自動制御
•
Webアプリケーション単位またはURLグループ単位に、最大スレ
ッド数、最小スレッド数、受け入れ可能トランザクション数を設定
できる
アプリケーションA アプリケーションB アプリケーションCCopyright© 2012, Oracle. All rights reserved.
ワークマネージャで出来ること
•
暴走からの保護
特定のアプリケーションがすべてのスレッドを占有し、他のアプリ
ケーションも含めてサービス停止となるような状況を阻止できる
•
目標応答時間
性能要求に応じて目標応答時間を設定することで、WebLogicに
自動チューニングを行わせることが可能
•
管理アプリ
HWリソースが枯渇していても、 Adminが使うような管理アプリに
対し最小限の実行スレッドの割当を保証し緊急時に備える
313. システム全体の可用性
Oracle Coherence – DBアクセスのオフロード
•
Oracle Coherence
インメモリ・データグリッド製品。デー
タをメモリで分散管理し、性能、拡張
性、耐障害性を向上する
•
Coherenceで出来ること
DBへのアクセス負荷軽減
キャッシュによる参照アクセス削減
非同期連携(複数の更新をサマリーして
まとめる)による更新アクセス削減
耐障害性の向上
Oracle
Coherence
Copyright© 2012, Oracle. All rights reserved.
Active Cache –
インメモリソリューションによる性能向上
•
Coherenceと連携しクラスタリング性能を向上する
WebLogic機能
•
メリット
1.
安定性向上
•
WebLogicのメモリの空き容量を安定確保
•
クラスタ処理をCoherenceに担わせ、稼働を安定させる
2.
性能向上
33 Weblogic Server with Coherence■
Without Coherence*Web■
With Coherence*Web■
With full Coherence3. システム全体の可用性
Oracle JRockit JVM – 世界最速のJVM
•
オラクルが提供するJava SE完全準拠の高性能Java VM
インテルアーキテクチャに最適化した業界最速のJVM(現在はSPARC版も
提供)
安定性を高める動的/自動メモリ管理
1998年 Ver.1リリースから12年の
利用実績
Oracle JRockit
用途/プラットフォームを絞って高性能
高速性
サーバーサイド利用、Intelアーキテクチャに最適化
安定性
Sun JVM
マルチプラットフォーム/デバイス
サーバーサイド, PC, 携帯電話, 組み込み機器,
SPECjbb2005Last updated: Jun. 3 2010
9611262 Oracle JRockit Linux 6972897 Oracle JRockit Linux 5534233 Oracle JRockit Linux 5210501 他社 JVM AIX 世界最高値
•
JRockitとSun JVMとの違い
Copyright© 2012, Oracle. All rights reserved. 0 15 30 45 60 75 90 105 120 0 2000 4000 6000 8000 10000 12000 14000 16000 18000
3. システム全体の可用性
JRockit Real Time (JRRT) – GC遅延の抑止
•
JRRTが出来ること
ガベージコレクションによる処理
遅延の平準化
応答性能保証
•
JRRTのメリット
突発的な遅延を抑止し安定稼働
応答性能の平準化
35ガベージコレクションの影響によるレ
スポンスタイムの劣化、タイムアウト
の発生
0 15 30 45 60 75 90 105 120 0 2000 4000 6000 8000 10000 12000 14000 16000 18000従来のJava
JRockit Real Time
•
アプリケーションの修正不要
•
汎用HWとOS利用可
まとめ
•
本日ご紹介した内容: Oracle DBユーザーのための
WebLogic機能
1.
DBとの接続、連携
マルチデータソース、Active GridLink for RAC による連携
自動閉塞/復旧、高度な負荷分散
2.
問題への対応(障害、性能劣化)
Enterprise ManagerとJRockit Flight Recorderによる
WebLogic+DBのドリルダウン分析
Copyright© 2012, Oracle. All rights reserved. 37
http://blogs.oracle.com/oracle4engineer/entry/otn_ondemand_questionnaire
OTNオンデマンド 感想
OTNセミナーオンデマンド
コンテンツに対する
ご意見・ご感想を是非お寄せください。
上記に簡単なアンケート入力フォームをご用意しております。
セミナー講師/資料作成者にフィードバックし、
コンテンツのより一層の改善に役立てさせていただきます。
是非ご協力をよろしくお願いいたします。
OTNセミナーオンデマンド
日本オラクルのエンジニアが作成したセミナー資料・動画ダウンロードサイト
掲載コンテンツカテゴリ(一部抜粋) Database 基礎 Database 現場テクニック Database スペシャリストが語る Java WebLogic Server/アプリケーション・グリッド EPM/BI 技術情報 サーバー ストレージ例えばこんな使い方
•
製品概要を効率的につかむ
•
基礎を体系的に学ぶ/学ばせる
•
時間や場所を選ばず(オンデマンド)に受講
•
スマートフォンで通勤中にも受講可能
100以上のコンテンツをログイン不要でダウンロードし放題
データベースからハードウェアまで充実のラインナップ
毎月、旬なトピックの新作コンテンツが続々登場
コンテンツ一覧
はこちら
http://www.oracle.com/technetwork/jp/ondemand/index.html
Copyright© 2012, Oracle. All rights reserved.
オラクルエンジニア通信
オラクル製品に関わるエンジニアの方のための技術情報サイト
39オラクルエンジニア通信
技術コラム
アクセス
ランキング
特集テーマ
Pick UP
技術資料
性能管理やチューニングな
ど月間テーマを掘り下げて
詳細にご説明
インストールガイド・設定チ
ュートリアルetc. 欲しい資
料への最短ルート
他のエンジニアは何を見て
いるのか?人気資料のラン
キングは毎月更新
SQLスクリプト、索引メンテ
ナンスetc. 当たり前の運用
/機能が見違える!?
http://blogs.oracle.com/oracle4engineer/
oracle
tech.jp
ITエンジニアの皆様に向けて旬な情報を楽しくお届け
Viva!
Developer
セミナー
スキルアップ
製品/技術
情報
ORACLE MASTER!
試験頻出分野の模擬問
題と解説を好評連載中
Oracle Databaseっていく
ら?オプション機能も見積
れる簡単ツールが大活躍
基礎から最新技術まで
お勧めセミナーで自分にあ
った学習方法が見つかる
全国で活躍しているエンジ
ニアにスポットライト。きらり
と輝くスキルと視点を盗もう
Copyright© 2012, Oracle. All rights reserved. 41