Webシステムを図解で解説
〜Webアプリケーションの考え方〜

システム開発を担当していると、Webシステムの開発を担当することも多いです。

システム開発のほとんどがWebシステムと言っても過言ではないかも知れません。

Webシステムはシステム開発を行う上でよくシステム構成ですが、Webシステムの仕組みを理解していますか?

理解しないまま作業を行なっていると、つまずくことがあるかもしれません。

そうならないために、Webシステムについて知らない人、説明できない人、よくわかっていない人でも分かるように説明します。

Webシステムとは?

Webシステムは、クライアントのブラウザ(Chrome、IEなど)で使用するシステムのことになります。

ブラウザからWebサーバにアクセスをして通信を行いシステムが使えるようになります。

通信はhttpプロトコルを使用して行っています。

代表的な例として、Amazonや楽天などのショッピングサイトがWebシステムになります。

Webシステムは、クライアントサーバシステムと比較されて、どちらにするか検討されるシステム構成です。

Webシステムとクライアントサーバシステムとの大きな違いは、Webシステムはブラウザがあれば使えるというところです。

クライアントAPを使用したクラサバについては、下記ページで解説していますので参考にしてみてください。

Webシステムの仕組み

Webシステムの仕組みについて説明していきます。

まず、Webシステムについてどういった特徴があるかを説明していきます。

特徴としては下記の内容があります。

・ブラウザを使用するためAPのインストール不要
・Webサーバがメインで処理
・htmlの範囲内で画面を作成するため、自由度が低い
・Webサーバに負荷がかかりやすい

Webシステムはブラウザがあれば使用できるため、クライアントのアプリケーション(AP)のインストールが不要なのが最も大きな特徴になります。

クライアントで行っている処理は、htmlでWeb画面の作成を行ない表示を行い、Webサーバで主要な処理を行います。

この時のクライアント側をクライアントサイド、Webサーバ側をサーバサイドと呼びます。

クライアントが見る画面はhtmlで作成した画面のみになります。
そのため、htmlで実現可能な画面のみで画面設計をすることができます。

htmlで画面を作成したことがある人は分かるかも知れませんが、画像の位置の微調整などがやりづらいです。
また、htmlで用意されているコントロールしか使用できず、思ったような画面が作成できない可能性があることがデメリットです。

処理については、Webサーバが主な処理を実行しているため、使用するクライアント数が増えるとWebサーバの負荷が増えてしまい動作が遅くなることがあります。
そのため、ユーザ数に応じてWebサーバのスペックを検討しておく必要があります。

Webシステムの一般的な処理の流れは下図のようになります。

図内の①で、クライアントの画面からWebサーバへ処理の要求を行います。

②で、クライアントの要求の内容について処理を行います。ここで、WebサーバのAPを使用して計算を行なったり、SQL文を発行してDBからのデータを取得したりデータの集計を行なったりします。
WebサーバでのAPは様々な言語で作成されます。主要なものとして「PHP」「JSP」「Ruby」があります。また「Java」で作成されたシステムもよく目にします。JavaやPHPは昔からよく使われており、JSPは動的に動くWeb画面を作りやすい言語のためよく使われています。最近ではRuby、またはPythonを使用しているシステムも増えてきています。

③で、Webサーバからクライアントに処理した結果を返却します。ここでWebサーバから返却された内容で、クライアントのブラウザ画面が更新されます。

Webシステムで作成を行う際には、クライアントサイドとサーバサイドの処理を切り分けて考えることが重要です。

どちら側の処理を作成しているのか、必要な処理はどちらでやるべきなのか、良く検討して実装するようにしましょう。

まとめ

今回はWebシステムについて説明しました。

Webシステムの製造を行う際に仕組みについて、理解しておくことは大切です。

「クライアントサイド」「サーバサイド」のどちらを作成しているのが重要になるため、そこをしっかり意識して作業を行うようにしましょう。

下記の内容をしっかり理解しておきましょう。

・ブラウザから操作を行う
・Webサーバがメインで処理を行う
・ブラウザを使用するためAPのインストール不当
・htmlで実装することが可能な画面しか作れない(画面自由度が低い)
・クライアントの設定が不要なため、人数が多いシステム向きの構成