Launching into Java

New client-side technologies bring Java apps out of the Web and onto the desktop

1 2 Page 2
Page 2 of 2
  • The Safe Network Launcher does not rely on Java 2 Platform features. It has already been tested on Microsoft's JVM and even the Personal Java platform. Of course, it can only launch applications that were designed for the JVM being run. Still, service providers can design a single application that can be launched with Microsoft's JVM, Apple's MRJ, and on Personal Java.
  • The architecture is open and extensible. The JNLP file is a special case of a Java URL catalog that can be implemented without JNLP. For example, it may read the application's structure and requirements from a database or a source control system, or autogenerate it from an application's class files. Likewise, a custom loader can be created for getting a resource through a protocol more secure than our old friend and enemy, HTTP. You can also implement a cache for specialized storage that is not a filesystem, such as specialized flash memory or a local database.
  • Java URL specifies on-demand downloading. JNLP has been extended to allow an unlimited number of features per application, not just two. Your application can be as large as you need it to be. In fact, it can be an entire suite of subapplications that are downloaded as the user needs them. As noted, Java Web Start can only divide an application into an eager and a lazy feature.
  • The Safe Network Launcher has a custom implementation of the security sandbox that uses a very simple security scheme: Whenever an application tries something intrusive, such as reading from or writing to a file, opening a network socket, or printing, a dialog box will appear that explains the activity and asks the user to allow or forbid it. The decision can be stored in the cache for future attempts of the same kind by the application. For example, if the application tries to read a file, the user can let it read any files from that directory. The user can allow the application to print a certain job, and may deny a future, unexpected print job. Currently, Java URL disregards licensing completely. Within a safe intranet, the Safe Network Launcher can run in permissive mode, in which the sandbox is disabled.
  • Java URL is licensed under the GNU General Public License, like Linux, Emacs, and GCC. All source code is available, and modifications must be distributed under the same license. If users and programmers embrace it, Java URL will surely benefit from considerable enhancements, most likely in the number of protocols and technologies it supports.

The bottom line is: Java URL works, can launch JNLP, and is free. You can download the Safe Network Launcher and all its source code right now. You can tinker with it to fulfill your special requirements, such as launching over CORBA, loading from a relational database, or caching to a cellular phone's flash memory. You can also integrate it with your custom client environment and not pay any licensing fees.

Conclusion

There is little desire or need to design Web applications that are not on-screen report applications. You can develop your application in Java and enjoy all the benefits of Web applications: user trust, zero deployment, straightforward upgrading, and accessibility to many devices, from set-top boxes to cellular phones. With Java URL and Java Web Start, you can do all this right now. Will the transition be painful? Hardly. On your homepage, mention that a Java version of your application is available, and hail its benefits. Include a link to download either the Safe Network Launcher or Java Web Start. Instead of browsing to http://www.mycoolservice.com, users will launch http://java.mycoolservice.com -- and they will never want to use Web applications again.

Tal Liron is a student of anthropology and linguistics at Amherst College. He has (too much) experience in many software platforms and languages, and has designed in diverse environments, such as CAD, database, RAD, Web, embedded-system integration, device drivers, object-oriented infrastructures, and computer games. He has also served in the Israeli Defense Force (IDF).

Learn more about this topic

1 2 Page 2
Page 2 of 2