![見出し画像](https://assets.st-note.com/production/uploads/images/172745402/rectangle_large_type_2_f32dbce38f95d677ca1087a64a19362f.jpeg?width=1200)
JAVA APサーバで構築する堅牢なWebシステム基盤:構成と主要コンポーネントを解説する①。3階層モデルについて。
まえがき
大規模Webアプリケーションや基幹システムにおいては、JAVAアプリケーションサーバ(APサーバ)が果たす役割は重要。
この記事では、JAVA AP サーバを中心としたWebシステムの構成と主要コンポーネントについて解説する。
システム構成を理解することが、安定性と拡張性に優れたシステム構築に不可欠である。
1.Webシステムの基本構成:3階層モデル
1-1. Webサーバ層
クライアント(Webブラウザなど)からのリクエストを最初に受け付ける層
静的なコンテンツ(HTMLファイル、画像ファイル、CSSファイルなど)をクライアントに配信する
動的なコンテンツ(Webアプリケーションの結果など)をAPサーバに転送する
主な役割:
クライアントからのリクエスト受付
静的コンテンツの配信
リバースプロキシ
ロードバランシング
SSL/TLS暗号化
代表的なソフトウェア:Apache, Nginx
1-2. APサーバ層
Webサーバから転送されたリクエストを受け取り、Webアプリケーションを実行する層
ビジネスロジックの実行、データベースとの連携、動的なコンテンツの生成などを行う
主な役割:
Webアプリケーションの実行
ビジネスロジックの処理
データベース接続管理
トランザクション管理
セキュリティ機能
代表的なソフトウェア:Tomcat, JBoss, WebLogic, WebSphere
1-3. DBサーバ層
Webアプリケーションで利用するデータを格納・管理する層
データの永続化、検索、更新、削除などを行う
主な役割:
データの格納・管理
データの検索・更新・削除
トランザクション処理
データの整合性維持
代表的なソフトウェア:MySQL, PostgreSQL, Oracle
各層の関係性
Webサーバ層は、クライアントからのリクエストを受け付け、APサーバ層に処理を委譲する。
APサーバ層は、Webアプリケーションを実行し、必要に応じてDBサーバ層にデータの問い合わせを行う。
DBサーバ層は、APサーバ層からの要求に応じてデータを処理し、結果をAPサーバ層に返す。
APサーバ層は、DBサーバ層から受け取ったデータを加工し、Webサーバ層を介してクライアントに結果を返す。
3階層モデルのメリット
役割分担による効率化: 各層がそれぞれの役割に特化することで、システム全体の効率が向上する。
負荷分散: 各層を複数台に分散させることで、システム全体の負荷を分散させることができる。
可用性の向上: 各層を冗長化することで、システム全体の可用性を向上させることができる。
セキュリティの強化: 各層でセキュリティ対策を講じることで、システム全体のセキュリティを強化することができる。
保守性の向上: 各層を独立して保守・管理することができるため、システム全体の保守性が向上する。
補足
上記は一般的な3階層モデルであり、システムの規模や要件によって、より複雑な構成になる場合がある。
各層で使用するソフトウェアは、目的に合わせて適切なものを選択する必要がある。
まとめ
3階層モデルは、Webシステムの基本的な構成であり、役割分担、負荷分散、可用性向上、セキュリティ強化、保守性向上などのメリットがある。