Ouvindo Opiniões
Regras de negócio na Aplicação, no Banco de Dados ou no Servidor de Aplicação (n-tier)?
Sobre o autor: Bacharel em Sistemas de Informação
Especialista em Engenharia de Sistemas
Gerente de TI das Lojas Edmil
Professor de Eng. de Software e Banco de dados (Faceca)
Programador Delphi
Antes de decidir se vamos distribuir as regras de negócios e processamentos entre as diversas camadas possíveis, devemos analisar o cenário.
Quem precisa distribuir aplicações e tem muitas atualizações em banco de dados certamente terá mais trabalho se as regras estiverem no banco.
Se precisar trocar de banco a situação pode ser pior.
Mas deixar todas as regras na aplicação pode não ser tecnicamente o melhor caminho para aproveitar equipamentos e meios de conexão.
É preciso saber regrar.
Minha equipe desenvolve e mantém uma aplicação em uma empresa varejista, com mais de 50 lojas, onde há regras de negócios na aplicação e no banco de dados. Além de ter bancos de dados locais, distribuição parcial, há um banco de dados central com todos os dados.
Algumas tabelas são replicadas e outras são atualizadas diretamente.
As regras de negócio implementadas no banco garantem um processamento mais rápido e principalmente facilita na organização dos códigos.
Diante deste cenário, verificamos um balanceamento de carga que possibilita estações magras (Thin client), funcionamento off-line em muitas operações, regras na aplicação e regras no banco de dados central.
O resultado é uma aplicação capaz de funcionar nas piores condições de conexão remota.
Temos situações em que basta realizar uma conexão dial-up, replicar algumas tabelas e realizar operações críticas do sistema.
Mas com certeza, é uma aplicação extremamente difícil de desenvolver e manter.
O resultado positivo é a redução dos investimentos em links remotos e flexibilidade da aplicação.
Não é uma receita de bolo, pois cada cenário exige um conjunto de regras, mas com certeza, eu considero que vale a pena aproveitar mais de uma camada para suas regras de negócio, bem como, para melhorar a performance de sua aplicação e aumentar a segurança dos dados e transações.
Leia também outras opiniões:
- Participe:
- Seja um colaborador
- |
- Sugira um assunto
- |
- Seja avisado de novos assuntos










