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を使用することで,アプレット同士がデータの共有も可能なのです。