jQuery in Action, 3rd edition
The moose likes Java in General and the fly likes design question about upgrading the software Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "design question about upgrading the software" Watch "design question about upgrading the software" New topic

design question about upgrading the software

Peter Primrose
Ranch Hand

Joined: Sep 10, 2004
Posts: 755
Hi All,

Here is a design question for you:

The application we built is being upgraded from time to time and we send it to our users.
our users use it on a network so there is only one file to upgrade (and being done by the sys admin)
We send them a �patch�; actually, it�s a new version of the application they place it in the relevant folder and continue to work with a new version.

1. We send them the patch via email - sometimes it takes a while until they read their email and at they are using an �old version of the system�.
2. Some of them are not computer savvy (when it�s not the sys admin) and we need to guide them as where exactly to place the file (there are 3 files)

Our (conceptual never build yet) Solution:
Build a program just like Norton antivirus (or other) that prompts the user from the task bar (next to the clock) that a new version is available and by
clicking once it will automatically download the file and store it in the correct folder.

1. Did anyone try anything like this before (or something like) who can tell me about it?
2. Do you think this kind of system will work for us?
3. Does anyone have a better solution?

Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
Neat idea for sure. I don't think you can swap jars in a running system. Do any of the app servers support that kind of thing?

I might try downloading the new version via sockets or FTP or whatever protocol you have handy to a "staging" directory, and writing the startup script or shell file to check for anything new in staging at startup.

The user could get a "new version available" notice, shut down & restart to pick it up.

I guess another way to avoid updating components in a running system is to have the update check in a totally separate program / jar / etc. Your startup routine could just run the update check first, then start the real app second.

A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
I agree. Here's the link: http://aspose.com/file-tools
subject: design question about upgrading the software
It's not a secret anymore!