When JSASNetCopy HTML is chosen, the generated HTML is altered (from Java Plug-in HTML) as follows:
CODE, CODEBASE and ARCHIVE
attributes are created or replaced with the values necessary to launch the JSASNetCopy
applet. <param>
tag is added, named Applet:CODE, Applet:CODEBASE or Applet:ARCHIVE, respectively, which contains the original value. There are no special requirements for packaging applets for use with JSASNetCopy. However, it should be understood that only the applet classes themselves should be packaged with the applet jar. Any required SAS Java extension class libraries will be downloaded and installed onto the client machine by the JSASNetCopy process and therefore SAS classes should not be included in the applet jar.
Configuration files list libraries that should be installed on the client machine before JSASNetCopy launches the desired applet. By default, the configuration file is named "JSASNetCopyConfig.txt". (Previous versions of JSASNetCopy used "JSASNetCopy.config" as the configuration file name, so you may see such a file on some servers. If you don't override the default configuration name, JSASNetCopy will first look for JSASNetCopyConfig.txt and if it isn't available, will look for JSASNetCopy.configuration.)
JSASNetCopy looks for a "master" configuration file in the same directory as JSASNetCopyApplet.jar. This master configuration is delivered with JSASNetCopy and lists various jars which applets developeAppDev StudiovStudio are likely to need. While generally not needed, JSASNetCopy also looks for an optional "applet" configuration file in the same directory as the applet HTML. The data in this applet configuration supercedes the data in the master configuration. To use configuration files with non-default names, add param tags named "JSASNetCopy:CONFIG.MASTER" or "JSASNetCopy:CONFIG.APPLET".
Config files are formatted in sections. Each section lists a target jar file, a [relative] URL for downloading the jar, some identifying information about the jar and optionally, some information about compatible versions of Java. The optional applet configuration can supplement the master configuration file by listing additional libraries, providing updated information about a particular library or even indicating that a library is not needed at all.
JSASNetCopy HTML runs the JSASNetCopy applet. The JSASNetCopy applet jar is small -- only a few kilobytes. It is not installed on the client machine, though it may be cached by the web browser or the Java Plug-in itself.
The JSASNetCopy applet is not signed, but the main code (in JSASNetCopy.jar) is. The JSASNetCopy applet calls code in JSASNetCopy.jar to do all of the real work. The signed JSASNetCopy.jar installs itself into the Java Extensions directory on the client machine. Since JSASNetCopy.jar is either run as signed code or loaded directly from the extensions directory (a trusted location), it is not restricted to the normal applet "sandbox" and is therefore able to access the client machine and install jars. (For more information on Java security, see Security.)
JSASNetCopy first loads the master configuration file, in the process discarding sections which are incompatible with the current version of Java. It then looks for the applet configuration file. If an applet configuration file is found, its contents are merged with the master configuration, replacing sections with the same target names. Then, sections in the merged list which don't define a source URL (or have an empty URL value) are discarded.
JSASNetCopy then tries to determine if anything in the list should be downloaded. If any libraries need to be downloaded, JSASNetCopy displays a dialog box to the user for download confirmation. If the user approves the downloads, each target is downloaded and installed on the client machine. If any of the downloaded jars are signed, JSASNetCopy will display a dialog to the user, asking whether to trust the signatures used. The user may choose to always trust certain signatures.
On the client machine, JSASNetCopy saves all of its information (including downloaded libraries) under a sub-directory of the user's home directory (named ".JSASNetCopy"). JSASNetCopy is able to save multiple versions of the same jar on the client, so that repeatedly running applets which require different versions of the same jars won't cause repeated downloading or copying of those jars.
Regardless of whether any files were downloaded, or if the user denied such downloads, JSASNetCopy then tries to launch the desired applet. Just like applets that are executed without JSASNetCopy, each applet run by JSASNetCopy runs in its own applet sandbox.
None.
See the JSASNetCopy Administration document for details on configurationuring JSASNetCopy.