Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Esta seção aborda capacidade e limitações da atual versão da arquitetura e utiliza-se da aplicação modelo (Shield) como exemplo.

Capacidades

  • Injeção de elementos HTML através de diretivas customizadas
  • Internacionalização
  • Métodos genéricos para operações CRUD simples
  • Data-binding na camada de View
  • Injeção de dependências
  • Mapeamento objeto relacional
  • Controle Transacional (limitado)
  • Padronização de elementos UI através de classes CSS
  • Widgets (calendário, modal panel)
  • Serialização/Deserialização genérica (podendo ser customizada pelo desenvolvedor)
  • Validação de POJOS de forma genérica
  • Tratamento de erros de forma transparente
  • Persistência transparente, idependente do framework de persistência utilizado (Hibernate, TopLink, AO)

Limitações

  • Não suporta pilha de modal: temos na tela de Aplicações um relacionamento ManyToOne com Companhias. A tela de detalhe de aplicação constitui uma modal contendo todos os campos de aplicação e um combobox mostrando as companhias disponíveis. Com a atual arquitetura não é possível editar estas companhias a partir de uma aplicação, para realizar esta operação seria necessário sobrepor a modal corrente de detalhe com uma modal de datalhe de companhia, controlando o fluxo de operações. A solução é abrir uma nova aba do navegador, realizar a operação e então continuar trabalhando com a aplicação em edição.
  • Não é possível redirecionar o usuário para uma tela de detalhe de outro objetonovamente tomando como exemplo a tela de Aplicações e Companhias, ao tentar editar uma companhia vinculada a aplicação corrent, devido a limitação de pilhas de modal, o usuário poderia ser redirecionado para a tela de detalhe da companhia. Esta operação não é suportada pois não é possível alterar as telas e abrir a modal de edição de companhia. A solução é abrir uma nova aba do navegador, realizar a operação e então continuar trabalhando com a aplicação em edição.
  • Ainda não há implementação para lançar mensagens genéricas ou de negócio na tela de lista: nas telas de detalhe, no topo da modal, logo após a divisão de textos informativo é apresentado uma lista de erros de negócio (se houver erros, caso contrário nada é apresentado). Estes erros são comumente lançados como exceções do tipo BusinessException e tratados pela arquitetura. Esta implementação esta disponível apenas para telas de detalhe, a tela de listas ainda não possui tal funcionalidade.
  • Série de valores para elementos do tipo combobox, multipicker etc, devem são informadas no arquivo de internacionalização, desta forma perdendo a possibilidade de oferecer configurações para o usuário

 

 

Bloco de código
languagejava
model.period.rule.values.1 = r|Revoked
  model.period.rule.values.2 = g|Granted 

 


  • Internacionalização é baseada no idioma do navegador e não em um perfil de usuário configurado