Criar Interface de Visualização
1 Descrição
Uma interface de visualização é uma representação de tela Html a ser utilizada pela aplicação para apresentar ou solicitar dados ao usuário. As interfaces estão vinculadas a ações do sistema aplicativo, e são geradas pela camada de visualização, sob demanda da camada de controle. Assim, no ciclo previsto no MVC, a camada de visualização receberá um objeto de dados e promoverá a mesclagem destes dados com a interface definida para a ação. O resultado será um código Html a ser retornado para o cliente. Cabe ao navegador tratar o pacote de dados recebidos, e avaliando as propriedades do componente lançador da ação, decidir onde os dados serão apresentados. Uma interface não necessariamente será uma página inteira a ser apresentada, mas pode ser uma região da página a ser substituída.
O framework disponibiliza uma ferramenta gráfica para desenho de interfaces, onde o desenvolvedor tem acesso a componentes, e os agrupa na interface para produzir o layout desejado. Conforme trabalha, já pode ver o resultado final, acionando uma funcionalidade de preview, que apresenta a interface como ficará para o usuário. Estão previstos componentes básicos para:
- botão de ação
- input box
- combo box
- list box
- text area
- div
- grid
- table
- form
- recordset
- label
- imagem
- messages
Existem ainda componentes especiais para recursos do ambiente Expresso:
- seleção de usuários
- seleção de cidades
- seleção de estados
Cada componente possui um conjunto de propriedades, sendo algumas comuns a todos os componentes, e outras pertinentes ao seu tipo. Um componente poderá estar associado a uma ação da camada de negócio. Quando esta vinculação ocorrer, a requisição deverá ser do tipo Ajax, e deverá estar indicada uma função javascript que tratará os dados de retorno e um componente que será populado com os dados de retorno. Também está prevista a existência de eventos Javascript para os componentes, sendo que a ferramenta possibilitará o registro do código Javascript a ser executado. Existirá uma biblioteca Js padrão, carregada nativamente pela interface, cuja principal finalidade e tratar o dado XMl retornado pelas chamadas Ajax. A interface utilizará obrigatoriamente o template css definido para o ambiente. Todo componente em que seja possível tradução, terá uma propriedade indicando se a tradução deve ser feita. Caso o desenvolvedor da aplicação inclua javascript na interface, deverá utilizar uma marcação apropriada para indicar as frases a serem traduzidas. No momento da renderização da interface, uma função de tradução será chamada para cada componente/javascript que deva ser traduzido. A interface, portanto, será enviada já traduzida para o cliente.
2 Atores
Administradores da aplicação
3 Pré-condições
Desenvolvedor deve possuir acesso administrativo à aplicação
4 Eventos
- Administrador acessa ferramenta do sistema que possibita o desenho da interface.
- Administrador desenha a interface, utilizando os componentes disponíveis, e definindo as propriedades para cada componente. {A1}
- Administrador informa um nome para a sua interface.
- Sistema converte a interface para Xml.
- Sistema salva a interface na pasta view/templates da aplicação. {E1}
5 Eventos Alternativos
{A1} Administrador edita uma interface já existente.
6 Tratamento de Erros
{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.
7 Mensagem
{M1} Não foi possivel salvar a interface {Nome da Interface} Ignorar | Tentar Novamente | Cancelar
8 Pós-condições
Arquivo de definição da interface salvo em disco.
9 Regras de Negócio
Propriedades comuns a todos os componentes:
- Código da aplicação
- Código da ação
- Função para tratamento personalizado de dados
- Identificador do componente para popular os dados
- Função para modificar o componente antes da renderização
10 Telas Envolvidas
Não relevante.
11 Notas
O código da aplicação é relevante, como propriedade de um componente, para ser possível a chamada de ações de outros sistemas.