0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Webアプリケーションの仕組み

Posted at

Webアプリケーションとは

高度な機能を持ったWEBサイトのことを指す。
→ 双方向のやり取り
WEBアプリケーションを開発するにはHTMLだけではなくWEBプログラムを利用するためフレームワークを利用する。
(例)ECサイト,Youtube,Excel,ZOOM

基本的な仕組み

基本構成はクライアントサーバの2つで成り立っている。
クライアント:サービスを要求する側(ユーザ)
サーバ:サービスを提供する側

クライアントサイド(フロントエンド)

構成

  • Webブラウザ(Webサイト)
  • Webサーバ
Webブラウザ

インターネットを介してWebサイトを閲覧するためのソフトウェア
Chrome、safari、Microsoft Edgeなど

Webサーバ
  • ユーザーからリクエストを受信し、結果を返す
  • HTML/CSS,画像を格納
  • Webサービスを提供する時に使用されるプロトコルはHTTP
  • どのWEBサイトにも存在するサーバ
  • 静的コンテンツ

例)Nginx(エンジンエックス)、Apache HTTP Server(アパッチ)、IIS(アイアイエス)

WebサーバはOSとの対応に注意する必要がある。

サーバサイド(バックエンド)

構成

  • アプリケーションサーバ(APサーバ)
  • データベースサーバ(DBサーバ)

APサーバ

Webサーバからリクエストを受信し、プログラムを実行する。そして、動的コンテンツを生成する。ここでJavaやPHPなどの言語を使用してプログラミングする。

必ずしもAPサーバが必要な訳ではない。WebサーバがAPサーバを兼任することも可能。詳しくは続きの層構造で解説します。

役割

  1. コネクト機能

    データベースへの接続をする機能

  2. トランザクション機能

    データの整合性を保つ処理を行う機能

  3. ビジネスロジックの実装

    認証、メッセージ機能など

例)Apache Tomcat(Java),Apache(PHP),Unicorn(Ruby)

言語によって扱うAPサーバは違うので注意

DBサーバ

データベース管理システムによって管理されている。APサーバからのリクエストに応じたデータ管理の実行。
データベースの種類は「Oracle」、「SQL Server」、「MySQL」、「PostgreSQL」などがある。

3層構造

Webアプリケーションを3つの層に分けて構成する。

3つの層とは?

  • プレゼンテーション層
  • アプリケーション層
  • データ層

なぜ分けるのか?

サーバの負荷分散(分散処理)ができる。それに伴い、セキュリティが強固になり、メンテナンス性が上がる。
ただ、物理サーバの数を増やさなければならない。

構造

2層構造

プレゼンテーション層とデータ層で構成されており、アプリケーション層が存在しない構成である。
なので、2層構造ではAPサーバが不要になり、WebサーバがAPサーバを兼任する。したがって、Webサーバの負荷が大きくなり、プレゼンテーション層からデータ層へアクセスが可能のため、セキュリティ面でも問題があります。これらの理由により、現在では3層構造を推奨しております。

小規模の開発などでは2層構造でも問題ありません。


参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?