o padrão data access object e sua utilização no

Propaganda
Seção Temática II:
Ciência e Tecnologia
O PADRÃO DATA ACCESS OBJECT E SUA UTILIZAÇÃO NO DESENVOLVIMENTO DE UM
SISTEMA PARA GERENCIAMENTO DE ACERVO BIOLÓGICO1
Heverson Damasceno Jucá Rolim;
Tiago Bitencourt;
Rodrigo Foschiera 2
Faculdade Anglo-Americano, Foz do Iguaçu, Paraná, Brasil
O Data Access Object (DAO) é um dos padrões específicos da categoria Data Source
Architectural Pattern do Core J2EE Patterns, o qual consiste em abstrair o mecanismo de
persistência utilizado na aplicação. Desta forma, a camada de negócios acessa os dados
persistidos sem ter conhecimento da origem dos mesmos.
O acesso a um Banco de Dados (BD), por exemplo, utilizando este padrão, é feito em
três camadas distintas: DO (Data Object) – camada responsável pela conexão e pela
execução de querys no BD, sendo que não há comandos SQL na mesma, pois sua função é
apenas executar o comando, qualquer que seja; VO (Value Object) – camada responsável
por ser um espelho das colunas do BD, disponibilizando, assim, os atributos (colunas de uma
tabela do BD) e suas propriedades; e BO (Business Object) – camada responsável por montar
a regra de negócio e fazer o acesso e atualização do BD, sendo que a mesma deve conversar
com a camada VO para pegar os campos, montar os comandos SQL e enviar para a camada
DO executar.
Todas as comunicações com o mecanismo de persistência são mediadas por um
objeto DAO. Esse objeto mapeia informações transportadas em objetos (Transfer Object)
para instruções da API de persistência e mapeia resultados, obtidos da referida API, de volta
para os mesmos objetos de transporte. Toda a lógica de mapeamento e execução das
instruções de manipulação de dados fica dentro do objeto DAO, isolando a aplicação da API
de persistência por completo.
O objeto DAO é responsável por operar o mecanismo de persistência, em nome da
aplicação, executando quatro tipos de operações típicas – Criar, Recuperar, Alterar e Apagar
– conhecidas pela sigla CRUD, do inglês Create, Retrive, Update, Delete. Cada classe DAO
deve possuir uma interface que especifica os métodos de manipulação de dados (métodos
CRUD). Geralmente, tem-se uma classe DAO para cada classe que representa um objeto do
1
Trabalho de Pesquisa desenvolvido sob a orientação do Prof. Ms. Miguel Matrakas.
Acadêmicos de Ciência da Computação da Faculdade Anglo-Americano. E-mail de contato:
[email protected]; [email protected]; [email protected]
Seminário Científico Organizações, Tecnologia e Relações Internacionais, 2013.
2
Centro Universitário UDC, Faculdade Anglo-Americano, Foz do Iguaçu, Paraná, Brasil.
domínio do sistema (Produto, Cliente, Compra, etc.) ou para cada conjunto de entidades
fortemente relacionadas.
O padrão em questão está sendo utilizado no projeto Cbio, o qual tem como objetivo
desenvolver um sistema para gerenciar o acervo biológico do Laboratório de Biologia da
Faculdade Anglo-Americano, unidade Foz do Iguaçu, para abstrair o acesso à base de dados
e a manipulação dos dados, dados estes que estão persistidos em um banco de dados
relacional.
A utilização do padrão citado diminuiu a complexidade do processo de
desenvolvimento da camada de negócios e da aplicação como um todo, pois não foi
necessário incorporar os mecanismos de acesso à base de dados e de manipulação dos
dados na referida camada. Outra questão relacionada ao uso do padrão DAO no referido
projeto refere-se à facilidade de manutenção, isto é, caso seja necessário mudar o Banco de
Dados futuramente, basta alterar a implementação DAO utilizada.
Para implementar o referido padrão no projeto CBio foi criada uma interface
genérica que contém métodos e interfaces de métodos, a qual serve de base para a criação
das classes DAO. Nesta interface encontra-se o método que cria uma instância de Statement
e ResultSet, objetos estes utilizados para gerenciar a conexao com o BD e para executar as
operações de manipulação dos dados, como também as interfaces de método para a criação
dos métodos CRUD. Também foram criadas classes para cada um dos objetos do domínio do
sistema, nas quais encontra-se a implementação dos métodos de manipulação dos dados
em questão, sendo que todas as classes DAO da aplicação encontram-se agrupadas em um
mesmo pacote.
A classe que contem os métodos e comandos para carregar o driver do Banco de
Dados e gerenciar uma instância do gerenciador de conexão não está localizada no pacote
de classes DAO. Entretanto ela é utilizada, através do comando import, pela interface
genérica DAO, para gerenciar a conexao com o BD e executar os comandos SQL, utilizandose, para isto, de um objeto Statement e de um objeto ResultSet, sendo que o primeiro é
utilizado para gerenciar a conexão e executar os comandos e o segundo para armazenar o
resultado das consultas realizadas no BD.
PALAVRAS-CHAVE: Sistema, Cbio, padrão, DAO.
Seminário Científico Organizações, Tecnologia e Relações Internacionais, 2013.
Centro Universitário UDC, Faculdade Anglo-Americano, Foz do Iguaçu, Paraná, Brasil.
Download