解説


サンの夢を語れるのか?「Java Web Start」


三輪佳子
2000/11/30

 米サンマイクロシステムズは、今年のJava One開催中の2000年6月6日、新しいJavaテクノロジー「Java Web Start」を開発中であることを発表した。そして、今年11月20日、Java Web Start 1.0 Release Candidate版をリリースした。 現在、JDCの会員に向けてhttp://java.sun.com/products/javawebstart/でダウンロード可能になっている。

 Java Web Startは、Webを利用してJavaアプリケーションをユーザーに配布する仕組みである。ユーザーはランチャーを使って、ダウンロードされたJavaアプリケーションを自由に利用できる。Java Web Startは、実は、サンマイクロシステムズがJava誕生前後に語っていた、アプリケーションのネット配信を実現するフレームワークといえる。

 本稿は、Java Web Startの概要とその将来性について、筆者が利用してみての感触も含めて解説しよう。

Java Web Startを利用するための準備とその機能

  Java Web Startを利用するためにクライアント(ユーザー)側で必要な準備は、Java Web StartをJavaの実行環境(JRE:Java Runtime Environment)とともにインストールしておくだけだ。

 サーバ側に必要な準備もごく簡単で、特別なサーバプログラムを導入する必要はない。Webサーバに新しいMIMEタイプとして、JNLPファイルを追加しておけばよい。サーバ側でアプリケーションを配布するのに最低限必要な作業は、Javaアプリケーションを作成してそれをJAR形式にすることとJNLPファイルを作成すること、ユーザーがこれらをダウンロードするための、

<a href="application.jnlp">Java 2 Application</a>

 といったHTML文書を用意することの3点だけである。JNLP APIの利用やJARファイルへの署名は、必要に応じて行えばよい。

 ユーザーが、このアプリケーションを実際に利用する際に必要な手順は、Webブラウザから前述のHTML文書にアクセスし、リンクをクリックするだけだ。すると、Java Web Startが自動的に起動し、JNLPファイルの記述に従ってJAR形式のアプリケーションをダウンロードし、実行する。

 いったんダウンロードしたJavaアプリケーションは、次回からはWebにアクセスせず、クライアントマシンでローカルに実行することができる。アプリケーションがバージョンアップされた場合は、Java Web Startが差分だけをダウンロードしてアップデートする機能もある。

ユーザーにとってのJava Web Startのメリット

  ユーザーにとってのJava Web Startのメリットは、当然ながら、アプリケーションのインストールやアップデートが非常に容易になることだ。Webブラウザでワンクリックすれば、インストール作業はJava Web Startが行ってくれるし、アップデートもJava Web Startに任せておけばよい。さらに今後、必要なJREをJava Web Startが自動的にチェックし、インストールするように発展すれば、エンドユーザーは環境設定の悩みからほとんど解放されるであろう。

 しかもアプリケーションの動作はプラットフォームに依存しない。現在のところ、WindowsとLinuxで動作が確認されている。アプリケーションをダウンロードしインストールする際にプラットフォームを気にせずに済むことのメリットは少なくない。エンドユーザーにかかわるシステム・アドミニストレータ的な立場の人々にとっても、プラットフォームに関する注意を喚起する手間が省けるメリットがあるだろう。

実際に利用してみると

 筆者は、Windows 2000 Serverをプラットフォームに、実際にJava Web Startを利用してみた。Java Web Startは、http://java.sun.com/products/javawebstart/からダウンロードできる。。JDCの会員IDとパスワードを入力してログインすると、ダウンロードから実際の利用までの手順が表示される(画面1)

画面1 Java Web Startのダウンロード画面。ダウンロードできるのはJDCの会員のみである。JDCにはだれもが無償で入会できるので、ぜひ会員に登録してダウンロードしてみてほしい

 最初のステップであるダウンロードに関する解説文の中の「continue」ボタンをクリックし、手順通りにダウンロードする。ファイルサイズは5.9MBと小さくはない。ダウンロードしたファイルをダブルクリックすると、インストーラが起動するので、あとは指示に従ってゆけばよい(画面2)

