Dev (Back & Front)ARTIGO

Stored procedures ou EJBs

Por muito tempo as stored procedures foram consideradas ótimas soluções para desenvolver as regras de negócio de uma aplicação, porém  atualmente, com a grande diversidade de tecnologias, existe a grande dúvida se elas continuam sendo a melhor escolha. Recentemente passei por uma situação destas, na qual os sistemas JavaJava42 conteúdosNovidades do Java 26 (para desenvolvedores)Dev (Back & Front) · mar 2026Visual Studio Code para Java: o guia completo (dicas, configuração e extensões)Dev (Back & Front) · out 2025Quarkus: Modernizando a linguagem Java para a era da nuvemDev (Back & Front) · nov 2020Ver tudo em Dev (Back & Front) precisariam interagir com regras de negócios que estavam dentro de stored procedures, e aí, será que vale a pena reescrever o código para Classes Java (EJBs)?

Vou compartilhar um pouco da experiência que adquiri tentando compreender um pouco mais as vantagens e as desvantagens de cada uma destas opções.

Na maioria das vezes, quando uma aplicação está lenta, a solução mais “fácil” é o upgrade do servidor. Porém, “não adianta colocar uma Ferrari se o motorista é o Rubinho” (Longhi, Fulvio). Algumas vezes a solução pode ser rever as soluções tecnológicas que estamos usando. Até porque Ferrari é um excelente carro, todos sabem, mas será que você conseguiria dirigir uma da mesma forma que dirige seu carro?

Fica mais fácil quando entendemos que não é porque uma tecnologia é mais nova que ela será melhor do que uma tecnologia já existente. Já vi muitos programas utilizando Java 1.3 que eram ótimos, mas quando foram migrados para Java 1.5 tiveram que ser refatorados depois, pois não atendiam tanto quanto a versão antiga.

Vantagens em utilizar EJB:

Vantagens em utilizar Stored Procedures:

Assim sendo, a decisão irá depender de algumas questões como:

  • Qual a importância da aplicação?
  • A aplicação será reconstruída, ou sofrerá constantes manutenções?
  • A aplicação terá diversas bases de dados?
  • Existe a possibilidade de o banco de dados ser alterado?
  • Qual a expertise da equipe desenvolvedora?

Já ouvi argumentos de pessoas dizendo que Stored Procedures facilitam a duplicação de código, porém não vejo isto como uma exclusividade das Storeds. Na minha opinião, o mesmo problema pode acontecer com os EJBs se o desenvolvedor não for cauteloso.

Podemos ver que algumas decisões acabam não sendo técnicas, e sim estratégicas, nas quais as vantagens técnicas não são o mais importante.

Não existe também nenhum impedimento em utilizar um repositório misto, tendo regras de negócio em stored procedures e em EJBs, desde que exista uma organização deste repositório, ou um responsável para prover uma organização.

Referências:

é Analista de Sistemas com Pós Graduação em Engenharia de Software e MBA em Gerenciamento de Projetos. Possui as certificações Sun Certified Java Programmer 6 (SCJP), Oracle Certified Web Component Developer (OCWCD), Oracle Certified Enterprise Architect (SCEA part I). É autor do Livro "Android para Desenvolvedores", da Editora Brasport. Entusiasta GWT, interessado por projetos beta e design patterns.

Ver perfil