Webアプリケーションとは、TCP/IPネットワークのWebサービスを介して、クライアントのブラウザから操作できるアプリケーションです。これには、大きく分けて2とおりの実行形態が存在します。
- WebというOS -
TCP/IPネットワークで、クライアントからサーバー上のプログラムを実行する方法としては、telnetと呼ばれる遠隔操作機能が有名です。しかしtelnetはテキスト端末によるキャラクタベースのユーザーインターフェイス(いわゆるCUI)であり、Windowsのようなグラフィカルなユーザーインターフェイスは利用できません。
telnetは、ネットワーク管理のために、離れた場所からコマンドを入力してサーバーを操作し、ネットワークの設定などを行うことが目的の機能です。多数のユーザーが大規模なアプリケーションを実行するための機能ではありません。
Webサービスは、ブラウザがWindowsやMacOSなどのGUI環境で実行できるため、文字、画像、音声などを統合して扱えます。つまりブラウザが稼働するということは、(WindowsやMacOSなどの)OSの中に、Web環境という別のOSが稼働している――と、捉えることができます。
Webアプリケーションとは、Webそのものを実行環境とするアプリケーションです。
図1:クライアントOSの中で、Webという別のOSが 稼働しているようなもの
- 2とおりの実行形態 -
Webでアプリケーションを実行するには、大きく2とおりの形態があります。これは、実際にアプリケーションが実行される <場所>による違いです。
1. |
サーバー側で実行する――サーバーサイド・アプリケーション Webサーバーに保存されたアプリケーションをWebサーバー上で実行し、その結果をWebブラウザに表示する |
2. |
クライアント側で実行する――クライアントサイド・アプリケーション Webサーバーに保存されたアプリケーションをクライアントに送信し、クライアントの側で実行する |
- それぞれの特徴 -
それぞれの特徴を、簡単に見ておきましょう。
1. |
サーバー側で実行する――サーバーサイド・アプリケーション
Webサーバー上でプログラムが実行され、その処理結果がクライアントに送られてブラウザに表示されます。そのため、ブラウザを実行しているクライアントの側には、ほとんど負荷がかかりません。
裏返せば、Webサーバーに負荷が集中するということです。CGIやJavaサーブレットなどが代表的です。 |
2. |
クライアント側で実行する――クライアントサイド・アプリケーション
Webサーバーに保存されたプログラムがクライアントのメモリに読み込まれ、Webブラウザがそれを実行します。処理結果も、クライアントのブラウザに表示されます。
Webサーバーからクライアントへ送られるのは、処理結果ではなくプログラムそのものとなるため、プログラムの読み込みに時間が取られます。また、プログラムの実行速度はクライアントの処理能力に左右されます。
"1."の場合とは逆で、サーバー側は単にプログラムを送信するだけとなるため、負担は少なくて済みます。 JavaアプレットやJavaスクリプトが代表的です。 |
次に、サーバーサイドとクライアントサイド、それぞれの仕組みと代表的な開発環境について説明しておきます。
|
|
|