画面2 Java Web Startのインストーラ。ウィザードの指示に従っていくだけで簡単にインストールできる

 インストールが終了したら、デスクトップとスタートメニューに起動のためのコマンドが登録されるので、これをクリックしてJava Web Startを起動する。起動すると、ランチャー画面「Java Web Start Application Manager」が出現する(画面3)。なお、Java Web Startを起動するには JRE1.2.2 または JRE 1.3.0が必要なので、別途インストールしておく必要がある。

画面3 Java Web Start Application Manager。いちどダウンロードしたアプリケーションは[Applications:]に登録され、クライアントサイドでいつでも起動することができる

 デモ用のJavaアプリケーションは、http://java.sun.com/products/javawebstart/demos.htmlからダウンロードできる。現在、「Draw」、「Notepad test app」、「Military Game」、「SwingSet2 Demo」の4種類がある。ランチャー画面右上の「Group」メニューから「Remote Applications」を選ぶと、ダウンロード可能なアプリケーションが表示される。筆者はこのうち「Draw」を試用してみた(画面4)。これは名称の通りドローアプリケーションであり、簡単な図を作成するのには十分な機能を持っている。

画面4 Drawを試してみた。起動に時間がかかるが、いったん起動するとWindowsアプリケーションと同等の体感速度で利用できた

 ダウンロードと起動には少し時間が必要だ。アプリケーションがWeb上にあることをいや応なく意識せざるを得ない。しかし起動後は、通常のWindowsアプリケーションと同様に利用できる。

 いったんダウンロードしたアプリケーションは、2度目以後はそのマシン上から実行できる。先ほどのランチャー画面右上の「Group」メニューから「Cached Applications」を選択すれば、これまでにダウンロードしたアプリケーションがすべて表示されるので、目的のアプリケーションを実行できる。アプリケーションをWebからダウンロードする時間がカットされる分、当然ながら、起動に要する時間は少なくなる。

Java Web Startの将来は?

 現在公開されているJava Web Startが、例えば実際にASPなどで利用されるためには、ユーザー環境のチェック機能、アプリケーションの起動に要する時間など、クリアされるべき課題が多い。また現在、アプリケーション上では日本語が使用できるが、Java Web Start自体の使用言語は国際化されておらず、JNLPファイルでは日本語が使用できない。2001年初めに公開予定のバージョン1.1では国際化される予定とのことであるが、JNLP バージョン1.0との互換性も完全ではないようだ。

 そもそも、Java Web Startはクライアントマシンで動作するJavaアプリケーションを利用することを前提としているが、いまやクライアントサイドでJavaを使うことにマーケットは否定的だ。Javaのパフォーマンスの悪さが問題視され、Javaアプレットはほとんど使われなくなったし、ビジネスロジックをサーバサイドに置き、ユーザーインターフェイスにはHTMLを利用するサーバサイドJava(ServletやJSP)全盛の時代が到来している。ユーザーに対するサポートやクライアント環境へのメンテナンスが減少する点では、サーバサイドにロジックを置くWebアプリケーションも同様かそれ以上の効果をもたらす。クライアントにはWebブラウザを置き、ロジックはすべてサーバサイドに置くという流れは、だれもが正解と感じているほどの大きな流れだ。その中で、Java Web Startはどのような意味を持つのか?

 一太郎Ark for Javaなどの優秀なJavaアプリケーションも存在するが、まだ実用的ではない。パフォーマンスではネイティブなアプリケーションには勝てないし、なにしろクライアントサイドのJavaアプリケーションを書けるエンジニアが非常に少ない。このようにマーケットが見いだせない中で、1つだけ期待が持てる分野がある。それはモバイルだ。いま携帯電話やPDAが進化し、モバイルコンピューティングの大きな流れをつくりつつある。モバイル機器の場合、ネットに接続されていないオフラインの状態が必ず存在するため、アプリケーションやアプレットといった形態でJavaが利用される可能性が大きいのだ。また、将来の情報家電に接続されるホームサーバ上のアプリケーションなど、リモートでアップデートの必要があるプラットフォームで活用できる可能性もあるだろう。

 サンが夢を描いたJavaアプリケーションのネット配信を実現するJava Web Start。皮肉にも、Javaがクライアントサイドでは地位を築けずにサーバサイドで花を開き始めた今、やっとかたちを見せたわけだ。ただ、1年先の動向さえだれにも読めないインターネット業界にあって、このJavaテクノロジーがどのように活路を見いだすかは分からない。



Java Agile フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Java Agile 記事ランキング

本日 月間