wiki:WF/criarcamadadepersistencia

Version 1 (modified by fabianok, 14 years ago) (diff)

Versão inicial

1 Descrição

A camada de persistência de dados é parte do modelo de negócios, e é a única forma de acessar dados do banco de dados. As classes da camada são representações dos repositórios do banco de dados e implementam minimamente métodos para seleção, inserção, atualização, e remoção de tuplas nas tabelas do banco de dados. Cada repositório deve ser representado por uma classe contendo mapeamento de cada campo do repositório na forma de atributo protegido e métodos públicos para obter e definir este atributo. Estas classes devem ser armazenadas na pasta vo da estrutura de pastas. As rotinas de manipulação de dados no SGBD são executadas por classes que herdam a classe vo correspondente ou seja cada classe de manipulação de dados estende de uma classe de definição dos campos. A classes de manipulação de dados implementam a classe que define os métodos de manipulação de dados.

A execução do metodo selectData deve retornar sempre um array de objetos do tipo bo, o método insertData deve retornar o identificador da tupla do ultimo registro inserido, os metodos updateData e deleteData retonam o número de registros afetados pela execução do código.

O acesso ao banco de dados é feito utilizando um objeto de conexão implementado conforme o padrão singeton, e os parâmetros para a conexão com o banco de dados devem ser mantidos na pasta config contendo pelo menos as constantes DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWD.

class sample.bo

protected sample_value; public getSampleValue()

return sample_value;

public setSampleValue(data)

return void;

class sample.dao extends !SampleBO implements DaoInterface

public selectData(where, order, limit)

return array sample.bo;

public insertData(where)

return int new id;

public updateData(where)

return int update lines;

public deleteData(where)

return deleted lines;

public customSelect(sql)

return array;

Os métodos de inserção e atualização devem ter rotinas para impedir injeção de SQL e validação de tipagem dos dados antes da inserção, retornando erro em caso de insucesso na validação. Todos os erros retornados pelo SGDB tem que levantar exceção que deve ser tratado.

Os objetos de persistência devem ser gerados automaticamente por engenharia reversa com acesso direto ao banco de dados ou pela leitura de arquivo de instalação contendo uma representação da estrutura do banco de dados a ser criado. Baseado neste arquivo a aplicação conecta-se ao bd e executa a criação ou alteração necessária e gera todos os arquivos de persistência necessários para a representação dos dados.

2 Atores

  • 1. Desenvolvedores do sistema

3 Pré-condições

  • 1. Ter realizado o UC Criar Estrutura de Pastas
  • 2. Ter acesso ao servidor de banco de dados

4 Eventos

  • 1. Desenvolvedor cria modelo de dados da aplicação.
  • 2. Desenvolvedor configura acesso ao SGBD.
  • 3. Desenvolvedor configura arquivo de descrição do banco de dados {A1}
  • 4. Desenvolvedor executa aplicação que realiza criação dos arquivos de persistência.

5 Eventos Alternativos

  • A1 Não gera arquivo de configuração e cria classes a partir de engenharia reversa.

6 Tratamento de Erros

Não relevante

7 Mensagem

Não relevante

8 Pós-condições

  • Arquivos de persistência criados.
  • Configurações de acesso ao banco de dados criada.
  • Banco de dados criado.

9 Regras de Negócio

Não relevante.

10 Telas Envolvidas

Não relevante.

11 Notas