Changes between Version 4 and Version 5 of WF/exibirinterface


Ignore:
Timestamp:
08/16/10 16:36:42 (10 years ago)
Author:
fabianok
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF/exibirinterface

    v4 v5  
    33== 1 Descrição == 
    44 
    5 Para o usuário interagir com a aplicação é necessário uma interface que possibilite o envio e recebimento de informação entre o sistema e o usuário humano. Quando a camada de controle processa o recebimento de uma ação é executada a classe definida no campo model do banco de dados. De posse do resultado da classe de negócios um objeto, ou array de objetos, é repassado para a classe que criar o HTML/XML para ser retornado ao solicitante. No caso de retornar informações no formato HTML é instanciada a classe que formata os dados. 
     5Para o usuário interagir com a aplicação é necessário uma interface que possibilite o envio e recebimento de informação entre o sistema e o usuário humano. Quando a camada de controle processa o recebimento de uma ação é executada a classe definida no campo model do banco de dados. De posse do resultado da classe de negócios um objeto, ou array de objetos, é repassado para a classe que criar o HTML/XML para ser retornado ao solicitante. A classe que executa a classe de visualização é recuperada das tabelas do banco de dados, no caso de retorno XML deve ser indicada a classe classToXML como template da ação. 
    66 
    77Quando a interface a ser retornada é um XML é instanciada a classe classToXML que converte um objeto ou array para o formato XML e retorna estes dados para o cliente. No entanto se o dado a ser retornado tem formato HTML é necessário o uso de um framework capaz de mesclar os dados do negócio com a interface HTML a ser retornada para o clientes. O framework recupera o template gerado pela interface de cadastro de aplicaçẽs definida no uc Criar Interface [http://trac.expressolivre.org/wiki/WF/criarinterface] e então insere os dados obtidos durante a execução das regras de negócio nos campos adequados. 
    88 
    9 O template e o framework de geração de interfaces HTTP processam as informações das classes de negocios pela inclusão da mesma via recebimento de parâmetro no método que constroi a interface. A camada deve conhecer também os métodos e atributos da classe passada como parâmentro através da inclusão do arquivo em seu código utilizando a função require_once.  
     9O template e o framework de geração de interfaces HTTP processam as informações das classes de negocios pela inclusão da mesma via recebimento de parâmetro no método que constroi a interface. A camada deve conhecer também os métodos e atributos da classe passada como parâmentro através da inclusão do arquivo em seu código utilizando preferencialmente a função require_once. Para cada objeto definido no template o framework gera o componente HTML correspondente e, quando necessário, inserir as informações da camada de negócios.  
    1010 
    1111 
     
    2323 
    2424 1. Usuário clica sobre o ícone da aplicação e o navegador envia requisição ao servidor Web contendo o código da aplicação e a ação a ser executada. 
    25  2. Camada de controle recebe informação, executa o UC Executar Aplicação [http://trac.expressolivre.org/wiki/WF/executarrotina]. 
     25 2. Camada de controle recebe informação, executa o UC Executar Aplicação [http://trac.expressolivre.org/wiki/WF/executarrotina].{E1} 
    2626 3. Camada de controle executa o negócio do cliente e retorna um objeto com os dados a serem mesclados com a camada de controle. 
    2727 4. Camada de controle instancia o objeto de visualização utilizando a classe de visualização obtida no banco de dados da ação, passando o objeto de negócio como parâmetro. 
    28  5. Classe de visualização mescla os dados da camada de controle com os dados de negócio. 
    29  6. Sistema retorna para o cliente o HTML gerado 
     28 5. Para cada objeto definido no template gera o código HTML relativo ao componente. 
     29 6. Para cada objeto definido na camada de negócio e referenciado no template popula com as inforamções obtidas.{A1} 
     30 7. Retorna código HTML para a camada de controle. 
     31 8. Sistema retorna para o cliente o HTML gerado para o cliente. 
    3032 
    3133== 5 Eventos Alternativos == 
    3234 
    33  {A1} Desenvolvedor edita uma interface já existente. 
     35 {A1} Ser não existem objetos de negócio executa direto o passo 7 do fluxo. 
    3436 
    3537== 6 Tratamento de Erros == 
    3638 
    37  {E1} . 
     39 {E1} Retorna o XML de erro ou interface padrão de erros com a mensagem de erro correspondente executa o passo 7 do fluxo principal. 
    3840 
    3941== 7 Mensagem == 
    4042 
    41  {M1}  
    4243 
    4344== 8 Pós-condições == 
     
    5455 
    5556== 11 Notas == 
    56  * input box 
    57  * combo box 
    58  * list box 
    59  * text area 
    60  * div 
    61  * grid 
    62  * table 
    63  * etc. 
    64  
    65 Existem ainda componentes especiais para recursos do ambiente Expresso: 
    66  
    67  * seleção de usuários 
    68  * seleção de cidades 
    69  * seleção de estados 
    70  
    71 Cada componente possui um conjunto de propriedades, pertinentes ao seu tipo, e alguns terão opção de ação vinculada a método da camada de negócio. Componentes do tipo submit deverão submeter a interface para o controller do aplicativo via http (ou https), e nos demais casos, a requisição deverá ser do tipo Ajax. Também está prevista a carga de bibliotecas javascript da aplicação e utilização de funcionalidades destas bibliotecas pelos componentes. Existirão outras bibliotecas Javascript padrão, a serem utilizadas nativamente pela interface. A interface utilizará obrigatoriamente o template css definido para o ambiente. Componentes onde é possível a exibição de valores do tipo lista, possuirão uma propriedade especial onde é possível definir uma classe e método de negócio responsável por recuperar os valores da lista. 
    72  
    73 == 2 Atores == 
    74  
    75  Desenvolvedores da aplicação 
    76  
    77 == 3 Pré-condições ==  
    78  
    79  Desenvolvedor deve possuir acesso administrativo à aplicação 
    80  
    81 == 4 Eventos == 
    82  
    83  1. Desenvolvedor acessa ferramenta do sistema que possibita o desenho da interface. 
    84  2. Desenvolvedor desenha a interface, utilizando os componentes disponíveis, e definindo as propriedades para cada componente. {A1} 
    85  3. Desenvolvedor informa um nome para a sua interface. 
    86  4. Sistema converte a interface para Xml. 
    87  5. Sistema salva a interface na pasta view/templates da aplicação. {E1} 
    88  
    89 == 5 Eventos Alternativos == 
    90  
    91  {A1} Desenvolvedor edita uma interface já existente. 
    92  
    93 == 6 Tratamento de Erros == 
    94  
    95  {E1} Caso não consiga grava a interface na pasta apropriada, envia mensagem {M1}, se o usuário opta por Cancelar encerra o fluxo, caso opte por Ignorar executa a próxima instrução, se optar por Tentar novamente o sistema deve executar a linha que provocou o erro. 
    96  
    97 == 7 Mensagem == 
    98  
    99  {M1} Não foi possivel salvar a interface {Nome da Interface} Ignorar | Tentar Novamente | Cancelar 
    100  
    101 == 8 Pós-condições == 
    102  
    103  Arquivo de definição da interface salvo em disco. 
    104  
    105 == 9 Regras de Negócio == 
    106  
    107  Não relevante. 
    108  
    109 == 10 Telas Envolvidas == 
    110  
    111  Não relevante. 
    112  
    113 == 11 Notas == 
    114  
    115  
    116  
    117  
    118  
    119  
    120  
    121  
    122  
    123  
    124