Webアプリ開発事始 第4回

TCP/IPネットワークとWebアプリケーションの基礎(4)
~実行環境と開発環境
長谷川裕行
有限会社 手國堂

サーバーで動くかクライアントで動くか

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スクリプトが代表的です。

次に、サーバーサイドとクライアントサイド、それぞれの仕組みと代表的な開発環境について説明しておきます。



- 目次 -
HTMLの前と後
HTMLとタグ
サーバーで動くかクライアントで動くか
WebというOS
2とおりの実行形態
それぞれの特徴
サーバーサイド・アプリケーション
クライアントサイド・アプリケーション
業務処理はサーバーサイドで
データベースとサーバーサイド・アプリケーション
あとがき

Copyright © MESCIUS inc. All rights reserved.