JNLP is a particularly useful and rich protocol. This tutorial showed only 20% of its features. The main features pf JNLP were discussed in the first article, and are summarized here:
It is a full bonus for developers because a lot of deployment work is fully automated by the protocol.
A powerful runtime API that leverages the underlying JNLP Client. A wise software architecture causes no compatibility problems between applications that rely on this API and others that don't.
A secure deployment solution, in which users can trust a reliable JNLP Client because it will not allow any harmful behavior by JNLP-deployed Java applications.
Versioning and incremental updates. Each resource JAR file can be tagged with a version id and managed accordingly. This provides seamless updating and many other extremely useful features.
Multiple JREs management and automatic installation of additional JREs and optional packages.
Offline execution of Java applications is possible. Also, media other than the Web can be used (JNLP supports access to local files, so CD-ROMS can be used as well).
The automatic installation of native code and native libraries.
The management services provided by the JNLP Client.
The capability of using platform-dependent facilities such as shortcuts, accelerators, and the like. Deployed applications are integrated on the native OS, providing shortcuts, launching scripts, or other platform-dependent mechanisms
The protocol is growing, so more features are expected in the future.