Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Jersey VS spring VS java EE puro pra web services rest

Olá,

Estou estudando a respeito de desenvolvimento de web services e fiquei com alguma dúvidas quanto a performance destas estratégias de desenvolvimento para web services rest.

Não opinião de vocês, desconsiderando a produtividade dos desenvolvedores, qual seria a melhor estratégia e a mais performática? Vi que o Spring , assim como o jersey, abusa da injeção de dependência e do uso de reflection (recurso java pesado) , seria isto uma justifica para utilização do java EE puro? Quais seriam alguns do principais critérios para que eu possa medir isto? A injeção de dependência em java é feita sempre através de reflection? A reflection é assim tão pesada? Seria uma opção para melhorar a performance do web service a não utilização da injeção de dependência? As bibliotecas jackson e gson para a serialização de objetos são pesadas? tendo em vista que elas utilizam reflection? Qual das duas seria melhor utilizar? Verifiquei e a princípio tanto o jersey quanto o Spring utilizam o jackson.

Desde já agradeço. Att, Lucas Reis

1 resposta
solução!

Olá Lucas,

O JavaEE também abusa de injeção de dependência assim como o spring, não apenas na criação de WebServices mas em praticamente qualquer tipo de funcionalidade.

A injeção de dependência é padrão no Java, praticamente todos os frameworks irão utiliza-la dado o grande ganho que temos na versatilidade e manutenção no código.

Sim, reflection é um pouco pesado, porém seu uso é inevitável, mas todos esses grandes frameworks do mercado sabem utiliza-lo muito bem para não impactar tanto a performance do sistema.

Acredito que o desempenho da maioria desses frameworks que você citou é igual, escolher entre um e outro vai depender mais das suas necessidades do que de performance. Por exemplo, se você estiver usando glassfish como servidor de aplicação, talvez seja mais interessante usar JavaEE pois ele já possui todas as bibliotecas, porém se você estiver usando Apache Tomcat, talvez seja melhor usar spring pela versatilidade.

Em relação ao desempenho dos frameworks de serialização para Json, você facilmente conseguiria fazer uma POC, serializando 1k de objetos em cada framework e comparar o tempo que cada um leva.