Java_Web_Start
[Wikipedia|▼Menu]

Java Web Start(ジャバウェブスタート)はJavaアプリケーションウェブサーバなどから自動ダウンロード、自動インストール、自動アップデートして、サンドボックス上にて実行可能な仕組み。Java 5[1]?10に搭載され、Java 9[2]にて廃止予定(deprecated)となり、Java 11で廃止された[3]
概要

Swing APIなどで記述されたGUIアプリケーションを実行できる。問題点が多いためにFlashよりも劣ると言われるJavaアプレットの代替リッチクライアントと言われている。

たとえば、ウェブブラウザでJava Web Startに対応したJavaアプリケーションへのリンクをクリックすると、Javaアプレットのようなブラウザ埋め込み型ではなくメディアプレーヤーなどの外部アプリケーションのようにJava Web Startが起動する。Java Web Startがインストールされていないときは、Java Web Startソフトウェア(Java Web Startの管理・実行ソフトウェア)が自動ダウンロード、自動インストールされる。JREがインストールされていないときは、それも自動的にインストールされる。さらに、JRE、Java Web Startそれぞれのバージョンが古いときは自動的にアップデートされる。また、Java Web Start対応Javaアプリケーションが古く、最新バージョンがサーバにアップロードされている場合は、実行前の事前確認により自動的にアップデートされる。

なお、Java Web Start対応Javaアプリケーションはローカルマシンに保存される。よって、二回目以降の起動は、ダウンロードなどが不要となり高速に起動できる。

現在のJava Web Start はOSとの協調動作も行なわれる。たとえば、Windowsにおいて「プログラムの追加と削除」を利用したJava Web Startアプリケーションのアンインストールが可能である。また、プログラムメニューやデスクトップへのショートカットアイコンの作成なども行なわれる。
実装

開発者はJNLP拡張子をつけた特別なXMLファイルを作る(JNLPファイル)。このファイルはアプリケーションの要求事項、コードの場所、パラメータ、および(もしあれば)追加的な権限を指定したものだ。ブラウザはこのファイルを他のファイルと同様にダウンロードし、(そのMIMEタイプとして指定されたapplication/x-java-jnlp-fileに従って)それをWeb Startツールで開く。Web Startツールは、必要なすべてのリソースをダウンロードし、アプリケーションを起動する。

Java Web Startは ⇒javax.jnlpパッケージ内の一連のクラス群を提供している。これらがアプリケーションに対して様々なサービスを提供する。これらのサービスのほとんどをSun社が設計した。その目的は、アプリケーションの動作を許可された操作の範囲内に制限しつつ、注意深く制御された範囲内のリソース(たとえばファイルや、システムクリップボードなど)にはアクセスを許可することにある。

サン・マイクロシステムズは2001年3月にWeb Startのバージョン1.0を導入した[4]。一方、64ビット版Windowsへのサポートは、(64ビット版Javaが最初に使えるようになった時よりも後になって)Java 6のみで追加された[5]J2SE 1.4 以降、Web StartはJava実行環境(Java Runtime Environment、JRE)にjavawsという名前でデフォルトで入ってくるようになったので、コンピュータ管理者は、Web Startを別途インストールする必要はもはやなくなった。
Java Network Launching Protocol (JNLP)

プログラマーたちは Java Network Launching Protocol (JNLP)の同義語として"Web Start"という用語を使うことが多い。 JNLPプロトコルは、Java Web Startアプリケーションをどのように起動するかを指定するためのものであり、XMLスキーマで定義されている。JNLPは起動メカニズムをどのように正確に実装するかを定義する規約の集まりで構成されている。JNLPファイルはJARファイルの場所、アプリケーションのメインクラス名、その他のパラメータなどの情報を含んでいる。適切に設定されたブラウザはJNLPファイルをJREに渡し、するとJREがそのアプリケーションをユーザーのマシン上にダウンロードし、その実行を開始する。JNLP規約の開発は Java Community ProcessのJSR 56で行われた。最初の1.0版リリース以降、何度か保守リリースが行われている。

Web Startの重要な機能として、ユーザがJavaをインストールしていない場合には自動的にJREをダウンロードしてインストールする機能、またプログラムを実行させるべきJREのバージョンをプログラマーが指定できる機能などがある。ダウンロードしたプログラムは、ローカルに保持したキャッシュから実行されるため、ユーザーは、そのプログラムを実行するためにインターネットに接続し続ける必要はない。ソフトウェアのアップデートはウェブからダウンロードされ、ユーザーがインターネットに接続している時に利用可能になるので、デプロイの負担を軽減できる。

いかなるコンピュータでも単純にJNLPクライアント(最も一般的にはJava Web Start)をインストールすることによりJNLPを使うことができる。このインストールも自動的に行わせることができるので、エンドユーザがJavaアプリケーションを最初に実行した時、クライアントのランチャーがダウンロードしてインストールするのをユーザーはみていればよい。

JNLPは HTTP/HTMLがウェブのために働くのと似た働きをする。HTTP/HTMLの仕組みでは、ユーザーがウェブのリンクをクリックすると、ウェブブラウザはURLをウェブサーバに送り、ウェブサーバがHTMLファイルを返してきて、ブラウザがHTMLで書かれたウェブページを表示する。次にブラウザはこのファイルが参照しているリソース(画像、CSSなど)を要求し、十分な情報を受け取ったら最終的にページを表示する。全てのリソースのダウンロードが終わる前にページの表示が始まる場合も多い。ページのレイアウトに不可欠ではない(画像のような)いくつかのリソースは、後で追加してもよい。

JNLPは、ウェブブラウザがウェブページを表示する上記の方式を模倣している。つまり、JNLPクライアントがJavaアプリを「表示」する。ユーザがウェブのリンクをクリックすると、ブラウザはURLをウェブサーバーに送り、ウェブサーバーは指定されたアプリの(HTMLファイルではなく)JNLPファイルを返す。JNLPクライアントはこのファイルを解釈し、指定されたリソース(jarファイル群)を要求し、必要な全てのリソースを取得できるまで待ってから、アプリを起動する。JNLPファイルはいくつかのリソースを「lazy」(遅延)指定する事ができる。これは、アプリ起動のためにそれらのリソースは必要ではないので、後でアプリがそれらを要求した時に取得すればいいことをJNLPクライアントに対して示す指定である。
JNLPファイルの例


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:19 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef