カテゴリIの次に、サーバーの内側へ

カテゴリIでは、利用者が触れる画面側、つまりフロントエンドを作りました。ここからのカテゴリJは、その画面から送られたリクエストをサーバーが受け取った後、内側で何が起きるのかを見ていく章です。フロントエンドが利用者への窓口だとすれば、バックエンドはその奥で判断を下す場所にあたります。まずはこのカテゴリの全体像として、サーバーが担う責任範囲を押さえておきましょう。
このスライドのポイント
- カテゴリIで作ったのは、利用者が触れる画面側(フロントエンド)
- カテゴリJは、送られたリクエスト(D-03)をサーバーが受け取った後の章
- フロント=利用者への窓口/バックエンド=奥で判断を下す場所
- まずは全体像として、サーバーの責任範囲を押さえる
バックエンドの5責務

バックエンドとは、サーバーの中で5つの責務を担う層のことです。1つ目は入力検証、信頼できない入力を検査する仕事です。2つ目は業務ルールの適用。3つ目は認証と権限の判断、つまり誰なのか、その操作をしてよいのかを決めることです。4つ目はデータベースへの保存や取得の指示、5つ目は決済や通知といった外部サービスへの接続です。これらはI-01で学んだフロントエンドの5責務と、ちょうど対になっています。
このスライドのポイント
- バックエンド=サーバーの中で次の5つの責務を担う層
どっちに書くべきかを判断するために

この5責務を知らないと、ある処理を画面側とサーバー側のどちらに書くべきかを判断できません。その結果、AIが親切心でフロントエンドに書いた防御を、そのまま通してしまいます。これはI-01で見た話の裏面にあたります。画面側の入力チェックは利用者への親切であって、防御の本体ではありません。判断と防御はサーバー側の仕事だと決めておくことが、安全なアプリを作るための前提になります。
このスライドのポイント
- 5責務を知らないと「この処理は画面側かサーバー側か」を判断できない
- 結果: AIがフロントに書いた防御を、そのまま通してしまう(I-01の裏面)
- 画面側の入力チェックは利用者への親切であって、防御の本体ではない
- 判断と防御はサーバー側の仕事、と決めておくことが安全の前提
リクエストがサーバー内を通る断面

バックエンドの全体像は、1本のリクエストがサーバーの中を通り抜ける断面として描けます。受付を通り、入力検証を受け、認証で誰かを判断され、業務ルールで処理を決められ、必要ならデータベースや外部サービスへ渡り、最後に応答となって返ります。この一続きの断面が、カテゴリJの残り9講義でひとつずつ深掘りしていく地図になります。いまはまず、通る順番と登場人物を眺めておいてください。
このスライドのポイント
- 全体像=1本のリクエストがサーバーの中を通り抜ける断面
- 受付 → 入力検証 → 認証判断 → 業務ルール → DB/外部 → 応答
- この断面が、カテゴリJの残り9講義でひとつずつ深掘りする地図
- いまは順番と登場人物を眺めておく
経費申請が届いてから返るまで

具体例で追います。経費申請の送信リクエストがサーバーに届いたとします。まず入力検証で、金額や日付が正しい形かを確かめます。次に申請者が本人かを確認し、金額に応じて承認ルートを判定します。問題がなければデータベースへ保存を指示し、最後に、申請が作成できたことを表す応答を返します。この検証から応答までの一部始終が、5つの責務が順番に働いている姿そのものです。
このスライドのポイント
- 例: 経費申請の送信リクエスト(D-03の例)がサーバーに届く
- 流れ: 入力検証 → 申請者が本人かの確認 → 承認ルートの判定 → 保存の指示 → 作成成功の応答
- この検証から応答までが、5責務が順番に働いている姿
技術サンプル: 5責務と担当講義の対応表

技術サンプルは、5責務とそれを詳しく扱う講義の対応表です。入力検証はJ-06、業務ルールはJ-07、リクエストの振り分けはJ-04、前後に挟む共通処理はJ-05、エラーの扱いはJ-08で深掘りします。読み方のポイントは、5責務がばらばらの話ではなく、この章全体の目次になっていることです。AIへの質問例としては、この機能のサーバー側処理を、5責務のどれに当たるか分類して説明してください、と聞くとよいでしょう。
フロントエンドとバックエンドの役割の違い

混同しやすいのは、フロントエンドとバックエンドの役割です。フロントエンドは表示と利用者への親切を担い、バックエンドは判断と防御を担います。同じ入力チェックでも、画面側のものは操作を助けるための表示であり、サーバー側のものは通してよいかを決める防御です。見た目が似ていても目的はまったく別で、判断の最終権限は、常にサーバー側にあると覚えてください。
このスライドのポイント
- フロントエンド=表示と利用者への親切
- バックエンド=判断と防御
- 同じ入力チェックでも、画面側は「操作を助ける表示」、サーバー側は「通してよいかの防御」
- 判断の最終権限は、常にサーバー側にある
バイブコーディングでの確認点

バイブコーディングでの確認点です。AIが生成したサーバーのコードに、5責務がそろっているかを確かめる習慣をつけてください。とくに抜けやすいのが入力検証です。画面側で確認しているから大丈夫だろう、と省かれることがありますが、前のスライドで見たとおりそれは防御になりません。生成されたコードを見たら、5つの責務のうちどれが書かれていて、どれが欠けているかを、自分の言葉で確認しましょう。
このスライドのポイント
- AIが生成したサーバーコードに、5責務がそろっているかを確かめる習慣
- とくに抜けやすいのは「入力検証」(画面側で確認済みだからと省かれがち)
- 生成コードを見たら「どの責務が書かれ、どれが欠けているか」を自分の言葉で確認
まとめと次回

最後に一問一答です。認証の最終判断は、フロントエンドとバックエンドのどちらでしょうか。……答えは、バックエンドです。フロント側の表示は補助にすぎません。30秒まとめとして、バックエンドは、入力検証・業務ルール・認証と権限・保存と取得の指示・外部接続の5責務を担う、判断と防御の本体だと押さえてください。次回は、サーバーが持つ2つの顔、Webサーバーとアプリケーションサーバーへ進みます。関連資料は「Webアプリ構築 完全ワークフロー」と「AIアプリのセキュリティ超入門」です。
このスライドのポイント
- 一問一答:「認証の最終判断はフロントとバックのどちら?」
- 答: バックエンド(フロントの表示は補助にすぎない)
- 30秒まとめ: バックエンド=5責務(検証・業務ルール・認証と権限・保存と取得の指示・外部接続)を担う、判断と防御の本体
- 次回: サーバーの2つの顔、Webサーバーとアプリケーションサーバーへ
- 関連資料: 「Webアプリ構築 完全ワークフロー」「AIアプリのセキュリティ超入門」