= 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 (template) utilizado pela camada 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 cliente. O framework recupera o template gerado pela interface de cadastro de aplicações definida no [wiki:WF/criarinterface UC Criar Interface] 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 negócio pela inclusão da mesma via recebimento de parâmetro no método que constrói 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, insere 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 [wiki:WF/executarrotina UC Executar Rotina]. 3. Camada de controle recebe um objeto com os dados a serem mesclados com a camada de visualização. {A1} 4. Camada de controle instancia o objeto de visualização utilizando a classe de visualização (template) obtida no banco de dados da ação, passando o objeto de negócio como parâmetro. {A2} 5. Para cada objeto definido no template gera o código HTML relativo ao componente, traduzindo o que for necessário. {A3} 6. Para cada objeto definido na camada de negócio e referenciado no template popula com as informações obtidas.{A4} 7. Retorna código HTML/XML para a camada de controle. 8. Sistema retorna para o cliente o HTML/XML gerado para o cliente. == 5 Eventos Alternativos == {A1} Camada de controle recebe um objeto de mensagens, que pode conter mensagens normais ou mensagens de erro. {A2} Camada de controle instancia o objeto de visualização passando o objeto de mensagens como parâmetro e vai para o passo 7. {A3} Caso não exista template vinculado com a ação, converte o objeto de dados recebido para XML. {A4} Se não existem objetos de negócio executa direto o passo 7 do fluxo. == 6 Tratamento de Erros == Não relevante == 7 Mensagem == Não relevante == 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 ==