最新バージョンのOracle WebLogic Server 11gの機能を活用し、現場の課題を解決してみませんか?
日本オラクル株式会社 Fusion Middleware事業統括本部
中林 真太郎 (なかばやし しんたろう)
目次

はじめに
Oracle WebLogic Server 11g Release 1 (10.3.1)が、2009年9月8日にリリースされました。本記事では現場の課題を解決できる、最新のWebLogic Serverが持つ多くの優れた機能について、ポイントをしぼってお伝えいたします。
日本では多くのWebLogic Serverユーザ様がバージョン6.xや8.xをお使いいただいているかと思いますが、これらのバージョンをお使いのユーザ様、または新規でのWebLogic Serverの購入を検討されている方々も、ぜひ本記事で紹介する開発や運用設計などの最新機能にご注目ください。
とくに、WebLogic Server 8.1をお使いのお客様は2009年9月末にPremium Supportが終了となります。この機会に最新のバージョンにアップグレードし、追加購入できる機能をフルに利用して運用や開発の効率性を高めてみてはいかがでしょうか。
▲ ページTOPに戻る
最新のOracle WebLogic Server 11gは早くも過去最高のパフォーマンスを記録!
バージョンが上がる毎にパフォーマンスが改善されています!以前からSPECjSAppServerにおいて、他社と比較して非常に良い結果を出し続けていますが、Oracle WebLogic Server 11g(10.3.1)は既にWebLogic Serverによる過去最高の記録(図1)を樹立しました!

図1
▲ ページTOPに戻る
Oracle WebLogic Server 11g (10.3.1)で利用できる優れた機能
最新のWebLogic Serverには、オープンソース製品や他社製品では実現が難しい多くの優れた機能が搭載されています。その中から最新バージョンならではの機能をいくつか紹介します。
パフォーマンス関連機能
サーバが高負荷状態に陥って困っているときはもちろん、多くの管理者はサーバの負荷を制御したいと考えるのではないでしょうか。最新の WebLogic Serverには過負荷状態を検知して自動的に回避したり、過負荷状態から回復したりするための機能が追加されています。
こんな問題でお困りのお客様へ
- Webアプリケーションを公開しているが、アクセスが増加するとシステムが不安定になる
- サービスレベルを低下させずにアクセス制限を行い、不安定な状況を回避したい
- サーバの負荷が高い状態でも管理用のアプリケーションや管理者ユーザーの処理だけは優先させたい
自動チューニング:ワークマネージャ
スレッドプールを細かいレベルでチューニングすることが可能です。管理者は一連のスケジューリングガイドラインをアプリケーションに対して設定でき、実行時にはこれらの設定されたガイドラインに基づいて、保留中の作業やキューに入っている要求が実行スレッドに割り当てられます(図2)。
詳細:http://www.slideshare.net/oracletechnetjp/weblogic-server
→WebLogic Serverのアーキテクチャ(スレッド管理) をご覧ください
 図2
流量制御:オーバーロードプロテクション
メモリ使用率やスタックスレッド、OutOfMemoryError等の異常が検知された場合に、サーバの再起動やリクエスト拒否(HTTPのセッション数を制限し流量制限)などのアクションを設定することができます。
事前設定したしきい値に達すると新しいHTTPセッションを作成する要求が拒否され、WebLogic Serverのクラスタ環境では別の管理対象サーバにリダイレクトされますし、クラスタ化されていないサーバインスタンスの場合は、要求を代替サーバインスタンスにリダイレクトさせることができます。
▲ ページTOPに戻る
デプロイメント機能関連
こんな問題でお困りのお客様へ
- サービスを無停止でアプリケーションを入れ替えたいが、デプロイのタイミングでどうしてもサービス停止が発生してしまう
- エンドユーザへの公開前に、実際に本番環境でアプリケーションのテストができれば...
- 環境の差異により、テスト環境ではチェックできない問題が発生した。本番環境でバージョンを変えてテストしたい
無停止AP入れ替え:プロダクション再デプロイメント
サービスを止めずにアプリケーションを入れ替えたい。このようなニーズは実運用のフェーズではよくある話です。計画停止時間を設け、バージョンアップを実施する、ロードバランサでアクセスを止め、縮退運転をし、1ノードずつバージョンアップする、こんな形で運用されることがほとんどではないでしょうか?最新のWebLogic Serverでは、計画停止や縮退運転をゼロにするための機能を提供しています。また、クラスタ無しの環境での無停止バージョンアップが可能です。
アプリケーションの新旧バージョンを並行稼動させ、既存セッションは旧バージョン、新規セッションは新バージョンへ自動的に振分けるインテリジェンスな機能を、クラスタ構成でなくとも利用できます(図3)。バージョン管理をWebLogic Server上で行い、セッションが全て終了した時点で旧アプリケーションを廃止とすることが可能です。
 図3
