![見出し画像](https://assets.st-note.com/production/uploads/images/144692593/rectangle_large_type_2_c390d03322e46e2465a4476f2ba24860.png?width=1200)
WebLogic Serverについて理解したい!~OracleWebLogicServer構築運用ガイド11gで学んだことをアウトプット~
※ この記事は書籍「OracleWebLogicServer構築運用ガイド11g」の内容を自分なりに解釈して記述したものです。
エンタープライズカーネル
WebLogic Serverが提供するエンタープライズカーネルは、Java EE(エンタープライズエディション)アプリケーションのための実行基盤です。ビジネスのさまざまな局面で利用できる多くの機能を提供しています。エンタープライズカーネルの特徴は以下の3つです:
・ゼロダウンタイムアプリケーションサーバー
・FOUNDATION FOR SOA
・管理容易性
ゼロダウンタイムアプリケーションサーバー
この機能は、システムの停止時間を最小化することを目指しています。計画外の停止だけでなく、計画的な停止時間も含めて最小化するための機能です。
ゼロダウンタイムカーネル
動的変更機能: システムを再起動せずに、さまざまな変更を実行できる。
障害発生の削減: 障害を減らすための機能。
障害対応強化: 障害が発生したときの対応力を強化。
これにより、計画的な停止を含むシステムの停止時間を削減できます。
過負荷保護機能
HTTPセッション数の制限: 同時に処理できるHTTPセッションの数を制限する。
自動オペレーション: メモリ使用量、スレッド数、メモリエラー発生などの指標を基に、自動的にオペレーションを行う。
HTTPセッション数の制限と「ワークマネージャー」という機能を組み合わせることで、柔軟な流量制限が可能です。
ワークマネージャー
WebLogic Serverが最適なリソース配分を行う機能です。これにより、以下のことが可能になります:
リソースの最適配分: サーバーがリソースを最適に配分する。
チューニング: システムの性能を調整する。
優先接続: 特定のユーザー、グループ、アプリケーションごとに接続の優先順位を設定する。
これらの機能を使って、堅牢で柔軟なアプリケーション実行環境を構築できます。
フィルタリングクラスローダー
システムクラスパスからロードされたクラスより、アプリケーションで指定されたクラスを優先させることが可能。
このフィルタリングクラスローダーを利用することで、再起動することなく複数のアプリケーションで異なるライブラリを利用することが可能。
アプリケーションのライブアップデート
アプリケーションの動的入れ替えを実現するためのアップデート機能。
プロダクション再デプロイメント機能
例えばプロダクション再デプロイメント機能では、稼働中のアプリケーションを入れ替える際に
・既存のセッションは更新前のアプリケーションを利用
・新規のセッションは新規アプリケーションを利用
することで、アプリケーションの入れ替え(再デプロイ)の際のダウンタイムを0にすることが可能になる。
※ダウンタイム・・・Webサイトやシステムが利用できない時間を指す。保守や不具合によってコンピューターシステムやネットワークサービスが稼働停止している時間のこと。
バージョンコントロールフレームワーク
プロダクションサイトをサポートする機能としてバージョンコントロールフレームワークが採用されている。
このフレームワークによりバージョンアップ前後のアプリケーションを同時にデプロイし、どちらか一方のアプリケーションのみ稼働させる、というような柔軟なデプロイ(アプリケーション入れ替え)計画を実現することが可能になった
管理モード機能
より堅牢なアプリケーション入れ替えを実現するために管理モード機能も提供している。
この機能を利用することでユーザーに公開することなく本番環境におけるアプリケーションをテストできる。
・本番環境で事前にテストを行う
・本番環境でしか問題が発生しない場合における再現テストの実行
などに有効。
プロダクション再デプロイメント機能と組み合わせることで、より堅牢性の高いアプリケーションデプロイメント(入れ替え、配布)を実現する
FOUNDATION FOR SOA
SOA(サービス指向アーキテクチャ)とは、ソフトウェアの設計方法の一つで、異なるサービスが互いに通信し合うことで機能するシステムのことです。SOAの普及に伴って、アプリケーションサーバーもSOAに対応することが求められるようになりました。
アプリケーションサーバーとSOA
アプリケーションサーバーは、アプリケーションを実行するためのソフトウェア環境です。SOAでは、複数の独立したサービスが連携して動作するため、アプリケーションサーバーはこれらのサービスを効率的に管理・実行する必要があります。
Webサービスの重要性
SOAに欠かせない要素の一つがWebサービスです。Webサービスとは、ネットワークを通じて利用できるソフトウェア機能やサービスのことです。SOAを実現するためには、アプリケーションサーバーがWebサービスをサポートすることが必須です。
WebLogic Serverの対応
WebLogic Serverは、最新の技術や実践的な機能を活用できるよう、様々なWebサービスに対応しています。これにより、SOAを実現するための基盤として機能し、異なるサービス同士の連携を円滑に行うことができます。
具体的には、以下の技術をサポートしています:
WS-AtomicTransactions
分散トランザクションを管理するための標準。これにより、複数のサービスが一つの取引としてまとまって処理され、すべて成功するか、すべて失敗するかを保証します。
WS-Coordination
分散システム間でトランザクションを調整するための標準。これにより、異なるサービスが協力して一つの業務を遂行する際に、調整をスムーズに行えます。
管理容易性
WebLogic Serverの管理コンソール
WebLogic Serverには「管理コンソール」という管理用のインターフェースがあります。この管理コンソールには「チェンジセンター」という機能があり、これにより次のことが可能です:
変更前にロック:
何か変更を加える前に設定をロックすることで、他の管理者が同時に設定を変更するのを防ぎます。これにより、変更が競合することを防ぎます。
排他的なオペレーション:
設定を変更している間、その作業を行っている人だけが操作できるようにすることで、操作ミスや設定の矛盾を防ぎます。
操作ミスの防止:
矛盾した操作が行われた場合、その変更が適用されないようにすることで、設定ミスを防ぐことができます。
管理ツール
管理コンソール以外にも、WebLogic Serverには以下の管理ツールがあります:
コマンドライン管理ツール:
コマンドラインから直接操作できるツールです。
WebLogic Scripting Tool(WLST):
Jython(PythonのJava実装)をベースにしたスクリプト言語を使って、Windows、Unix、Linuxで同じスクリプトを作成・実行できます。これにより、手動操作ではなくスクリプトを使って効率的に管理作業を行えます。
WLSTの利用
すべての管理オペレーションは、WLSTを使って実行することが可能です。これにより、自動化や一貫性のある管理ができます。
Oracle Enterprise Manager
Oracle Enterprise Managerを使うと、複数のWebLogicドメインを一元的に監視・管理できます。また、次のことが可能です:
構成管理:
複数のWebLogic Serverの設定を一元的に管理できます。
問題解析:
オラクルデータベースを含むシステム全体の問題を解析できます。
利用傾向の分析:
システムの利用傾向を分析して、パフォーマンスの最適化や将来の計画に役立てることができます。
要するに、WebLogic Serverは管理作業を簡単にするためのさまざまなツールと機能を提供しています。チェンジセンター機能で設定ミスを防ぎ、WLSTスクリプトを使って効率的に管理作業を行い、Oracle Enterprise Managerで複数のサーバーを一元管理できます。