- PR -

JavaWebStart差分ダウンロード

1
投稿者投稿内容
ゆう
常連さん
会議室デビュー日: 2001/12/10
投稿数: 33
投稿日時: 2007-04-09 01:26
いつもお世話になります。

Swingを使用してクライアントアプリケーションを作成しています。
とある会社のGUIフレームワークを使用しているため
ファイル数が多いのと、Jarのままでは実行できません。

問題となっているのはアプリケーションの更新に関してです。
クライアントアプリケーションの更新にJavaWebStartを使用し、
落としてきたJarファイルを適当なフォルダに解凍するinstallerのクラスファイルもJarに含んでいます。

そこで以下の問題があります

・全てを一つのJarとするため、Jarのサイズが20M程度あります。
ネットワークの速度は速いので、ファイルの解凍に4,5分かかっています。
クライアント端末のスペックにもよるのですが、なんとか対策が必要です。
JavaWebStartに付属するものを使用し、差分ダウンロードを試みたのですが、
差分ダウンロードはするものの、結局クライアントでは旧バージョンのJarファイルに組み込むため、やはり20Mのファイル解凍に時間がかかってしまいます。

上記のような問題に対処するためどのように行っているかJavaWebStartでのアプリ作成の経験があるかたがいましたら教えてください。

■実現したいことは以下の2点です。
・差分ダウンロードとし、ネットワークの負荷を抑えたい
・解凍に時間がかからないよう、Jarを複数に分割したい
 →Jnlpファイルの設定でjarを分けられることは分かるのですが、
  A.jar、B.jar、C.jarのように分割してC.jarに関してのみ変更が発生したので
  C.jarをダウンロードすることはできるが、解凍してデプロイするinstallクラスは
  C.jarのみが変わっていることをどのように検知すれば良いのでしょうか?

[環境]
J2sdk:1.4.2_12
JavaWebStart:1.4(上記SDKに含まれるもの)
OS:WindowsXP

山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-04-09 01:39
jar を分割することによる差分ダウンロードはできているので、結局の所、「ファイルに変更があるかどうかをどうやって検出すればよいか?」という話でしょうか?

MANIFEST.MF にバージョンを記載しておく方法はいかがでしょう?

ハッシュ値を使う方法もありますね。
http://www.atmarkit.co.jp/fjava/javatips/117java021.html

パフォーマンスに問題があるようでしたら、こちらを使うとハッシュ値の算出早いです。
http://www.twmacinta.com/myjava/fast_md5.php

[ メッセージ編集済み 編集者: インギ 編集日時 2007-04-09 01:41 ]
1

スキルアップ/キャリアアップ(JOB@IT)