▲ ページTOPに戻る
運用管理機能関連
こんな問題でお困りのお客様へ
- サーバ・ドメインのコンフィグレーションや、テスト機と本番機での設定の同期を手動で行っている
- 操作手順等は手順書を用意して運用しているが、人手なのでいつ間違ってもおかしくはない
- JMSやJDBCなど大量のコンフィグレーションを手動で設定している
設定作業自動化/運用監視機能の自作・記録機能:WebLogic Scripting Tool
テスト機と本番機では同じ設定が必要となるので、設定内容や操作手順を記録しておきたい。大量のコンフィグレーションを設定しなくてはならないが、もっと楽にする方法はないか?自動化することはできないか?これらのニーズについての悩みをWebLogic Scripting Toolが解決します!
WebLogic Scripting ToolはJavaのスクリプトインタプリタであるJythonをベースにしたコマンドライン スクリプト インタフェース(図4)です。
WebLogic Scripting Toolを駆使してさまざまな操作を自動化することが可能です。また、コンフィグレーション設定やサーバ稼動時の情報を確認することもできます。
メモリ情報を定期的に取得してCSV形式で出力したり、バージョン指定をしてデプロイメントコマンドを実行したり。もちろんクラスタの作成/削除、JMSリソースの作成/削除、JDBCデータソースの作成/削除も可能です。
 図4
▲ ページTOPに戻る
プロファイリング機能関連
こんな問題でお困りのお客様へ
- アプリケーションが想定していない動作をする。原因解析のためにJVMの中での動作を確認したいが、ブラックボックスなのでどう対処したらよいのかわからない
- 現場でもJVM内の障害に対応できるようにしておきたい。しかし、そのためのツールは高価であり、プロファイリングの負荷がかかるといった問題がある
- 高額のJava Profilerを購入予定である。ないと不便だがいつも使うわけではないので、もう少しコストを抑えたい
JRockit JVMの動作を詳細に把握:Oracle JRockit Mission Control
Oracle JRockit Mission Controlは、開発環境と本番環境のどちらの問題にも対応できる、低オーバーヘッドでの診断とプロファイリングが可能な診断ツールです。最新のバージョンでは、Oracle JRockitのJava Development Kit(JDK)をはじめとするスタンドアロンのリモート・プロシージャ・コール(RPC)アプリケーションとしても、EclipseにプラグインとしてインストールできるEclipseプラグイン・セットとしても使用可能です。
Oracle JRockit Mission Controlをご使用いただくには、WebLogic Server Standard Edition(SE:旧Advantage)ご利用の方はOracle Diagnostics Pack for Oracle Middlewareをご購入いただく必要がありますが、WebLogic Server Enterprise Edition (EE:旧Premium)ご利用の方はそのままお使いいただけます。
JRockitJVMの診断とプロファイリングが可能で、別途高価なJava Profilerを購入する必要がありません。そう考えるとWebLogic Server EEはかなりリーズナブルですね!
▲ ページTOPに戻る
セッション情報管理関連
こんな問題でお困りのお客様へ
- 規模の拡大が予想される商用Webサイトでのセッション管理を行いたい
- 既存環境(データベースでセッション管理を行っている)のパフォーマンスに懸念がある
スケーラブルなデータグリッド上でセッションを管理: WebLogic Active Cache & Oracle Coherence
これから規模の拡大が予想される商用Webサイトでのセッション管理を、皆さまはどのようにお考えでしょうか?セッション情報は重要なので、データ共有のためのデータベースを利用した。そのためDISK I/Oなどのパフォーマンス劣化がおきたが、仕方ないと諦めていた。しかし、商用Webサイトが拡大してセッション情報自体のサイズが拡大した結果、適切なパフォーマンスを維持し続けることが難しくなった。こんな問題に心当たりはないでしょうか?
Oracle WebLogic Server SE/EEをお使いのお客様は、別途Oracle Coherenceというデータグリッド製品を購入していただくと、これらの問題を解決することが可能です。最新のWebLogic Server SE/EEにはWebLogic Active Cacheという機能がありますので、Oracle Coherenceと容易に連携でき(図5)、データグリッドを構成することでスケーラブルかつ高パフォーマンスなデータグリッドにセッション情報を格納することが可能です。
 図5
