*sigh*

Atualmente estou trabalhando pra uma consultoria e estou desenvolvendo uma aplicação Java (com Struts) que irá fornecer uma interface Web para usuários do ERP da empresa cliente.

O sistema usa Java/Struts porque o cliente escolheu assim e a consultoria que elaborou o projeto endossou a tecnologia que seria usada. Como eu precisava garantir o “leitinho da criança” e eu queria ver como funcionava esse tal de Struts e também dar uma ‘reciclada’ Javiana no meu cérebro topei o projeto e estou aqui.

Para fazer um mini-controle de segurança nesta aplicação resolvi desenvolver um “mini sistema de persistência de objetos em banco de dados relacional” para atender a uma demanda do sistema.

Eu havia escrito um “mini sistema de persistência de objetos em banco de dados relacional” para um projeto Python que eu tinha trabalhado a uns meses atrás. Ficou bem simples (porque senão eu usaria o SQLObjects que seria melhor) mas funcionava para o que eu precisava fazer. Levei 8 horas pra pensar e desenvolver ele inteiro.

Neste exato momento estou na minha 20ª hora de trabalho em Java e não tenho algo funcional. Vocês podem dizer “Ah! mas você conhece bem Python e não conhece bem Java!” mas eu retrucaria com um “Eu conheço Java e desenvolvi bastante em Java”. E ainda tem outros fatores que devem ser considerados:

  • Eu já havia feito um sistema assim antes (em Python), portanto, não precisei elaborar nada dele porque já tinha a estrutura dele toda em mente.
  • Estou usando uma ferramenta chamada jDeveloper da Oracle que disponibiliza um mooonte de facilidades como: suporte a Refactoring integrado (com funcionalidades que dificilmente existirão para Python pelo carater dinâmico da linguagem), integração com jUnit, sistema de ajuda integrado, etc. Ou seja, uma ferramenta com muito mais facilitadores do que o Vim que usei para desenvolver a minha versão pythoniana.

Ainda não mexi muito com o Struts para poder ‘avacalhar’ com ele da forma com que gostaria. Mas as primeiras impressões que ficaram é que é mais um daqueles frameworks onde você tem que saber mais XML do que Java para poder usá-lo.

Acho que no universo Java eles tentam fazer bastante coisa com XML para livrar o desenvolvedor da burocrática linguagem de programação que Java é.

PS. Não usei Hibernate, JDO, EJB, J2EE, etc… para persistir meus objetinhos porque levaria mais tempo pra eu configurar esses caras do que para desenvolver a solução toda. Além disso o cliente tem restrições com a utilização de determinadas bibliotecas / frameworks / tecnologias que ele não domina. Paciência, fica pra próxima vez a chance de conhecer mais uma coisa pra eu poder avacalhar (sim, porque eu não gosto de avacalhar com coisas que eu não conheço).

Publicado por

Osvaldo Santana

Desenvolvedor Python e Django, Empreendedor, dono de uma motocicleta esportiva, hobbysta de eletrônica, fã de automobilismo e corinthiano