Tutorials : Java Web Start :

A Few of the services are discussed below.

BasicService
This is a mandatory service and does operations similar to the AppletContext from the Applet class. The getCodeBase method provides access to the codebase of the application. The isOffline method which can be used to determine if the application is running offline or online. Finally the isWebBrowserSupported method can help in finding the browsers supported by the JNLP client. The class is javax.jnlp.BasicService

DownloadService
This is a mandatory service that needs to be provided. It allows the application to control the resources being downloaded and cached on the client. It can check for already existing resources, load new resources, force caching of resources and remove resources from the client machine. Only resources available for the application can be downloaded. They need to be specified in the JNLP file. The class is javax.jnlp.DownloadService.

FileOpenService
This service provides the flexibility to access the files on the client machine even if they are in a untrusted environment. The openFileDialog or openMultiFileDialog can be used to access the file required. The contents of the file are returned in a FileContents object which provides access to the contents of the file. This service cannot be used to find the directory structure of the client machine. The JNLP client needs to show the security dialog box to warn the user of the operation. The class is javax.jnlp.FileOpenService.

FileSaveService
This service provides a mechanism for storing files on the client machine, even if they are in a untrusted environment. The file save dialog box is displayed by invoking the saveFileDialog or saveAsFileDialog methods. This method returns a FileContents object representing the file that was saved. The class is javax.jnlp.FileSaveService.

ClipboardService
This service provides an interface to access the contents of the Clipboard even when running in a untrusted environment. It consists of two methods, setContents and getContents, that help set or retrieve the contents of the clipboard. The service has to warn the user of the potential dangers of letting a untrusted application access clipboard data. The class is javax.jnlp.ClipboardService.

PrintService
This service provides access to printing from an untrusted application. The application submits a request to the JNLP client for a print job which is in turn passed to the client machine for permission. If accepted the print job is executed. The class is javax.jnlp.PrintService.

PersistanceService
This service provides a mechanism to store data on the client side even in a untrusted environment. The service is similar to the service provided by the cookies in HTML. Unlike cookies there is no maximum limit on the data that can be stored on the client. The maximum limit is decided by the JNLP client implementing this service. The class is javax.jnlp.PersistanceService.

ExtensionInstallerService
This is a mandatory service that provides methods to provide an extension installer to manipulate the progress bar shown during installation. It provides methods like updateProgress and hideProgressBar to update the progress bar during installation. It also provides information on native libraries. The class is javax.jnlp.ExtensionInstallerService.

Conclusion:

Java Web Start is Java's new trick to recapture the client market. The initiative looks promising given the growing demand for scalable and portable applications in the Intranet domain. Though it's a good beginning, JNLP has a long way to go in proving itself as a viable technology. With languages like Delphi, VB and VC++ already ruling the client server market, Java Web Start has to do more than provide a web centric application model. Added to this, java does not command a good position in the User Interface(UI) arena when compared to languages like VC and VB. Swing, AWT and imaging have to be drastically revamped for java to enter the UI sector.   

 

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.