This is a request from Java SE Advanced team. We're implementing a tool that will allow Java administrators collect statistics about Java applications (with Java Usage Tracker) and create deployment ruleset based on the collected data.
One of the tool requirements is to provide a dry-run mode functionality. That is, for any deployment ruleset and any application (applet, Web Start app) check if the application is blocked or allowed by the ruleset.
Exact algorithm that is used by deployment code to process DRS files is very likely far from trivial. JNLP applications can have multiple jars, multiple extensions, signed with different certificates. It makes this dry-run feature difficult to implement without support from the Deployment team.
I see two different approaches to implement the dry-run functionality:
1. Launch real applet or Web Start application, but use a different DRS. By default, DRS is loaded from a well-known location (e.g. %WINDIR%\Sun\Java\Deployment\), so API to load it from another place is required.
2. Don't launch anything, but simulate DRS processing. So the API will be to accept an application URL and a DRS, and the output will be "run" (and Java version used to run) or "block".
The latter approach is preferable from the performance point of view.