Changes between Version 4 and Version 5 of WF/exibirinterface
- Timestamp:
- 08/16/10 16:36:42 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WF/exibirinterface
v4 v5 3 3 == 1 Descrição == 4 4 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.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. 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. 6 6 7 7 Quando 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. 8 8 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.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 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. 10 10 11 11 … … 23 23 24 24 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} 26 26 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. 27 27 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. 30 32 31 33 == 5 Eventos Alternativos == 32 34 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. 34 36 35 37 == 6 Tratamento de Erros == 36 38 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. 38 40 39 41 == 7 Mensagem == 40 42 41 {M1}42 43 43 44 == 8 Pós-condições == … … 54 55 55 56 == 11 Notas == 56 * input box57 * combo box58 * list box59 * text area60 * div61 * grid62 * table63 * etc.64 65 Existem ainda componentes especiais para recursos do ambiente Expresso:66 67 * seleção de usuários68 * seleção de cidades69 * seleção de estados70 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ção76 77 == 3 Pré-condições ==78 79 Desenvolvedor deve possuir acesso administrativo à aplicação80 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 | Cancelar100 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