5 | | A partir da leitura do arquivo de configuração uma sistema gera um esqueleto de código que valida se o usuário pode executar a rotina, utilizando a classe de controler descrita no UC Criar Estrutura de Arquivos, e chama o código que trata da execução da ação. Este arquivo de configuração também conecta no bando de dados do sistema e cadastra a rotina na tabela wf_process, cadastra os grupos de usuários na tabela wf_rules, cadastra os uids de usuários do grupo em user_roles, cadastra as acoes na tabela wf_actions e finalmente cadastra os usuários e ações que este pode executar na tabela wf_user_action. |
| 5 | A aplicação é o programa que executa um conjunto de tarefas relacionadas ou com claras dependências dedicadas a automatização de um processo. Para criar a aplicação o desenvolvedor utilizará o framework para registrar os dados do sistema, informando o que está indicado a seguir, sendo que o armazenamento será em banco de dados, mais especificamente nas tabelas wf_applications, wf_programs, wf_roles, wf_user_roles, wf_actions, wf_user_actions e wf_config. |
7 | | A inserção dos dados deve ser equivalente a uma operação atômica, escrevendo em disco somente após o final de todas as instruções de inserção dos dados nas tabelas. |
| 7 | Dados da aplicação: nome, descrição e parâmetros de conexão com o banco de dados da aplicação. |
| 8 | Dados das rotinas: nome e caminho de menu |
| 9 | Dados das ações: nome da ação, classe e método da camada model a ser executado, template para visualização em interface humana. Caso não seja informado template, o sistema deverá assumir que o retorno é xml. |
| 10 | Dados de perfil: nome e descrição do perfil |
| 11 | Dados de usuários: associação de usuários a perfis e à ações, contituindo-se no controle de acesso da aplicação |
| 12 | |
| 13 | A partir dos dados em banco, o framework irá gerar o arquivo appconfig.xml.sample, a ser utilizado para criar a aplicação em disco. A partir da leitura do arquivo de configuração, uma ferramenta irá gerar a estrutura da aplicação conforme descrito no UC Criar Estrutura de Pastas e UC Criar Estrutura de Arquivos. |
18 | | * 1. Desenvolvedor cria arquivo de configuração da aplicação. |
19 | | * 2. Desenvolvedor executa programa de criação da aplicação. |
20 | | * 3. Programa de criação de arquivos conecta-se ao banco de dados e insere os dados da aplicação. {E1}{E2}{E3} |
21 | | * 3. Sistema executa o UC Criar estrutura de pastas. {E4} |
22 | | * 4. Sistema executa o UC Criar estrutura de arquivos. {E4} |
23 | | * 5. Sistema executa o UC Criar camada de persistência. {E4} |
24 | | * 6. Desenvolvedor registra as rotinas do sistema na apĺicação do módulo. |
25 | | |
| 25 | 1. Desenvolvedor utiliza o framework para definir a aplicação. |
| 26 | 2. Framework gera o arquivo de configuração. {E1} |
| 27 | 3. Desenvolvedor executa programa de criação da aplicação {B1} |
| 28 | 4. Sistema executa o UC Criar estrutura de pastas. {E1} |
| 29 | 5. Sistema executa o UC Criar estrutura de arquivos. {E1} |
| 30 | 6. Sistema executa o UC Criar camada de persistência. {E1} |
32 | | * E1 Se o usuário não tem permissão de acesso ao banco de dados ou ocorre falha na validação de acesso apresentar mensagem de erro e encerrar o fluxo. |
33 | | * E2 Em caso de violação de chave, exibir mensagem informando o erro e mostra opção cancelar a instalação ou ignorar erro. Caso o usuário opte por cancelar desfaz as alterações |
34 | | e encerra o fluxo, caso contrário continua a execução do programa a partir da próxima instrução. |
35 | | * E3 Erro de inserção, que não seja consequência de violação de chave, gerar mensagem de erro, desfazer as alterações geradas pela rotina e encerrar o fluxo. |
36 | | * E4 Caso o sistema operacional informe algum erro que impossibilita a criação do arquivo ou diretório, informar ao cliente o erro e exibir escolha continuar ou cancelar. Se o usuário seleciona a opção cancelar executa novamente a chamada que falhou e continua a execução normal do programa |
| 38 | {E1} Caso o sistema operacional informe algum erro que impossibilita a criação do arquivo ou diretório, informar ao cliente o erro e exibir escolha continuar ou cancelar. Se o usuário seleciona a opção cancelar executa novamente a chamada que falhou e continua a execução normal do programa |