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 objeto: novamente 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, são informadas no arquivo de internacionalização, desta forma perdendo a possibilidade de oferecer configurações para o usuário: