Pessoal, seguinte, terminamos um projeto grande de ERP aqui na empresa (cujo foi meu primeiro projeto aqui onde entrei pra ajudar a finalizar), um sistema bem complexo, onde inicialmente não foi usado nada com relação a padrões de projeto, nem mesmo os básicos, como o MVC, foi uma experiência terrível. Agora eu quero fazer um refactoring do desenvolvimento inteiro da empresa, incluir as melhores tecnologias em Java disponíveis no mercado, visando a produtividade (pro chefão aqui, a unica coisa que importa é a produtividade) e escalabilidade com fácil manutenção. Então, venho até vcs a produra de dicas, do que devo implantar na empresa para começar 2005 fazendo bonito. Oque esta na minha cabeça é:
[color=“red”]View:[/color] Taglibs do framework MVC usado ou Velocity? Será que vale a pena adicionar mais um conjunto de .jars no projeto e mais uma camada a ser estudada pela equipe? (No caso de se usar velocity)… Ou ja usamos taglibs, que ja estão disponiveis no proprio framework?
[color=“red”]Framework MVC:[/color] Webwork ou o MVC do Spring (caso seja escolhido o Spring).
[color=“red”]Framework J2EE:[/color] Spring. Agora, será que vale mesmo a pena utilizar o Spring? Digo, aqui há uma carencia de pessoal treinado, ou seja, não sabem nem oque é Facade, imagina quando verem um XML do Spring. E outra, é difícil fazer uma empresa se prender tanto assim a uma solução livre, eles não confiam, preferem pagar uma fortuna por algo que sabem que não vai nos deixar na mão (vcs tem que concordar que isso é um ponto a se pensar). Há! E o IoC do Spring procura referencias a objetos na rede? Digo, posso colocar um EJB como componente no XML do Spring? Por ex, tenho um facade que é um EJB remoto, posso defini-lo junto nos componentes do Spring? Ou vou precisar de um Service Locator ainda?
[color=“red”]Persistência:[/color] Hibernate ou JDO? Eai, alguém pode me dizer os pros e contras quando colocamos um quadro comparativo entre os dois? Entra em jogo a performance. E quanto a transações? E transações multi-banco? Usar JTA? O próprio Hibernate? Pros? Contras? Também ouvi falar que o Spring implementa transações, mas, ele não impõe nenhuma limitação?
Então é isso, espero respostas interessantes e esclarecedoras!