Java Web Start
このインストールも自動的に行わせることができるので、エンドユーザがJavaアプリケーションを最初に実行した時、クライアントのランチャーがダウンロードしてインストールするのをユーザーはみていればよい。
JNLPは HTTP/HTMLがウェブのために働くのと似た働きをする。HTTP/HTMLの仕組みでは、ユーザーがウェブのリンクをクリックすると、ウェブブラウザはURLをウェブサーバに送り、ウェブサーバがHTMLファイルを返してきて、ブラウザがHTMLで書かれたウェブページを表示する。次にブラウザはこのファイルが参照しているリソース(画像、CSSなど)を要求し、十分な情報を受け取ったら最終的にページを表示する。全てのリソースのダウンロードが終わる前にページの表示が始まる場合も多い。ページのレイアウトに不可欠ではない(画像のような)いくつかのリソースは、後で追加してもよい。
JNLPは、ウェブブラウザがウェブページを表示する上記の方式を模倣している。つまり、JNLPクライアントがJavaアプリを「表示」する。ユーザがウェブのリンクをクリックすると、ブラウザはURLをウェブサーバーに送り、ウェブサーバーは指定されたアプリの(HTMLファイルではなく)JNLPファイルを返す。JNLPクライアントはこのファイルを解釈し、指定されたリソース(jarファイル群)を要求し、必要な全てのリソースを取得できるまで待ってから、アプリを起動する。JNLPファイルはいくつかのリソースを「lazy」(遅延)指定する事ができる。これは、アプリ起動のためにそれらのリソースは必要ではないので、後でアプリがそれらを要求した時に取得すればいいことをJNLPクライアントに対して示す指定である。