Fiz alguns testes esta semana, e até mesmo para fazer um cadastro simples, a diferença na produtividade de se trabalhar só com Java 1.5 e Java 1.4 é absurda …
Caso o ambiente tenha suporte a Java 5 é possivel ser até umas 8x mais produtivo do que utilizando tecnologias antigas ..
Imagine a seguinte situação:
Fazer um cadastro de clientes, apenas a entidade Cliente, com nome, endereço, telefone, …
Uma aplicação WEB!
pois bem, para trabalhar com Java 1.4, Hibernate, Struts seria necessário o seguinte trabalho:
1 - Criar o VO para Cliente
2 - Criar um DAO para o Cliente
3 - Criar um arquivo hbm.xml para o cliente, que contem a definiçao de todos os campos do cliente novamente.
4 - criar uma action do struts para listar os clientes
5 - criar uma action do struts para salvar/alterar clientes
6 - criar uma action do struts para visualizar os dados de um cliente ja existente
7 - criar um form bean para o cliente contendo todos os campos do cliente
8 - criar uma JSP para a listagem de clientes
9 - criar uma JSP para cadastro/edição de clientes
10 - registrar no struts-config.xml as actions e o form bean
11 - configurar o hibernate.cfg.xml com o VO e informações de acesso a dados
se não me esqueci de nada é só isto, e isto da mais ou menos umas 4h de trabalho, considerando que sejam telas simples e sem muita frescura de layout, e ainda considerando que se tenha uma aplicação blank ja com o struts e hibernate prontinhos para usar …
e trabalhando com Java 5, Hibernate-annotation, Spring-annotation e JSF seria necessário o seguinte para fazer a mesma aplicação:
1 - criar o VO para cliente anotado com @Entity e @Id
2 - criar um DAO para o cliente
3 - criar um ManagedBean para o cliente com metodos de view (só com um return), list (com uma linha e código), save( com 4 linhas de código), uma propriedade do tipo Cliente (anotada com @DataModelSelextion), e uma propriedade List<Cliente> clientes anotada com @DataModel
4 - criar uma JSP para listagem de clientes
5 - criar uma JSP para edição/visualização
6 - configuração do dataSource no applicationContext.xml e adição do sessionFactory no mesmo arquivo
e é só isto!
da aproximadamente 30 minutos de trabalho, ou seja, 1/8 do tempo necessário com a arquitetura anterior.
sim, eu sei que existem outras arquiteturas para Java 1.4, mas este exemplo é para mostrar que sem sombra nenhuma de dúvidas é um grande ganho de produtividade migrar os servidores para servidores com suporte a Java 5, e ainda hoje temos um monte de empresas que ainda trabalham com Java 1.3 que tem ja aproximadamente 6 anos de idade!
Lógico que não estou dizendo para sairem migrando todas as aplicações existentes, pois isto seria inviável, agora é sem duvida nenhuma, vantajoso fazer as novas aplicações com tecnologias novas, e até integrar tecnologias novas nas aplicações ja existentes para que as manutenções nestas aplicações possam tirar proveito destas tecnologias!
Não consigo enxergar motivo nenhum para que as empresas continuem utilizando tecnologias velhas e com baixa produtividade ainda hoje, a não ser medo dos gerentes, que por causa deste medo estão causando prejuisos as empresas pois gastam 8x mais tempo do que o necessário para desenvolver uma aplicação.
e não estou nem considerando as vantagens de EJB3, WebServices fácilitados, AJAX, JPA, JMX, erc …
Só considerei frameworks simples e de fácil implantação e fácil integração com tecnologias existentes …
Bom, claro que nem todos concordam comigo, mas espero que este post sirva para abrir os olhos de alguns, pois a falta de produtividade causada por estes ambientes velhos, e caindo aos pedaços, alem de causar prejuisos as empresas, também fazem muita gente achar que java não é bom, mas no caso o gerente é que não é bom, ou a equipe não tem conhecimento o suficiente!
Java pode ser muito produtivo, só é preciso utilizar tecnologias com menos de 2 anos, e uma equipe qualificada!
Qualificação é a solução para a produtividade!
e o Medo é a causa da falta de produtividade das empresas hoje em dia!
Bom, esta é a minha opinião.
Comentários e observações serão bem vindos ![]()
Se você gostou deste post, lembre-se de assinar o RSS feed do blog, para ser notificado de novos posts!
[...] Melhores do mês Curso de Spring Framework em Porto Alegre (e o primeiro no brasil que mostra um pouco de Spring-Annotation também) * * * * * 2 votosEclipse 3.2 + Callisto + JSF * * * * * 1 votosMais um tutorial do RSJUG: Construindo um Loja Virtual usando JSF + Spring Annotation + Hibernate * * * * * 1 votosComo se manter atualizado? esta é uma boa pergunta, e eu acho que tenho algumas dicas
* * * * * 1 votosEmpresas que trabalham com java não gostam de produtividade? * * * * * 1 votosPosts mais lidos OpenSSO - Solução para gerenciamento de identidades open source (157 ).Eclipse 3.2 + Callisto + JSF (139 ).Fotos e videos da Lua de mel … (122 ).Tutorial de Novembro do RSJUG - GWT (Google Web Toolkit) (122 ).Novo theme para o Eclipse 3.3 (112 ). [...]
Reply to this commentE ae Rodrigo … Venho a algum tempo lendo seus artigos e estou gostando mto.
Estou atualmente estudando e trabalhando com projetos usando Spring e fiquei de boca aberta vendo a produtividade q se tem com este framework.
Reply to this commentGostaria de saber se este exemplo q vc usou aqui, as anotações e tals, seria como uma app Spring. Pergunto, pois nunca tinha visto estas anotações q vc usou. @DataModelSelextion e @DataModel
Abraço e sucesso.
Opa, tudo tranquilo?
estas anotações são de um projeto chamado Spring-Annotation, do qual eu sou o desenvolvedor principal.
não fazem parte do spring framework padrão.
você pode dar uma olhada no projeto aqui: https://spring-annotation.dev.java.net
Reply to this commenttem alguns posts sobre o mesmo aqui no blog, e qualquer coisa é só perguntar
Olha, poderíamos colocar o SEAM na pauta, e fazer somente o JSP pro cadastro, um pra consulta, um EJB stateless é um Entity. Mais rápido ainda!
Reply to this comment