ラージサイズのセッションオブジェクトを格納するには、Oracle Application Serverの通常のオブジェクト格納領域では限界があります(サーバ間でそれぞれのセッション情報の複製を持ち合うため、台数を増やしてもセッション情報格納領域はスケールアウトしない)。また、Oracle Application Serverのセッション管理では異種アプリケーション・サーバーを跨ったセッション情報の共有は不可能ですが、WebLogic Active Cacheを利用するとメモリグリッド上のデータを共有できるので、これが可能となります。さらにインメモリグリッド上ではセッション情報をパーティショニング(役割分担持ち)するため、格納領域のスケールアウトが可能になります。これはヒープサイズを大きくするのではなく、JVMのプロセス数を増やすことでフルガベージ・コレクションの悪影響を回避しながら、メモリ領域をグリッド的にスケールアウトするアプローチです。たとえば、拡大するECサイトでのセッション管理やWebLogic Portal state管理などに最適です。
▲ ページTOPに戻る
データアクセスの高速化とデータアクセスパターンの統一化
こんな問題でお困りのお客様へ
- オープンソース製品などのサーバが乱立し、維持費用がかかる。集約型のアーキテクチャモデルに統一したいが、スムーズな拡張性がある構成が見当たらない
- プライベート・クラウドを検討しているが、どのような構成で組むべきか明確ではない
スケーラブルなデータグリッド上でセッションを管理: WebLogic Active Cache & Oracle Coherence
WebLogic Server 11gの全エディションで利用可能なWebLogic Active Cacheと、メモリグリッドの製品であるOracle Coherenceを組み合わせることで、WebLogic Server上のアプリケーションは利用可能な広大なメモリ空間を手に入れ、よりスケーラブルによりハイパフォーマンスにデータを扱うことが可能になります(図6)。全てのデータソースへのアクセスがOracle Coherence Data Gridへ統合されます。また、高可用性レベルを確保するOracle Coherenceのキャッシュアルゴリズムによってデータの保全性が保たれます。これにより、マスタデータの障害時にもアプリケーションは問題を意識することなく業務を継続することが可能です。データグリッド空間の拡張は容易で、一台のマシンリソースに与えられたメモリ空間を超えて仮想的に拡大させることができます。
次世代のデータセンターにおける統合データレイヤーやプライベート/クラウドの実現には、WebLogic Active CacheとOracle Coherenceの組み合わせが最適です。
 図6
▲ ページTOPに戻る
メッセージングシステムにおけるメッセージ永続性の確保
こんな問題でお困りのお客様へ
- メッセージングシステムを利用したいので、信頼性があり、機能的にも優れている製品を探している
- JMSメッセージの永続性を確保するためにデータベースを利用しようと考えているが、スクラッチでは開発工数や管理工数の面で不安である
Enterprise Grid Messagingによる高度なJMS機能
WebLogic ServerのJMS機能についてご存知でしょうか?WebLogic JMSはWebLogic Serverの機能の一部です。高信頼、高性能、高可用性を備えたJava Messaging Service(JMS)エンジン、他社JMSでは提供されていない高度な順序保障やクラスタリング機能、メッセージ移行機能などを提供することにより、 エンタープライズレベルのメッセージの利用(キュー&トピック動作)をサポートしています。さらにWebLogic JMSは過去のリリースの中でも最も高速なJMSエンジンで、JTA transactionも使用できます。ここまででもかなり高機能といえますが、Oracle WebLogic Server 11g Release 1ではさらにOracle Advanced Queuing対応(図7)、メッセージの永続化先としてのOracle RAC対応など、オラクル製品との連携が可能になります。これもオラクルと統合した一つの効果でしょう!
 図7
▲ ページTOPに戻る
最後に
このようにWebLogic Serverの最新バージョンに備わった多くの優れた機能をもちいて、現場の課題を解決することができます!この機会にぜひ最新バージョンの導入をご検討ください。
なお、本記事に関するご質問や、例えばご利用中のバージョンが8.1でプレミアサポートがそろそろ切れるので、最新バージョンを利用するためにアップグレードしたいが、どのような点に気をつければよいのか聞きたい、新機能を使ってみたいので具体的に相談したいなどのご要望がありましたら、ぜひ一度 Oracle Direct 0120-155-096 までご相談ください。
▲ ページTOPに戻る
|
Copyright © 2009, Oracle Corporation Japan. All rights reserved.
無断転載を禁ず
|
この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。日本オラクル社は本書の内容に関していかなる保証もいたしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。
Oracleは米国Oracle Corporationの登録商標です。文中に参照されている各製品名及びサービス名は米国Oracle Corporationの商標または登録商標です。その他の製品名及びサービス名はそれぞれの所有者の商標または登録商標の可能性があります。 |
中林 真太郎(なかばやし しんたろう)
WebLogic ServerをはじめとするApplication Infrastructure Productの日本における市場開発を担当
|