解説
サンの夢を語れるのか?「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テクノロジーがどのように活路を見いだすかは分からない。
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|