解説
サンの夢を語れるのか?「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テクノロジーがどのように活路を見いだすかは分からない。
ホワイトペーパー(TechTargetジャパン)
- Android NDKでJNIを使用してアプリを高速化するには (2010/3/17)
C/C++やOpenGL ESといったネイティブコードを使うためのNDKとJNIを紹介し、その使い方や注意点を徹底解説します - 調査の難しい「OutOfMemoryError」事例、5選 (2010/3/11)
Java開発者が避けて通れないメモリ不足エラーの基本的な問題切り分け方法と発生につながる事例、対処法を解説 - 究極の問題解析ツール、逆コンパイラJD-Eclipseとは (2010/3/8)
ライブラリ内で例外が発生! そのクラスのソースコードを調べたい!! 自動で逆コンパイルしてくれる無料Eclipseプラグインがあります - いまさら聞けない「Webサービス」の常識 (2010/2/26)
昨今では企業システムでも使われる「Webサービス」の概念やJava標準のJAX-WSを紹介しJBoss WSでサンプルを作成
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |










