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.