見出し画像

Webアプリケーションの基本②

今日もWebアプリケーション、特にアプリケーションサーバーについて書いていこうと思います。

アプリケーションサーバー

アプリケーションとはプログラマーが作ったプログラムのこと。そして、そのプログラムを動かすためには、AP(アプリケーション)サーバーが必要になります。

そしてAPサーバーは「Webサーバー」と「DBサーバー」の間に位置しています。流れとしてはこんな感じです。

①「Webサーバー」からリクエストを受け取る
②リクエストに応じてアプリケーションを実行
③アプリケーションから「DBサーバー」を操作、処理結果を読み込む
④実行結果をWebサーバーに返す

画像1


またAPサーバーには2つの機能があります。
①セッション管理機能②トランザクション管理機能の2つです。

①セッション管理

そもそもHTTPは基本的に1回のリクエストとレスポンスで通信が切断されてしまいます。そのため、HTTPだけではクライアントがどういう状態にあるか把握できません。そこで、APサーバーがクライアントごとにセッションIDを発行して、通信データに含めます。そうすることで同じクライアントからの通信を1つのセッションと呼ばれる単位で判別することができます。

②トランザクション管理機能

トランザクションとはセッション中に行われる作業の最小単位のことです。トランザクションには複数の処理が含まれています。その複数の処理をAPサーバーは1つのトランザクションとしてまとめて管理します。

例えば、予約手続きでこのトランザクション管理が使えます。

①ログイン
②空室状況の確認
③空室を1つ減らす
④空室に予約者情報を追加
⑤予約の確定
⑥ログアウト

これを1つずつ処理するとします。すると、途中で予約をやめたら、誰も使っていないのに空室が1つ減ることになります。でも、トランザクション管理すれば以下のように分割することができます。

①ログイン
②空室状況の確認
③空室を1つ減らす
④空室に予約者情報を追加
⑤予約の確定
⑥ログアウト

すると途中で予約をやめた人がいても空室は減らないままにできます。これは便利!

こんな感じでトランザクション管理は使うことができます。

サポート頂いた方にはコメントを返させていただきます。サポート頂けますと幸いです✌️