Application Publishing

In order for users to be able to access the functionality of NetPhantom applications, they must be made publically available. Already today there are a number of ways that this can be done: Java Application, Java Applet and NetPhantom Starter. The NetPhantom Starter alternative can be run both with and without SSL protected communication. In addition to the already existing means, a new way to publish the applications has been added: Java Web Start.

To organize and streamline the handling of this aspect of the NetPhantom application development lifecycle, a new function has been developed - Application Publishing. This function centralizes all forms of publication of the runtime applications to one place. This makes the handling of applications availability much easier and more consistent.

Publication is in fact also a way to structure application functionality. A publication definition can contain a number of runtime applications The combined set of functions and panels are then available through the defined application publication (in the defined forms). A similar thing can be achieved by merging runtime applications. The fundamental difference here is that the runtime application structure is defined dynamically at run-time when using the publishing alternative. This as opposed to the merge application alternative, where the hierarchy is established at build time. Please note that the two ways of establishing application hierarchy are not mutually exclusive. Merged applications can be published together with other runtime applications.      

Furthermore, the handling of the security aspect of client application access is incorporated in the new concept.

Configuring Application Publishing

Select the menu item Application - Publish applications... (or Server - Publish applications... in the NetPhantom Editor) and the following dialog box is displayed:

In this dialog, new publication definitions can be created and existing definitions can be changed. This is also the place where the actual publication, corresponding to the definitions takes place.

The list contains the definition identification. This is an arbitrary name used as a handle. The list also contains a short extract of which form(s) of publication the corresponding definition holds and a title as a brief description. If the definition has in fact been used for publication, the time for this is recorded.

If the Require Clients to use published applications only box is checked all access direct access to unpublished applications is blocked. This means that the way that any user accesses the runtime applications is controlled by the in the publication definitions. This provides means for security management in a centralized way.  

The first tab holds the parameters that are common for all publication forms. We recognize the definition identification, the short description and the selected publication forms from the overview list above.

In addition to this, the list of Runtime applications this definition holds is specified. These are selected from the set of applications already present on the server. In the case when multiple runtime applications are specified the search order should be decided. Selecting Start search from 1st application means that the order the applications are listed should be used when searching for matching screens. If not checked, the current runtime application is checked first.

A number of runtime application parameters can be specified at this point; the host ID to use when executing has to be decided, the start class and other parameters are optional.

Lastly, the general Java parameters can be specified. The memory allocation of for the Java Virtual Machine consists of two values. The initial size of the Java memory allocation pool (the heap) is the first one and the maximal size is the second.

The required java version definition has a specific syntax:

The version attribute can not only specify an exact version but can also specify a list of versions, called a version string. A version string is an ordered list of version-ranges separated by spaces. A version range is either a version-id, a version-id followed by a star (*), a version-id followed by a plus sign (+) , or two version-ranges combined using an ampersand (&). The star means prefix match, the plus sign means this version or greater, and the ampersand means applying logical AND of the two version-ranges. For example:

     1.5.0_04 1.5*&1.5.1_02+

The meaning of the above is: the java version that either has the version-id 1.5.0_04, or has a version-id with 1.5 as a prefix and that is not less than 1.5.1_02.

For the applet publication, the html page container page is named. This name needs to have a ".html" or ".htm" file extension. The applet is published under this name in the document root of the server so that it can be accessed in a browser under the address: http://serverNameOrIP/subdirectory/pageName.html. Please note that a subdirectory path can be used for improved structure.

The coloring and size of the applet is decided as well as the applet identification. This could be used if the containing web page makes use of JavaScripts. The applet can then be used in the code by referencing the specified name.

The starter package file name must have a ".pkg" file extension. This name will be used as the name available in the application selection function when using the NetPhantom Starter.

Furthermore can Java Virtual Machine options be specified for this type of publication. This in addition to the memory requirements specified under the General tab. There is a vast number of parameters that can be specified here. They control the behavior, performance and debugging of the Virtual Machine. These options can change between versions so please refer to http://java.sun.com/ for detailed descriptions.    

For the Java Web Start alternative, the corresponding JNLP file should be named. It must have a ".jnlp" file extension. The acronym stands for Java Network Launching Protocol and the file is in fact an XML file containing the necessary data to launch the application. More about the technology and examples can be found here.

The web start application is published under this name in the root of the server so that it can be accessed in a browser under the address: http[s]://serverNameOrIP/jnlpFileName.jnlp.

Among the data needed to launch the application, the codebase must be specified. This is where the place to look for the resources needed to run the application. The default value is the document base on the server. This value can of course be changed or added to and HTML variables can be used.

Images that are to be used for presentation of the application are specified explicitly. This icon image is used as the icon in the start menu and for the desktop shortcut when these start alternatives are configured (as described in the next screen description). The splash screen image is displayed on the screen when the application is started. This value can be left blank and that indicates that no image is displayed.     

Descriptions in different forms and a reference to a relevant web home page can be specified. All this is stored in the JNLP file and available to the user when running the application in this form.

In addition to what was described above, start options can be defined for the Java Web Start version of the application; start menu name and whether a desktop icon should be created.

As for the applet version, additional Java VM options can be supplied to specify how the Java Virtual Machine should run.

System properties can optionally be set. These are then programmatically available in the executing Virtual Machine (i.e. the running code can extract and make use of these values). The system property values can also be defined using HTML variables.