Webシステムの解説(基本情報技術者シラバス用語)

目次

Webシステムとは

Webシステムとは、インターネットやブラウザ(Google ChromeやSafariなど)を利用して、利用者がインストール不要で使えるシステムのことです。一般的に、画面の表示を担当する「Webブラウザ(クライアント)」、利用者の要求に応じて業務処理を行う「Webサーバ(およびアプリケーションサーバ)」、データの保存や管理を担当する「データベース(DB)サーバ」の3つの階層に役割を分けた「3層アーキテクチャ」と呼ばれる構成で設計されることが多く、保守や拡張がしやすいのが特徴です。

具体例

身近な例では、Amazonなどのネットショッピングサイトや、Twitter(X)などのSNSが挙げられます。利用者は専用のソフトをパソコンにインストールすることなく、ブラウザを開くだけで買い物をしたり投稿を閲覧したりできます。以下は、Webシステムにおいてユーザーがブラウザでページをリクエストした際の流れを示すイメージです。

[ ブラウザ ] (画面表示)
      ^
      | (HTTP通信)
      v
[ Webサーバ ] (アクセス受付・プログラム処理)
      ^
      |
      v
[ データベースサーバ ] (ユーザー情報や商品データの取得)

もう少し詳しく

Webシステムは、従来の専用ソフトをインストールするクライアントサーバシステムの課題を解決するために普及しました。特に企業システムにおいて、Webシステムの代名詞とも言えるのが「3層クライアントサーバアーキテクチャ(3層アーキテクチャ)」です。これはシステム全体の機能を以下の3つの階層(層=Tier)に分割して設計する手法です。

  • プレゼンテーション層(Webブラウザ): ユーザーの目に触れる画面を表示し、ボタンのクリックや文字の入力といった操作を受け付けます。HTML、CSS、JavaScriptなどで構成されます。
  • アプリケーション層(Webサーバ / APサーバ): プレゼンテーション層から送られてきたデータを受け取り、複雑な業務ロジック(例えば「在庫が減ったら発注する」「入力されたパスワードが正しいか照合する」など)を実行する中核部分です。Java、PHP、Pythonなどのプログラミング言語が使われます。
  • データ層(データベースサーバ): ユーザーのアカウント情報や商品の在庫データなどを永続的に保存し、アプリケーション層からの要求に応じてデータの検索や更新を行います。

このように役割を3層に分ける最大のメリットは「保守性と拡張性の高さ」です。例えば、スマートフォンの普及に伴って画面のデザインだけを新しくしたい場合、データ層やアプリケーション層のプログラムには一切触れることなく、プレゼンテーション層だけを改修すれば済みます。また、アクセスが急増して処理が重くなった場合も、システム全体を強化するのではなく、ボトルネックとなっているアプリケーション層のサーバだけを増設する(スケールアウトする)といった柔軟な対応が可能になります。

試験でのポイント

情報処理技術者試験において、「Webシステム」や「3層クライアントサーバシステム」は非常に出題頻度が高い最重要キーワードの一つです。最もよく出題されるのは、上述の「プレゼンテーション層」「アプリケーション層(ビジネスロジック層)」「データ層(データアクセス層)」の3つの役割の組み合わせと、それぞれの役割の内容を正しく答えさせる問題です。

また、システム保守の観点から「各層が独立しているため、ある層の仕様変更が他の層に及ぼす影響を最小限に抑えられる」という特徴が選択肢としてよく問われます。間違いやすいポイントとしては、3層アーキテクチャにおける「層(Tier)」とは論理的な役割の分割であり、必ずしも物理的に3台の別々のサーバーマシンを用意しなければならないわけではない点に注意してください。小規模なシステムであれば、1台のサーバーの中にWebサーバとデータベースを同居させて3層の役割を持たせることも可能です。

関連する用語

Webシステムの通信の基盤となるプロトコルが「HTTP/HTTPS」です。また、Webシステムは専用アプリを必要としないのが特徴ですが、画面側の処理をリッチにするために活用される技術として「JavaScript」や「Ajax」などの用語も併せて理解しておきましょう。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