新人でも簡単にわかるWebアプリケーションのお話。
Advertisements
夏野さんというi-modeを作った偉大な人が以前、
「これからはブラウザの時代」
とツイートしていた記憶があります。
このブラウザというのは、Webページを見るためのアプリケーションソフトのことです。
僕たちがなにげなく使っているブラウザにHTMLを表示させるまでに、実は裏で色んな処理が行われているわけですが、今日はその処理を簡単に説明したいと思います。
Webアプリケーションって何?
困ったときのwikipediaで調べると、
ウェブアプリケーション(Web application)は、ウェブの機能や特徴を利用したアプリケーションソフトウェアのことである。
とあります。
これだとなんだかよくわかりません。
なので、webアプリケーションとの対比でよく使われる「デスクトップアプリケーション」を考えてみましょう。
デスクトップアプリケーションとは、PCにインストールして使う種類のアプリケーションのことです。
デスクトップ上で動作するからデスクトップアプリケーションといいます。
たとえば、文系学生おなじみの「word」や「excel」はデスクトップアプリケーションです。
それに対して、Webアプリケーションの画面はWebブラウザ上でHTML形式で表示されます。
初めに説明しましたが、Webブラウザというのは、Webページを見るためのアプリケーションソフト(ちなみにブラウザはデスクトップアプリケーション)のことで、
HTMLというのは、Webページを記述するための言語のことです。
このHTMLをWebブラウザが解釈して画面に表示しているわけです。
HTMLがどこで作られているのかというと、それはサーバで作られます(サーバマシン上のWebアプリケーションソフトで作られる)
Webアプリケーションは、手元のPCにインストールする必要はありません。
Webサーバって何?
Webアプリケーションを構成する要素の一つに、Webサーバがあります。
Webサーバというとややこしいですが、
普通はサーバマシンではなく、あるコンピュータ上で動作している「webサーバ」というソフトウェアのことを指します。
このWebサーバがHTTPリクエストを受け付けます。
Webサーバソフトの代表的なソフトはApache HTTP Server」や「Internet Information Service(IIS)」などがあります。
余談ですが、映画「ソーシャルネットワーク」でザッカーバーグが
「Apacheが動く・・・!!」
と言ったのもこのApacheを指しています。
「Facebook」という世界最高のWebアプリケーションをリリースした瞬間ですね。
で、続きですが、Webサーバが受け付けたリクエストを元に情報を処理するのが
Webアプリケーション
です。このWebアプリケーションが受け取った情報を元にHTMLを生成します。
それをWebサーバが受け取って、HTTPレスポンスを返します。
大規模なシステムでは普通は、WebサーバとWebアプリケーションではマシンを分けます。
負荷を分散するためです。
そして、このWebアプリケーションがどうやって動いているかというと、
アプリケーションサーバの上で動いています。
Servlet/JSPを勉強すると「tomcat」というソフトウェアを目にすると思いますが、
tomcatはアプリケーションサーバのことだったんです。
Webの勉強をすると、用語がいっぱい出てきてややこしいと思いますが、
仕組みやその技術が採用される経緯などをよく勉強したい人には
「プロになるためのWeb技術入門」
AmazonのURL→http://p.tl/iutY
がおすすめです。
新人のうちに目を通しておきたかった良書です。