プログラミング言語マスターへの道


Java(4)

現在、ウェブのサーバ側において、Java技術 (Java EE) は広く使われています。多くのウェブサイトが、Javaサーブレット (Java Servlet) や JSP(JavaServer Pages)などの Java EE 技術を使って動的にページを生成するウェブを構築しています。
Javaサーブレットは2000年前後から急速に広く使われるようになり、現在では多くのウェブアプリケーション(動的なウェブページ)がサーブレットとして稼動するようになっています。
現在では、リッチクライアントやWeb 2.0の登場により新たな変化が生まれようとしています。すなわちウェブを基盤としたウェブアプリケーションとスタンドアロンアプリケーションの融合です。ウェブアプリケーションをAjaxや Java Web Start、Adobe Flash などと組み合わせることにより、Web2.0時代に見合ったより洗練されたアプリケーションを開発することができるのです。

Javaサーブレット技術
Java の実行環境のプロセス(サーブレットコンテナ)を起動してウェブサーバのマシンに常駐させる。
ウェブサーバが、ウェブブラウザからアクセスされる(リクエストを受ける)。
ウェブサーバは、そのリクエストをサーブレットコンテナに渡す。
サーブレットコンテナで動くJavaプログラム(Javaサーブレット)は、受け取ったリクエストに基づき、ウェブページを動的に生成する。
サーブレットコンテナは、サーブレットが生成したウェブページをウェブサーバに渡す。
ウェブサーバは、サーブレットコンテナから受け取ったウェブページを、ウェブブラウザに返す。

開発当時の問題

サンがJavaサーブレット技術を開発した1990年代末当時、ウェブアプリケーションの開発には、下記のようないくつかの問題がありました。

デスクトップにおけるJavaの展開(1)

デスクトップ環境においては、スタンドアロンのJava (Java SE) のアプリケーションソフトウェア(Javaアプリケーション)は、これまではあまり多く使われていませんでしたが、最近はいくつかのソフトウェアが広く使われるようになってきました。最近になって使われるようになってきた理由としては、次のことが挙げられます。

広く使われているJavaのソフトウェアとしては、NetBeansおよびEclipse SDKの統合開発環境や、LimeWireやAzureusのようなファイル共有クライアントのソフトウェアなどがあります。
また、数学ソフトウェアMATLABにおいても、ユーザインタフェースのレンダリングと計算機能の一部を実現するために使われています。
多くの Java のSwingやSWTのウィジェット・ツールキットを使ったアプリケーションが、現在も開発されています。

デスクトップにおけるJavaの展開(2)

現在はデスクトップ上でJavaアプリケーションを使う事例が増えつつあるものの、従来はあまり使われていませんでした。それは下記の理由からです。

Javaの賛否

一部のソフトウェア開発者は、情報技術はウェブを基盤としたモデルが主流となっていて、スタンドアロンアプリケーションは流行遅れで、新しいプログラミング技術は優れたウェブアプリケーションを開発することにあてられていると思いました。
この見解については、ソフトウェア技術者の間で賛否が分かれているようです。