Auto Update

Pessoal, estou querendo utilizar auto update nos meus softwares e estou com dúvida de como implementar. Já estudei a possibilidade de utilizar java webstart mas acho que não supriria minha necessidade.

Queira montar uma atualização baseada em XML. Funcionaria da seguinte forma, o software instalado no cliente a cada período de tempo consultaria o servidor em busca de atualizações. Nessa busca ele encontraria um XML com as especificações gerais da versão que conteria toda a descrição dos arquivos a serem atualizados de acordo com a versão anterior. Também seria possível descrever nesse XML, uma estrutura de gatilhos que deverão ser processados antes ou depois da atualização (Por exemplo: SQL que deverá ser executado no Banco de Dados).

Também pensei em criar algum software especifico para gerenciar o lado servidor caso necessário ter algum controle de permissão (Vale a pena??)

Queria ver com vocês se é vantagem criar um mecanismo assim ou se já existe algum Framework que supre essa necessidade. A idéia seria, fazer um sistema independente que funcionasse com qualquer software java desktop e, quem sabe, com softwares de outras linguagens também.

O que acham?