JavaOneレポートが間に入ってしまったため間延びしてしまいましたが,今月から再びJava SE 6u10の新機能について解説していきます。
Java SE 6u10で提供されている次世代Java Plug-inは様々な機能を持ちますが,その中でもJNLPのサポートは特筆に値します。
JNLPを使用することで,アプレットとJava Web Startを同列に扱うことが可能になりました。また,次世代Java Plug-inの実験的に取り入れられたドラッガブルアプレットもJNLPのサポートがなければ成り立ちません。
本連載ではJava SE 6u10の新機能 その9からJNLPについて紹介してきました。
その9ではJNLPファイル,その10から13までJNLP APIを取りあげました。今週は,JNLP APIの続きで,HTTPにおけるCookieのような役割を持つPersistenceServiceについて紹介していきます。
PersistenceService
PersistenceServiceを使用することで,アプレットはローカルにデータを保存することが可能になります。
データを保存する記憶領域は,URLと対応しています。個々のアプレットは自身のコードベースに対応したURLの記憶領域にのみアクセスすることができます。ただし,コードベースと同じドメインのURLであれば,アクセス可能です。
たとえば,アプレットのコードベースが
http://www.javainthebox.net/apps/samples/jnlp/
である場合,以下のURLに対応した記憶領域にアクセスすることが可能です。
- http://www.javainthebox.net/apps/samples/jnlp/
- http://www.javainthebox.net/apps/samples/
- http://www.javainthebox.net/apps/
- http://www.javainthebox.net/
したがって,同じドメインをコードベースにもつアプレット同士は,同じ記憶領域(上記の場合,http://www.javainthebox.net/)にアクセスすることができます。つまり,PersistenceServiceを使用することで,アプレット同士がデータの共有も可能なのです。