Changes between Initial Version and Version 1 of WF/criarcamadadepersistencia


Ignore:
Timestamp:
07/07/10 12:18:43 (14 years ago)
Author:
fabianok
Comment:

Versão inicial

Legend:

Unmodified
Added
Removed
Modified
  • WF/criarcamadadepersistencia

    v1 v1  
     1== 1 Descrição == 
     2A 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. 
     3 
     4A 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, 
     5os metodos updateData e deleteData retonam o número de registros afetados pela execução do código. 
     6 
     7O 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. 
     8 
     9class sample.bo 
     10        protected sample_value; 
     11        public getSampleValue() 
     12                return sample_value; 
     13        public setSampleValue(data) 
     14                return void; 
     15 
     16class sample.dao extends !SampleBO implements !DaoInterface 
     17        public selectData(where, order, limit) 
     18                return array sample.bo; 
     19        public insertData(where) 
     20                return int new id; 
     21        public updateData(where) 
     22                return int update lines; 
     23        public deleteData(where) 
     24                return deleted lines; 
     25        public customSelect(sql) 
     26                return array; 
     27 
     28Os 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. 
     29 
     30Os 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. 
     31 
     32 
     33== 2 Atores == 
     34 * 1. Desenvolvedores do sistema 
     35== 3 Pré-condições == 
     36 
     37 * 1. Ter realizado o UC Criar Estrutura de Pastas 
     38 * 2. Ter acesso ao servidor de banco de dados 
     39 
     40== 4 Eventos == 
     41 
     42 * 1. Desenvolvedor cria modelo de dados da aplicação. 
     43 * 2. Desenvolvedor configura acesso ao SGBD. 
     44 * 3. Desenvolvedor configura arquivo de descrição do banco de dados {A1} 
     45 * 4. Desenvolvedor executa aplicação que realiza criação dos arquivos de persistência. 
     46 
     47== 5 Eventos Alternativos == 
     48 
     49* A1 Não gera arquivo de configuração e cria classes a partir de engenharia reversa. 
     50 
     51== 6 Tratamento de Erros == 
     52 
     53 Não relevante 
     54 
     55== 7 Mensagem == 
     56 
     57 Não relevante 
     58 
     59== 8 Pós-condições == 
     60 
     61 * Arquivos de persistência criados. 
     62 * Configurações de acesso ao banco de dados criada. 
     63 * Banco de dados criado. 
     64 
     65== 9 Regras de Negócio == 
     66 
     67 Não relevante. 
     68 
     69== 10 Telas Envolvidas == 
     70 
     71 Não relevante. 
     72 
     73== 11 Notas == 
     74