Getdownその2、要するにこういうこと
※Getdownについては/tag/getdownに投稿一覧がある。
Javaにはウェブからアプリケーションを配布するためのJava Web Start(JWS)の代替のGetdownは要するにどういう処理をしてくれるのかを簡単に記述する。Getdownはhttps://github.com/threerings/getdownにあるオープンソースのプロジェクトである。
仕組みの概要
仕組みとしては非常に単純だ。サーバ内の特定のURLパスにあるファイル(主にはjarファイル)を、ローカルマシンにコピーし、指定されたメインクラスを実行するだけである。
サーバ側
ある特定のパスにファイルを用意する。ここには、少なくともダウンロードすべきファイルの記述されたgetdown.txt、それらのチェックサム(メッセージダイジェスト)の記述されたdigest.txtと、他のjarファイルなどである。例えば、http://something.com/myappなどというパス下においておく。つまり、
- http://something.com/myapp/getdown.txt
- http://something.com/myapp/digest.txt
- http://something.com/myapp/….
などとなる。いずれかのjarファイルに実行時のメインとなるクラスが含まれるが、それはgetdown.txtに記述される。
クライアント側
少なくとも以下を用意する。
- ダウンロードするアプリを格納するためのフォルダ。仮にmylocalとする。
- mylocalの中に「appbase=http://something.com/myapp」とだけ記述されたgetdown.txt。
- getdown-..jarファイル
実行
このようにしておいて、getdown-..jarファイルを起動する。
java -jar getdown-*.*.jar mylocal
すると、getdownはmylocal/getdown.txtからアプリダウンロード元を読み取り、アプリ全体をダウンロードしてmylocalに格納する。その後で指定されたメインクラスを実行する。
次回起動されたときには、mylocalには既にアプリ全体が入っているのだが、サーバ側が更新されていれば、更新部分だけを再度ダウンロードする。
このようにして、常にローカル側のアプリファイルが最新の状態に維持される。
簡単な図で表すと以下のようなものだ。
実際の使用感はGetdownその3、Getdownの実際に記述した。
ディスカッション
コメント一覧
まだ、コメントがありません