Arquitetura/Padrao

De Wiki Expresso V3
Ir para: navegação, pesquisa

1) Single Page Application (SPA).

Servido por meio de uma única URL, o arquivo index.php. O entendimento do fluxo da aplicação simplificado, uma vez que só há uma porta de entrada para as requisições. Pode-se dizer que esse modelo SPA implementa o padrão de projeto Front Controller, o que resolve problemas de organização e segurança.


2) ISO-13407 (processo voltado para usuários) e RIA (Rich Internet Application)

A navegação nos módulos do sistema será padronizada,baseada sempre no layout abaixo:

Navegacao-Modulos.jpg

3) Direitos e Privilégios

  • Privilégios

Os privilégios no Novo Expresso são atribuidos via “grants”. Grant é o mecanismo para acesso a um conjunto de dados, denominado container. Um container pode ser um contato, um calendário ou tarefa, por exemplo. Qualquer tipo e conjunto de registro é vinculado a um container. Um container pode ser um addresbook pessoal ou compartilhado. Os grants são atribuídos ao container e não para os registros de dados.

O Novo Expresso suporta conceder privilégios:

- Read (ler os registros de dados existentes de um container);

- Add (adicionar novos registros de dados em um container);

- Modificar (modificar os registros de dados existentes no container);

- Delete (excluir registros de dados armazenados neste container);

- Admin (gerenciar subsídios para o container)


  • Diagrama Entidade Container
Diagrama-Entidade-Container.png


  • Direitos – Rights

Controla os direitos de quais partes do Novo Expresso serão usadas pelo usuário. Os direitos permitem que o administrador controle, qual o usuário pode executar qual a aplicação e quais as partes (parte de administração, por exemplo) desta aplicação o usuário pode usar.

Suporta os seguintes direitos:

- Run (executar este aplicativo);

- Admin (administrar esta aplicação).


4) Registros e RecordSet

No php5, é possível escrever código com o paradigma de Programação Orientado Objeto. Uma das conseqüências ao escrever o código com o paradigma OOP é, que o transporte de dados não é um array.

No NovoExpresso usamos objetos como transporte de dados. Chamamos a entidade de dados de registro e chamamos a coleta de muitos registros de RecordSet?. Exemplificando, uma única conta, evento, contatoou e-mail, por exemplo, é um registro enquanto que um grupo de contas, uma lista de calendário completo ou uma caixa de entrada é um RecordSet.

  • Tinebase_Record_Abstract

Para simplificar o desenvolvimento, há uma implementação abstrata do Tinebase_Record_Interface chamado Tinebase_Record_Abstract no pacote Tinebase que deve cobrir as necessidades da maioria das aplicações. As intenções desta classe é para disponibilizar o registro com métodos necessários para filtrar e validar entrada do usuário.

  • Tinebase_Record_RecordSet

O RecordSet é o mapeamento de dados para conjuntos de dados. É importante perceber a sua tarefa como sendo apenas um veículo para não ter nada para com questões agrupamento, ou AccessControl. A relação entre os registros é tratada por ACL Egwbase_Record_Container.


  • Diagrama de classes Record e RecordSet


Diagrama-Classes-Record-RecordSet.png
Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas