= Exibir Interface de Visualização = == 1 Descrição == 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. 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. 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. == 2 Atores == Usuários da aplicação == 3 Pré-condições == Clicar em uma aplicação. == 4 Eventos == 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. 2. Camada de controle recebe informação, executa o UC Executar Aplicação [http://trac.expressolivre.org/wiki/WF/executarrotina].{E1} 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. 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. 5. Para cada objeto definido no template gera o código HTML relativo ao componente. 6. Para cada objeto definido na camada de negócio e referenciado no template popula com as inforamções obtidas.{A1} 7. Retorna código HTML para a camada de controle. 8. Sistema retorna para o cliente o HTML gerado para o cliente. == 5 Eventos Alternativos == {A1} Ser não existem objetos de negócio executa direto o passo 7 do fluxo. == 6 Tratamento de Erros == {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. == 7 Mensagem == == 8 Pós-condições == Interface humano computador gerada. == 9 Regras de Negócio == Não relevante. == 10 Telas Envolvidas == Não relevante. == 11 Notas ==