= Executar Biblioteca do Sistema = == 1 Descrição == O acesso a recursos externos, exceto banco de dados da aplicação, é feito pelo uso de ferramentas que seguem determinados padrões de implementação para serem utilizados pelo sistema. Estes padrões servem para implementar bibliotecas que são registradas no banco de dados do sistema. Os dados persistidos devem ser o nome da lib, e o caminho completo onde estão os arquivos utilizados pela biblioteca. Os arquivos de biblioteca nunca são chamados diretamente existe um padrão factory que é responsável pela instanciação do objeto da biblioteca. As bibliotecas que implementam dois tipos de métodos, desprotegidos e protegidos. Metodos protegidos são implementados de tal forma que não são acessiveis ao aplicações do sistema, apenas aplicações do modulo podem acessar metodos definidos como protegidos. A proteção de um método é feita na própria aplicação executando uma chamada a checkSecurity implementado na classe Security. == 2 Atores == * 1. Sistemas; * 2. Sistemas do módulo; * 3. Desenvolvedores == 3 Pré-condições == * Estar executando uma aplicação registrada. == 4 Eventos == * 1. A camada controller do módulo faz as validações básicas de acesso e define se o perfil tem permissão de executar a rotina. * 2. Define o valor enabled do objeto security como vardadeiro.{A1} * 3. Camada de controle instancia a classe de negócios e executa o método da ação, confrome dados recuperados do banco de dados. * 4. Classe de negocio do cliente realiza chamada a biblioteca do sistema utilizando uma factory. {E1} * 5. Sistema executa método do objeto devolvido pela factory e fluxo é encerrado. {A2} == 5 Eventos Alternativos == * 1. Define o valor enabled do objeto security como falso no caso de chamadas que serão executadas por aplicações do módulo. * 2. Sistema executa método do objeto devolvido pela factory com o valor enabled do objeto security como verdadeiro e fluxo é encerrado. == 6 Tratamento de Erros == * 1 Se a factory não identifica a biblioteca como uma das bibliotecas do sistema levanta erro e encerra o fluxo. * 2 Se o sistema não esta sendo executado no modo protegido e método chamado foi definido como protegido pelo desenvolvedor, retorna exceção. == 7 Mensagem == Não relevante == 8 Pós-condições == * Biblioteca realiza a tarefa e devolve os dados para o objeto de negócio quando necessário. == 9 Regras de Negócio == Se uma aplicação cliente tenta desabilitar a segurança a classe security identifica a tentiva de alteração do parâmetro e gera um erro. Uma vez definida como protegida nenhum método pode alterar esta propriedade. == 10 Telas Envolvidas == Não relevante. == 11 Notas ==