Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

design question about upgrading the software

 
Peter Primrose
Ranch Hand
Posts: 755
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,

Here is a design question for you:

Background:
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.

Problems:
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.


Question:
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?

Thanks
Peter
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic