TOPサーバ構築・運用> サーバサイドJavaはWeb上で動作する技術
はじめてのサーバサイドJava
はじめてのサーバサイドJava

第1回:Are you ready for Server Java ?

著者:山田 祥寛   2006/4/7
1   2  次のページ
サーバサイドJavaはWeb上で動作する技術

   サーバサイドJavaについて説明する前に、まずはサーバサイドJavaが動くベースとなるWebについて、簡単に紹介しておくことにしましょう。

   Webの世界では大きく分けて、「クライアント」と「サーバ」という概念が存在します。クライアントとは多くの場合、Internet ExplorerやFirefox、Operaのような製品に代表されるブラウザのことを指します。

   Webにおいては、ブラウザ上でインターネット上のコンテンツの位置を指定することで、その位置に格納されているコンテンツを取得してくることができます(図1)。

クライアント - サーバ間の通信
図1:クライアント - サーバ間の通信

   この位置を表す記法となるのが、皆さんもよくご存じの「URL(Uniform Resource Locator)」です。

   このURLとコンテンツとはHTTP(HyperText Transfer Protocol)というプロトコル(通信手続き)に従ってやり取りされます。HTTPとはその名の通り、ハイパーテキスト(一般的にはHTML)を転送するための決まりごとで、「クライアントの要求に対してサーバが応答する」ごく単純な情報のやり取りを決めています。

   管理者のいないインターネットの世界で、クライアントとサーバとが正しく情報の交換ができるのも、クライアントとサーバとの間で必ずHTTPプロトコル(規則)に従って通信を行っているからです。


静的なページ

   Web上でのやり取りにおいて、クライアントからの要求に対してあらかじめサーバ側で用意されたHTMLファイルを「そのまま」クライアントに応答(レスポンス)するのが「静的なページ」と呼ばれるものです。この場合、サーバはただ要求と応答とを処理する単なるメッセンジャ・ボーイであるにすぎません。


動的なページ

   しかし、実際にはクライアントがAというデータを送信したらXというコンテンツを応答したい、Bというデータを送信したらYというコンテンツを応答したい、というように「動的に」応答の内容を変更したいケースは少なくありません。

   このように条件や状況、ユーザの操作などに応じて、コンテンツが切り替わるようなページのことを(「静的なページ」に対して)「動的なページ」であると言います。本書のテーマであるサーバサイドJavaも「動的なページ」を作成するための代表的な技術です。


クライアントサイド技術とサーバサイド技術

   もっとも、サーバサイドJavaは「動的なページ」を作成するための「代表的な」技術の1つですが、「唯一の」技術というわけではありません。

   Webの世界では、「サーバ」と「クライアント」という2者が存在するということは先ほども説明しました。「動的なページ」を作成するための技術は、まずその技術がクライアントとサーバのいずれで動作するかによって大別することができます。

   クライアント側で動作する技術を総称して「クライアントサイド技術」、サーバ側で動作する技術を総称して「サーバサイド技術」と呼びます。


クライアントサイド技術

   クライアントサイド技術の古典的な代表格は、なんといってもクライアントサイドスクリプトでしょう。これはダイナミックHTMLなどと呼ばれる場合もあります。

   アイコンの上にマウスポインタを載せるとアイコンの色が変わる、ツリーメニューをクリックするとサブメニューが展開されるなどの効果を、皆さんもご覧になったことがあるでしょう。このような効果はクライアントサイドスクリプトを利用して実現しているものです。

   その他にも、近頃ではよりリッチなインターフェースを構築するために、Macromedia Flash(Flex)やCurl、VSTO(Visual Studio Tools for Office)のような技術も注目されつつあります。


サーバサイド技術

   本書のテーマであるサーバサイドJavaが属するのは、(その名の通り)サーバサイドにおける技術です。サーバサイドであらかじめ指定された処理を行い、その処理結果を(一般的には)純粋なHTMLとしてクライアントに送信します。

   サーバサイドJavaの他にも、Windows標準の.NET Framework環境で動作するASP.NETや関数主体の簡易な言語仕様で人気も高いPHP、そしてクラシカルなPerl(CGI)などが有名です。

   例えば、掲示板や検索エンジン、Blogなど、皆さんが日常よく利用しているWebアプリケーションは、ほとんどがサーバサイド技術をベースに構築されています。

1   2  次のページ

WINGSプロジェクト  山田 祥寛
著者プロフィール
有限会社WINGSプロジェクト   山田 祥寛
Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト(http://www.wings.msn.to/)」の代表。主な著書に「10日でおぼえる入門教室シリーズ(Jakarta・JSP/サーブレット・PHP・XML)」(以上、翔泳社)、「書き込み式 SQLのドリル」(ソシム)など。最近ではIT関連技術の取材、講演まで広くを手がける毎日。

INDEX
第1回:Are you ready for Server Java ?
サーバサイドJavaはWeb上で動作する技術
  クライアント/サーバサイド技術の違い