Atualização Software

Bom dia pessoal,

Primeiro peço desculpas se o tópico não tiver pé nem cabeça, mas estou com essa dúvida a dias.
Bem estou terminando de desenvolver um projeto WEB em Java, será o primeiro projeto WEB aqui da empresa, todos os outros projetos são desenvolvidos usando Delphi + Oracle e possuem um software desenvolvido internamente para gerar patchs(atualizações para nossos clientes), basicamente o software cria um executável com as atualizações, disponibiliza em um ftp, envia um email contendo informações da atualização, após ser executado pelo cliente inseri um log no banco do cliente.
Gostaria de ter um mecanismo semelhante, para meu projeto, automatizando essa tarefa.
Como esse processo é feito pelos amigos?

[ ]'s

Grato

cara, vc terá um projeto WEB, isso pode ficar em um servidor remoto, compila tuas classes e substitui o .WAR que vais gerar… pelo que sei é isso, corrijam-me se falei besteira… Não vais mais precisar de programinha fazendo atualização e gerando Logs por aí… hehehe

Falows :wink:

Olá,
Deve se feito um deploy ( WAR ou EAR) da sua aplicação, qual servlet container vc. está usando, qual o tipo de aplicação. Como elá vai ser distribuida para o cliente.Enfim passe mais detalhes pra gente ok.

Olá WilliamSilva,

Estou usando o Tomcat 6.0.18, tenho que disponibilizar um .war para o cliente, a questão seria como automatizar esse processo, existe alguma forma de dar um deploy na aplicação através de um ip remoto? Geralmente como isso é feito?

Grato

Boa tarde pessoal,

Não sei se foi bem claro, quais outros detalhes seriam importantes?

[ ]'s

Opa e ai tche,

Cara tu pode executar esse deploy via interface gráfica no tomcat mesmo, da uma olhada na interface administrativa do tomcat, lá pode selecionar a aplicação para undeploy/deploy, etc.

Uma outra coisa que tu pode dar uma olhada é no maven, para que ele faça deploy direto no tomcat, acho que tu não está usando o maven.... 

Também dá pra desenvolver um script .sh ou .bat, para que depois de gerado o novo war o cliente execute esse script e fique com a versão atualizada.

De todos o maven sem dúvida é o mais "automatizado", porém, tem um grande detalhe que eu acho que tu está esquecendo. Tem que ser planejado essa atualização, imagina o seguinte:

Sexta-feira: 15 horas, e o teu sistema ta rodando para uma frente de caixa de um mercado…
Simplesmente alguém decide atualizar, afinal de contas ele é automático… e ai já viu tua aplicação vai sair do ar até fazer um undeploy e deploy da nova versão…

Já imaginou o caos???

Pois é, se tu der uma pesquisa no tio google sobre hot deploy tu vai achar várias coisas, porém hot deploy eu não curto… mas enfim

 Deu uma ajuda ai ou só compliquei a situação? hehehehe

Ajudou bastante maiconramones obrigado.

Vou dar uma olhada no Maven, mas só me adiante uma coisa, consigo então com Maven dar um deploy na minha aplicação em um servidor remoto? E outra coisa, como controlo em que versão a aplicação está no cliente X, no Y… talvez o X esteja atualizado mas o Y não entendeu?

[quote]Estou usando o Tomcat 6.0.18, tenho que disponibilizar um .war para o cliente, a questão seria como automatizar esse processo, existe alguma forma de dar um deploy na aplicação através de um ip remoto? Geralmente como isso é feito?
[/quote]Vc. pode usar o jBOSS AS, Glassfish ,Websphere Community, etc. pois vc. pode fazer o deploy da aplicação sem reiniciar o servidor e, já que vc. tem o IP do cliente vc. pode mapear a tua rede e fazer o deploy remotamente via ANT ou MAVEN conforme dito acima, Se quiser pode até fazer pela tua IDE de desenvolvimento.
Não esqueça que em aplicações JEE é usado DataSource (não sei se usa ORM), configurados dentro do servidor de aplicação.:
http://www.guj.com.br/posts/list/114053.java#616064
http://tomcat.apache.org/tomcat-4.1-doc/jndi-datasource-examples-howto.html
Espero ter ajudado, depois conte como está sendo a tua experiência em tentar se libertar do Delphi.
T++.

[quote]como controlo em que versão a aplicação está no cliente X, no Y… talvez o X esteja atualizado mas o Y não entendeu?
[/quote]Vc. pode usar um arquivo de configuração ( não use o Banco de dados), properties.
Não esqueça de estudar também o CVS (Concurrent Version System ), TRAC também é muito bom .
http://trac.edgewall.org/
s[].

WilliamSilva muito obrigado pelas dicas, tenho certeza que vão me ajudar.

Pode deixar depois que me livar dele comento aqui no fórum.

[ ]'s

Lendo a documentação do Maven não encontrei nada que poderia instalar/atualizar minha aplicação em um servidor remoto que contenha o tomcat.
Encontrei esse plugin Cargo, alguém recomenda seu uso? Existem outros?

[ ]'s