Java 言語で作成したプログラムであり, Web サーバからダウンロードして, Web ブラウザ上で実行するものはどれか。
平成24年度 秋期 ITパスポート試験 問73
この問題の解説と、これまでの解答の記録です。
問 73Java プログラムの分類は「どこで実行されるか」で整理する
不正解ア
Java アプリケーションは、利用者のコンピュータ上で単独のソフトウェアとして動作する Java プログラムです。あらかじめ PC などに導入しておき、Web ブラウザとは無関係に OS 上で起動して実行します。Web サーバからダウンロードして Web ブラウザ上で実行するという stem の条件に当てはまらないため誤りです。
- イ
正解 正解は イ。Java アプレット(Java applet)とは、Web ページに埋め込む形で配置され、利用者がそのページを開いたときに Web サーバからブラウザへダウンロードされ、クライアント側の Web ブラウザ上で実行される小さな Java プログラムです。stem が挙げる 3 つの条件、すなわち「Java 言語で作成したプログラム」「Web サーバからダウンロードする」「Web ブラウザ上で実行する」を、そのまま定義として満たすのがアプレットです。処理がブラウザ側(クライアント側)で動くため、サーバと通信し直さなくても画面上でアニメーションや入力チェックなどの動きを付けられる、という利点があります。実行はブラウザに組み込まれた Java の実行環境(Java 仮想マシン)の管理下で行われ、勝手にローカルのファイルを読み書きできないよう動作範囲が制限される仕組み(サンドボックス)になっている点も、外部からダウンロードして動かすプログラムならではの特徴です。したがって イ が正解です。なお、Java プログラムがどこで実行されるか、すなわちクライアント側かサーバ側かという観点は、アプレットとサーブレットを見分ける決め手になります。
不正解ウ
Java 仮想マシン(JVM)は、Java のソースプログラムをコンパイルして得られる中間コード(バイトコード)を解釈して実行する実行環境そのものであり、アプレットなどの Java プログラムを動かす土台に当たります。ハードウェアや OS の違いを吸収して同じバイトコードをどの環境でも動かせるようにする役割を担うものであって、Web サーバからダウンロードして動かす個々のプログラムではないため誤りです。
不正解エ
Java サーブレットは、Web サーバ側(アプリケーションサーバ側)に配置され、ブラウザからの要求を受けてサーバ上で実行される Java プログラムです。実行結果の HTML などがブラウザへ返されるだけで、プログラム自体がブラウザへダウンロードされて動くわけではありません。実行される場所がサーバ側である点で stem の条件と正反対であり、誤りです。
- Java プログラムの分類は「どこで実行されるか」で整理する。Java アプレット=サーバからダウンロードされブラウザ(クライアント側)で実行、Java サーブレット=サーバ側に常駐しサーバ上で実行、Java アプリケーション=利用者の PC 上でブラウザとは独立に単独実行。
- Java 仮想マシン(JVM)はプログラムの種類ではなく実行環境。Java はソースをバイトコードにコンパイルし、各環境の JVM がそれを実行することで、OS やハードウェアが違っても同じプログラムが動くという移植性の高さを実現している。