Changes between Version 6 and Version 7 of WF/executarrotina


Ignore:
Timestamp:
08/12/10 14:26:10 (14 years ago)
Author:
viani
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF/executarrotina

    v6 v7  
    11= Executar Rotina = 
     2 
    23== 1 Descrição == 
    3 A execução de uma rotina é a forma como o sistema de aplicações executa uma tarefa. O cliente faz uma requisição http para o endereço onde está a aplicação que atende as requisições, camada Controler, que recupera as informações de execução. Estas informações devem conter os identificadores da aplicação e da ação a ser executada, qualquer outro parâmetro é opcional e será repassado para a camada model. A camada também tem que ser capaz de reconhecer o usuário, que está executando a solicitação, seus perfis e validar se este pode realmente executar a ação solicitada. 
    44 
    5 Após acessar o "Módulo de Aplicações" o usuário clica sobre o ícone da aplicação que deseja executar. Somente serão apresentadas as aplicações em que o usuário é membro de algum perfil. A interface então requisita o menu da aplicação e informações adicionais para a construção da página inicial, desenha o cabeçalho da aplicação com menu hierarquico das ações e uma página padrão de "boas vindas" com as informações adicionais. O usuário seleciona a ação desejada e a interface envia uma requisição para o controle do módulo, utilizando metodo get, contendo os códigos da aplicação e ação. A página de controle da aplicação busca as informações de execução da ação em banco de dados utilizando como critério de seleção os códigos da aplicação, da ação e do usuário que solicitou a execução. A tupla retornada pela consulta contém a classe que será executada e o método que deve ser chamado pela ação além dos perfils do usuário na aplicação. 
     5A execução de uma rotina é a forma como o sistema de aplicações executa uma tarefa. O cliente faz uma requisição http para o endereço onde está a aplicação que atende as requisições, camada Controller, que recupera as informações de execução. Estas informações devem conter os identificadores da aplicação e da ação a ser executada, qualquer outro parâmetro é opcional e será repassado para a camada model. A camada também tem que ser capaz de reconhecer o usuário, que está executando a solicitação, seus perfis e validar se este pode realmente executar a ação solicitada. 
    66 
    7 Depois de concluida a seleção da ação e as permissões do usuário o ambiente é preparado para ser executado em modo protegido ou não. Uma rotina que rode no modo desprotegido pode acessar métodos das bibliotecas do sistema cadastrados como protegidos. Esta funcionalidade está sempre disponível para rotinas do módulo do sistema. 
     7Após acessar o "Módulo de Aplicações" o usuário clica sobre o ícone da aplicação que deseja executar. Somente serão apresentadas as aplicações em que o usuário é membro de algum perfil. A interface então requisita o menu da aplicação e informações adicionais para a construção da página inicial, desenha o cabeçalho da aplicação com menu hierárquico das ações e uma página padrão de "boas vindas" com as informações adicionais. O usuário seleciona a ação desejada e a interface envia uma requisição para o controle do módulo, utilizando metodo get, contendo os códigos da aplicação e ação. A página de controle da aplicação busca as informações de execução da ação em banco de dados, utilizando como critério de seleção os códigos da aplicação, da ação e do usuário que solicitou a execução. A tupla retornada pela consulta contém a classe que será executada e o método que deve ser chamado pela ação além dos perfis do usuário na aplicação. 
     8 
     9Depois de concluída a seleção da ação e as permissões do usuário, o ambiente é preparado para ser executado em modo protegido ou não. Uma rotina que rode no modo desprotegido pode acessar métodos das bibliotecas do sistema cadastrados como protegidos. Esta funcionalidade está sempre disponível para rotinas do módulo. 
    810 
    911Com o ambiente preparado para execução o módulo de controle inclui o código da camada de modelo e executa o método da aplicação do cliente. Quando a aplicação conclui sua tarefa deve retornar um objeto para ser manipulado pela camada de visualização que gera o HTML, ou ser convertido para XML, e retornar para o cliente. 
    1012 
     13== 2 Atores == 
    1114 
    12 == 2 Atores == 
    13  1. Sistema Cliente 
     15 1. Aplicação do Sistema 
    1416 2. Aplicação Cliente 
    1517 
    1618== 3 Pré-condições == 
     19 
    1720Ter executado a rotina de login com sucesso. 
    1821 
     
    2023 
    2124 1. Aplicativo cliente envia requisição HTTP. 
    22  2. Servidor recebe a requisição e chama a camada controler para processar a requisição. 
    23  3. Camada controler recupera as informações de aplicação e atividade e valida acesso, executando o UC Validar Acesso em[http://trac.expressolivre.org/wiki/WF/validaracesso], conforme informações do perfil do usuário logado. {A1} 
    24  4. Busca informações sobre a rotina no banco de dados e define a classe de segurança no modo de proteção habilitado. {A2} 
    25  5. Chama a aplicação default da camada de negócios que armazena os parâmetros da solicitação http em uma lista e em seguida executa o método default desta aplicação.{A3} 
    26  6. Aplicação desenvolvida pelo cliente executa suas tarefas e retorna objeto.{E2} 
    27  7. Controler passa o objeto para a camada de visualização {A2} 
    28  8. Camda de visualização mescla dados de negocio com a interface com o usuário {E2 b}.  
    29  9. Camada de contlole retorna a página HTML para o cliente. 
    30  
     25 2. Servidor recebe a requisição e chama a camada controller para processar a requisição. 
     26 3. Camada controler recupera as informações de aplicação e ação, e valida acesso, executando o [wiki:WF/validaracesso UC Validar Acesso], conforme dados do usuário logado. {A1} 
     27 4. Busca informações sobre a ação no banco de dados e define a classe de segurança no modo de proteção habilitado. {A2} 
     28 5. Inclui o código da classe de negócio e chama o método vinculado à ação. {A3} 
     29 6. Aplicação desenvolvida pelo cliente executa suas tarefas e retorna objeto.{A4} 
     30 7. Controler passa o objeto para a camada de visualização {A5} 
     31 8. Camada de visualização mescla dados de negócio com a interface do usuário. 
     32 9. Camada de visualização retorna a página HTML para o cliente. 
    3133 
    3234== 5 Eventos Alternativos == 
    33  1. Usuário da sessão não tem permissão de execução da rotina ou ação, levanta erro para ser tratado pela camada de controle que retorna XML/HTML de erro. {E1} 
    34  2. No caso da solicitação ao banco de dados retornar que a aplicação deve ser desprotegida define a classe de segurança no modo de proteção desabilitado. 
    35  3. Se uma ação foi passada para a rotina, obtida na recuperação da url, executa o método correspondente ao nome da ação. 
    36  4. Aplicação do cliente retorna erro, retorna erro para a camada de controle. 
    37  5. Controler transforma objeto em xml e retorna via http para o cliente, fluxo é finalizado {E2} 
     35 
     36 {A1}. Usuário da sessão não tem permissão de execução da ação, levanta erro para ser tratado pela camada de controle que retorna XML/HTML de erro, e encerra o fluxo. {E1} 
     37 
     38 {A2}. No caso da solicitação ao banco de dados retornar que a aplicação deve ser desprotegida define a classe de segurança no modo de proteção desabilitado. 
     39 
     40 {A3}. Não encontra o código da classe a ser incluída e levanta erro para ser tratado pela camada de controle que retorna, XML/HTML de erro, e encerra o fluxo. {E2} 
     41 
     42 {A4}. Aplicação do cliente retorna erro, para ser tratado pela camada de controle. 
     43 
     44 {A5}. Controller transforma objeto em xml e retorna via http para o cliente, fluxo é finalizado 
    3845  
    39  
    4046== 6 Tratamento de Erros == 
    4147 
    42  1. Monta mensagem de erro "Rotina solicitada não existe ou usuário não tem permissão de acesso" . 
    43  2. a Converte o erro para xml de erro e retorna para o cliente. 
    44  2. b Converte o erro para html de erro e retorna para o cliente. 
     48 {E1}. Monta mensagem de erro "Ação solicitada não existe ou usuário não tem permissão de acesso". 
     49 
     50 {E2}. Monta mensagem de erro "Código da classe de negócio não foi localizado". 
     51 
    4552== 7 Mensagem == 
    4653 
     
    6067 
    6168== 11 Notas == 
    62