For thousands of companies, Java lowers the cost of software deployment and creates unprecedented flexibility in managing applications. In spite of this, I sometimes run into developers who sneer at applets. "I don't care about mere applets in Java," they tell me. "I'm writing real applications." Real applications, they argue:
Unfortunately, this desktop-centric paradigm has several limitations:
- Don't run within a browser, cluttered as it is with interface elements like menus, back/forward buttons, etc.
- Are not limited by the Java "sandbox"
- Are installed once and then run many times after installation
- Are launched from the desktop
In fact, Java gives developers the best of both worlds, allowing applications to have the functionality of desktop applications while maintaining the flexibility and managability allowed by Intranets.
- Applications must be installed by either the end-user (difficult to control and maintain consistency) or by the centralized IS department (very expensive).
- Applications must be updated all at once, even if the change is very small.
- Even if the application itself is written in an environment like Java, an installer must be written for every platform on which the application will be deployed.
To see how, I will address each of the objections outlined above one by one.
window.open("myapp.html", "MyApp", "width=640,height=480");
I need to work outside of the "sandbox." The Java "sandbox" isolates the executing program from the underlying operating system. Although this isn't a problem for many applications, it limits applications that need to interact with a special server or access the desktop hard drive.
To address this, Netscape Navigator 4.0 employs acapabilities-based security model for Java. Using this model, developers package programs in JAR files and sign them with their digital certificate. Once a JAR file is signed, it can ask for specific capabilities, such as "allow me to read and write to the TEMP directory." The end-user or security administrator then decides whether the signer is trustworthy enough to allow the program these capabilities.
My application is quite large and my end-users can't download it every time they want to use it. Navigator 4.0 allows a signed Java object to permanently install itself on the desktop computer using SmartUpdate. SmartUpdate can include your application's code, other code (including binaries) as well as make minor updates.
First, many users - about 63 million at last count - have Navigator installed on their machines. Chances are that your target audience will already be comfortable in the Navigator environment and will be accustomed to using the corporate Intranet or the Internet to locate information and applications.
Java applications deployed through Netscape Navigator 4.0 offer the power and flexibility of traditional desktop applications in a multi-platform, net-centric environment. They are more than the best of both worlds - they are the future of computing.
About the Author
Steve Thomas is the platform product manager at Netscape Comunications Corporation. He can be reached at [email protected]. For more information, see developer.Netscape.com.