Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Automatic software distribution of Java applications

How is Java going to help in software distribution? How is it going to relieve the IS manager from the burden of shared drives and fixed media?

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Software distribution, especially in the corporate environment, is an issue that has vexed IS managers since the advent of the PC. IS managers worry constantly about working in multiple operating system environments, detecting and eradicating viruses, and distributing fixes and updates. The Java language solves two of these problems -- operating system independence and virus control. However, this still leaves the problem of distribution.

When IS managers need to distribute software, they want it to be easy, convenient, and not affect the productivity of their users. In addition, it should be easy to distribute both new versions of software and software updates.

Currently, there are a number of distribution techniques. Two common techniques include fixed-media (CD-ROM, diskette, tape) and shared-access distribution. Everyone knows how fixed-media distribution works. Shared-access distribution means files and applications are stored in a location that gives access to a group of users. Both of these methods have inherent problems.

In the case of fixed media, either the media has to be handed to each user, or IS personnel have to go to each machine and install the software. Not only is this time-consuming and disruptive to the users and IS people, but very often the location of the distribution media itself is not known. Furthermore, the medium itself can be costly.

Software installed on network drives or file servers still has all the problems that normal software has. Updates and fixes usually mean a complete reinstallation of the software to the network drive. Very often each user then has to reinstall pieces of this "shared" software to his or her local machine.

However, there is hope in sight. With the advent of Java, many of the problems so far encountered by the battered IS manager may be on the way out. As mentioned before, Java solves the multi-platform and virus problems. But, how can it help with distribution? How can it relieve the IS manager from the burden of shared drives and fixed media?

Java has solved the fragile superclass problem. Therefore, the actual placement of functions in memory is not done until the Java application is loaded by the Java interpreter. This is a great boon for software distribution. A single object, containing a bug fix, can be distributed alone with no repercussions. Software does not have to be recompiled whenever function entry points change. When it comes to updates and fixes, only the pieces changed need to be distributed.

Following is the outline of two different software-distribution systems. Each of these systems has advantages and disadvantages. The first of these systems is a distribution system based on the use of Web servers (http daemons). The second is based on writing a proprietary distribution server. The purpose of the servers is to allow distribution of Java applications to users in a fast and convenient method that solves the problems in current distribution systems.

HTTP server example

The http distribution server is based on exclusive use of an http daemon. This server relies heavily on configuration files to control distribution. Most of the intelligence for this system resides in the client code.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources