01 | Implementar a estrutura da aplicação com divisão em camadas: controller, model e view
|
02 | A camada controller deve conhecer a camada view e model
|
03 | A camada model não terá acesso a camada view
|
04 | Será obrigatório implementar as camadas controller, model e view
|
05 | Registrar as ações da aplicação e os perfis de acesso às ações
|
06 | Possibilitar a associação de usuários/grupos aos perfis
|
07 | A associação de usuários/grupos aos perfis será o controle de acesso da aplicação
|
08 | A primeira fronteira da camada controller será a página de entrada do módulo
|
09 | Os dados passados para a controller deverão ser: identificador da aplicação, identificador da ação, e opcionalmente dados para consumo na execução da atividade
|
10 | A camada model deve retornar um objeto de dados VO para a camada controller
|
11 | A camada model deve ter acesso a qualquer classe de negócio do sistema
|
12 | A camada model deve ter acesso à biblioteca (lib) do módulo
|
13 | Implantar uma ferramenta para mapeamento de objetos de banco de dados
|
14 | Definir uma estrutura de armazenamento de código para aplicação, que contemple as novas características do mvc
|
15 | Obrigar a implementação de uma ação padrão para a aplicação
|
16 | Gerar o código básico da camada model
|
17 | Implementar uma estrutura de mensagens para o processo, com possibilidade de internacionalização
|
18 | A camada controller fornece dados para a camada view através de um objeto VO
|
19 | A camada de visualização tem a responsabilidade de criar as interfaces, usando ferramentas que estejam disponíveis
|
20 | A camada view deve mesclar os dados com a interface
|
21 | A camada view não deve misturar código da aplicação servidora com código html
|
22 | A camada view executa chamadas endereçadas para ações da controller, utilizando protocolo http/post
|
23 | Disponibilizar uma interface de serviço para ações da camada controller
|
24 | Autenticar as chamadas de serviço usando sessão do Expresso
|
25 | Implantar uma ferramenta para construção de interfaces, com template padrão e internacionalização
|
26 | Validar os dados no lado cliente, usando javascript, garantido adequação às propriedades dos campos, e prevenindo contra sqlinjection e xss
|
27 | É recomendável a validação de dados no lado servidor
|
28 | Criar uma biblioteca (lib) de classes utilitárias
|
29 | Possibilitar a construção de classes utilitárias pelas organizações
|
30 | Disponibilizar as classes utilitárias, para as camada model, sob demanda. Controlar a inicialização e destruição das classes através de métodos da camada model
|
31 | Construir componentes de visualização específicos para o negócio do workflow
|
32 | Executar a aplicação sob tratamento de erros
|
33 | Implementar a sinalização de erro em todos as classes utilitárias disponíveis para o sistema
|
34 | Prover um local para a armazenamento da configuração e dados constantes do sistema
|
35 | Identificar quais bibliotecas de javascript estarão disponíveis para o sistema
|
36 | O código da aplicação não poderá ter acesso à classes do módulo
|
37 | Registrar a estrutura de processos de workflow vinculados a uma aplicação
|
38 | Compartilhar os perfis de uma aplicação com os seus processos
|
39 | Associar ações de uma aplicação com atividades do processo
|
40 | Possibilitar à camada model definir operações sobre a instância: iniciar, completar, enviar, definir transição, definir usuário, atualizar atributos
|
41 | A classe de instância deverá percorrer o fluxo, executando as atividades não interativas
|
42 | A classe de instância será responsável por persistir os seus dados
|