Diário de uma migração
por
Como vocês devem ter notado, mudei totalmente o engine do meu site. Ele é escrito por mim em Java EE, e já havia algum tempo que eu estava com um esboço das mudanças, porém estava sem tempo por causa dos estudos para a SCEA. Mas um dia desses resolvi meter a mão na massa, e compartilho com vocês aqui uma série de posts na qual explico como tudo foi feito.
A primeira das mudanças que eu precisava era esquecer o legado. Meu site existe desde 2000, e desde lá venho fazendo apenas updates. Então era necessário esquecer tudo que eu tinha antes, fazer algo do zero. Eu estava cansado daqueles URLs malucos do site, que para você ver um post era necessário escrever www.otavio.com.br/weblogPostShow.do?id=500. Além disso eu não queria mais expor os IDs dos posts, e facilitar a digitação. Realmente é um saco ficar fazendo upper e lower case para digitar um endereço.
Uma questão importante era performance. Sempre achei que meu site não era muito visitado, mas olhando aos logs do servidor percebi uma média de mil visitas por dia. Então eu precisava do site rápido, e o antigo me parecia as vezes estar um pouco lento. Como o servidor de aplicações não fica na mesma máquina do banco de dados, eu precisava até mesmo pensar no overread de dados na rede, otimizar as consultas, e por aí vai. Notei que precisava largar o MySQL em prol de um banco mais robusto, que permitisse certas funcionalidades para evitar o extenso tráfego de rede.
De uns tempos para cá o número de spams nos comentários cresceu drasticamente, então eu notei que precisava não apenas filtrar os comentários, mas também bloquear algumas redes de spammers. Filtrar o conteúdo que o usuário digita nos campos de comentário é muito importante, não apenas quanto a palavras de baixo calão, mas também quanto a ataques de código malicioso. E spammers acabam consumindo banda e deixando o site lento.
Optei por manter a estrutura interna do site ainda com a dupla Hibernate e Spring, porém havia duas coisas que eu era enfático em trocar: o controller que estava a cargo do Struts Action, e o banco de dados que era MySQL. O Struts é um bom frameworks, mas estava muito velho, e eu sentia a necessidade de trocar para algo mais inteligente e que permitisse fazer as coisas em poucas linhas de código. Fiz testes com vários MVC dentre eles Spring Web MVC, JBoss Seam e Vraptor; sendo que então optei por usar esse último. E com o banco de dados não havia muito o que duvidar: minha escolha era PostgreSQL (valeu Elizeu).
Além disso havia a necessidade de reescrever o core da aplicação, que basicamente é um .jar que contém uma série de extensões para os diversos frameworks que uso que permite que eu trabalhe com os códigos de forma mais simples.
Em breve escrevo os outros artigos dessa saga toda e atualizo esse aqui com o link dos demais.
Anos atrás: Por que eu amo o Orkut? (2008), Pq tudo tem uma pequena explicação?! (2006).
2 comentários em Diário de uma migração
Novas linhas são quebradas automaticamente, e as tags HTML serão removidas.
Para exibir sua imagem nos comentários, utilize o gravatar.

tu é nerd mesmo né, pensando nisso vo te manda esse link o.0
http://www.youtube.com/watch?v=QqZ3PNU7V2g
por Aix em 16/05/2009
Hahahaha, muito bom mesmo Dilnei.
Tu chegou a ver aquela campanha "adote um nerd"? Hahaha, era muito bom. Ahh, tem aquela tirinha de nerd que te falei aquele dia tomando café na tua casa: www.nerdson.com. É muito bom.
Agora... escrevi essa série de posts sobre a migração pensando em tí, pois já que agora tu anda quebrando a cabeça com JSF e afins, hahahaha.
por Otávio em 16/05/2009