65ª Reunião Anual da SBPC
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 2. Banco de Dados
Administração de regras de negócio: aplicação versus banco de dados
José Alday Pinheiro Alves - Graduando em Sistemas de Informação – Faculdade de Juazeiro do Norte (FJN)
Bruna dos Santos Pereira - Graduando em Sistemas de Informação – Faculdade de Juazeiro do Norte (FJN)
Tiago Xavier do Nascimento - Graduando em Sistemas de Informação – Faculdade de Juazeiro do Norte (FJN)
Francisco Cardoso de Sousa Junior - Graduando em Sistemas de Informação – Faculdade de Juazeiro do Norte (FJN)
Francisco Iury Teixeira da Silva - Prof./Orientador Depto. Sistemas de Informação – Faculdade de Juazeiro do Norte
INTRODUÇÃO:
Como função primordial, todo e qualquer sistema deve atender a uma necessidade. Essa necessidade é cercada e definida pelas regras de negócio que o cliente possui. Os sistemas devem obedecer naturalmente às regras de negócio das necessidades a que ele se propõe a resolver. Outro fator importante é a qualidade e confiabilidade das informações que o sistema manipula. Essas informações devem ser armazenadas em algum lugar, que normalmente é o banco de dados. Antes de começar a programar algumas decisões precisam ser tomadas com relação ao projeto de software, entre elas estão à linguagem de programação, o paradigma, o banco de dados a ser utilizado e quem deve gerenciar as regras de negócio, se o banco de dados ou se a própria aplicação. Fowler (2003) mostra que o duas questões devem ser resolvidas inicialmente, a primeira é a escolha de linguagem de programação, se SQL ou a linguagem de seu aplicativo, e a segunda é onde o código será executado, se no banco de dados, ou na memória. A decisão de onde administrar as regras de negócio, que segundo Aceiro (2011) está relacionada com a Separação de Interesses, é complicada e com muitos aspectos a serem refletidos. Entre os principais aspectos estão a escalabilidade, a quantidade de requisições e a portabilidade da aplicação.
OBJETIVO DO TRABALHO:
Identificar as variáveis a serem consideradas no momento de decisão onde administrar as regras de negócio.
MÉTODOS:
A priori foi montado um ambiente de testes utilizando o Ambiente de Desenvolvimento Integrado (IDE) Eclipse Helios, a Linguagem de Programação Java, o framework Java para o mapeamento objeto-relacional Hibernate, o Sistema Gerenciador de Banco de Dados PostgreSQL com o Front-end pgAdmin III, a implementação pl/pgSQL da Linguagem de Programação SQL, e a Ferramenta para Testes de Carga JMeter. O cenário criado foi de persistência de informações, divididos em dois ambientes, no primeiro as regras de negócio eram gerenciados pela aplicação, no segundo pelo banco de dados. Após a elaboração e preparação do cenário e realização dos testes fora feito o levantamento e revisão bibliográfica.
RESULTADOS E DISCUSSÃO:
Notamos que existem muitas variáveis a se considerar antes de começar a programar um sistema, entre essas decisões está onde colocar as regras de negócio, se na aplicação ou no banco. Pereira (2008) mostra que é difícil a tomada de decisão sobre onde pôr as regras de negócios, mas que nos casos onde não existe a possibilidade de troca de banco, o melhor a se fazer é balancear a carga entre a aplicação e o banco de dados. Entre as certezas que podemos abstrair é que em primeiro lugar, sistemas que ficarão estáticos, ou seja, atenderão o mesmo número de usuários com o mesmo volume de requisições e que precisem de um bom tempo de resposta, como, por exemplo, um sistema de faturamento de uma grande empresa com um número de usuários fixo, é interessante que as regras de negócio estejam no banco de dados. Todavia se a aplicação tem a necessidade de escalabilidade, podendo aumentar o número de usuários e volume de requisições, e a possibilidade de uma troca de banco de dados, o inverso é a escolha, ou seja, as regras de negócio fiquem na aplicação.
CONCLUSÕES:
Entendemos que inúmeras são as decisões que devem ser tomadas antes de começar o desenvolvimento efetivamente. Em alguns caso, uma dessas decisões é onde guardar e gerenciar as regras de negócio da aplicação. Existem muitos aspectos a se ponderar e normalmente a decisão de onde pôr as regras de negócio dependerá das necessidades presentes e futuras da aplicação. Por fim, notamos que, essa decisão pode afetar características da aplicação, como a portabilidade, o encapsulamento, a capacidade de testar e depurar a aplicação, o tempo de desenvolvimento, a manutenção e flexibilidade do sistema.
Palavras-chave: Regras de negócio, Banco de dados, Separação de interesses.