Changes between Version 30 and Version 31 of NovoExpresso/ear


Ignore:
Timestamp:
09/22/14 09:54:16 (3 years ago)
Author:
viani
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NovoExpresso/ear

    v30 v31  
    11 
    22= Documento de Arquitetura do Novo Expresso = 
    3 [[BR]] 
    4 [[BR]] 
    5  
    6  
    73 
    84= 1.  Objetivo =   
    9  
    105 
    116   1.1. Proporcionar ao Expresso uma plataforma em que possa evoluir de modo a prover segurança, usabilidade, qualidade, desacoplamento de camadas MVC, principalmente relacionadas a negócio e visão, performance, reaproveitamento de componentes, mobilidade, orientação a serviços e suporte a estrutura de Nuvem. 
     
    138   1.2. Será adotado software TINE20, como base tecnologia para este NOVO EXPRESSO, agregando necessidades ou funcionalidades nesta 
    149 plataforma. 
    15  
    16  
    1710  
    1811= 2. Elementos de software  Significativos e Licenciamentos = 
    1912 
    20 === ExtJS=== 
     13=== ExtJS === 
     14 
    2115     ExtJS   é   um   framework   Javascript   orientado   a   objetos.   Ele   permite   o        controle   de eventos    
    2216     desacoplado das páginas HTML e possui vários  componentes gráficos prontos para uso (widgets).  
     
    2519     Site: http://www.sencha.com/products/extjs [[BR]] 
    2620 
    27 === Zend=== 
     21=== Zend === 
     22 
    2823     Zend Framework é um framework para desenvolvimento de aplicações PHP orientado a objetos e com     
    2924     arquitetura de baixo acoplamento. Pode ser usado para construir toda a estrutura de uma aplicação e    
     
    4035 
    4136 
    42 === Ajam=== 
     37=== Ajam === 
    4338     Ajam   (Asynchronous   Javascript   Asterisk   Manager),   é   tecnologia   disponibilizada   na versão 1.4 do      
    4439     servidor de comunicação por voz Asterisk, para permitir o uso de sua interface de gerenciamento por HTTP,    
     
    4944     Site: http://www.asterisk.org/asterisknow/developers/­guide 
    5045 
    51 === GeoExt=== 
    52      GeoExt é um framework Javascript para sistemas de informação geográfica. Ele faz uso de ExtJS e OpenLayers. [[BR]] 
     46=== !GeoExt === 
     47 
     48     !GeoExt é um framework Javascript para sistemas de informação geográfica. Ele faz uso de ExtJS e !OpenLayers. [[BR]] 
    5349 
    5450     Versão utilizada: não informada  
     
    5652     Site: http://www.geoext.org  
    5753 
    58 === Hash=== 
     54=== Hash === 
     55 
    5956     Classes para criptografia de senhas.  
    6057 
    6158=== HTMLPurifier=== 
     59 
    6260     HTMLPurifier   é   uma   biblioteca   de   filtros   escrita   em   PHP   compatível   com   padrões HTML.   Ela        
    6361     remove   código   malicioso   enviado   em   tentativas   de   ataque   XSS   (Cross­Site Scripting), utilizando     
     
    6967     Site: http://htmlpurifier.org  
    7068 
    71 ===  OpenDocument === 
     69=== !OpenDocument === 
     70 
    7271     Classes para criação de documentos ODT e ODS.  
    7372  
    74 === OpenLayers=== 
     73=== !OpenLayers === 
     74 
    7575     Framework Javascript para mapeamento dinâmico (construção de mapas geográficos  em tempo real) em páginas Web. [[BR]] 
    7676 
     
    8080 
    8181=== PHPExcel=== 
     82 
    8283     Conjunto de classes PHP que permitem gravar e ler arquivos de diferentes formatos,como Excel 2007, PDF e HTML. [[BR]] 
    8384 
     
    115116     de documentos em redes móveis.  
    116117 
    117  
    118  
    119  
    120  
    121  
    122118= 3. Descrição da Arquitetura = 
    123119 
     
    129125      Descrição das camadas : [[BR]] 
    130126 
    131         Camada de modelo está dentro da pasta Tinebase/Model. [[BR]] 
    132  
    133         Camada de controle está dentro da pasta Tinebase/Controller. [[BR]] 
     127        Camada de modelo está dentro da pasta !Tinebase/Model. [[BR]] 
     128 
     129        Camada de controle está dentro da pasta !Tinebase/Controller. [[BR]] 
    134130 
    135131        Camada de visão está dentro da pasta Tinebase/views. [[BR]] 
    136  
    137132 
    138133      A camada de visão é baseada em arquivos PHP que produzem conteúdo dinâmico em HTML e fazem uso intensivo de Javascript, 
     
    142137[[Image(camada1.jpg,,center)]] 
    143138 
    144  
    145139=  4. Padrão Arquitetural =  
    146  
    147  
    148140 
    149141==== 4.1.Single Page Application (SPA). ==== 
     
    154146          de   organização  e segurança.  
    155147 
    156  
    157  
    158148==== 4.2. ISO-13407(processo voltado para usuários) e RIA(rich internet application)==== 
    159149 
    160150        A navegação nos módulos do sistema será padronizada,baseada sempre no layout  abaixo:[[BR]] 
    161151 
    162  
    163152[[Image(layout.jpg,,center)]] 
    164  
    165153 
    166154==== 4.3. Direitos e Privilégios ==== 
     
    174162        Um container  pode ser um addresbook pessoal ou compartilhado.  
    175163        Os grants  são atribuídos ao container e não para os registros de dados.[[BR]] 
    176   
    177164 
    178165   O Novo Expresso suporta conceder privilégios:[[BR]] 
     
    186173       Diagrama Entidade Container 
    187174 
    188  
    189175[[Image(Egwbase_Record_Container.png,,center)]] 
    190176 
     
    200186    * Admin (administrar esta aplicação) 
    201187 
    202  
    203  
    204 ==== 4.3. Registros e RecordSet ==== 
     188==== 4.3. Registros e !RecordSet ==== 
    205189 
    206190     NO php5, é possível escrever código  com o paradigma de Programação Orientado Objeto. Uma das conseqüências ao escrever o código 
    207191     com  o paradigma OOP é, que o transporte  de dados não é um array. 
    208192 
    209      No NovoExpresso usamos objetos como transporte de dados. Chamamos a entidade de dados de  registro e chamamos a coleta de muitos 
    210      registros de RecordSet.  
     193     No NovoExpresso usamos objetos como transporte de dados. Chamamos a entidade de dados de registro e chamamos a coleta de muitos 
     194     registros de !RecordSet.  
    211195     Exemplificando, uma única conta, evento, contatoou e-mail, por exemplo, é um registro enquanto que um grupo de contas, uma lista 
    212      de calendário completo ou uma caixa de entrada é um RecordSet.  
     196     de calendário completo ou uma caixa de entrada é um !RecordSet.  
    213197 
    214198     * Tinebase_Record_Abstract  
     
    218202     registro com métodos necessários para filtrar e validar entrada do usuário.  
    219203 
    220      * Tinebase_Record_RecordSet  
    221  
    222      O RecordSet é o mapeamento de dados  para conjuntos de dados. É importante perceber a sua tarefa como sendo apenas um veículo para 
    223      não ter nada para com questões agrupamento , ou AccessControl.  
     204     * Tinebase_Record_!RecordSet  
     205 
     206     O !RecordSet é o mapeamento de dados  para conjuntos de dados. É importante perceber a sua tarefa como sendo apenas um veículo para 
     207     não ter nada para com questões agrupamento, ou !AccessControl.  
    224208     A relação entre os registros  é tratada por  ACL Egwbase_Record_Container. 
    225209 
    226      * Diagrama de classes Record e RecordSet 
     210     * Diagrama de classes Record e !RecordSet 
    227211 
    228212 
     
    243227=    JAMAIS SERÁ GERADO CÓDIGO HTML NA CAMADA DE NEGÓCIOS  = 
    244228 
    245  
    246229[[Image(soa.jpg,,center)]] 
    247230 
    248  
    249  
    250231==== 5.1.JSON/RPC para comunicação com outras aplicações, independente de plataforma.==== 
    251232 
    252233==== 5.2.SyncML/OMA''' – Para dispositivos móveis.==== 
    253  
    254  
    255234 
    256235= 6. Topologia  da Infraestrutura = 
     
    263242   A camada que trata dos backends  será flexível suficiente para prover a troca de serviços, de modo configuráveis:[[BR]] 
    264243 
    265  
    266244==== Serviços LDAP ====  
    267        Poderão acoplar-se qualquer serviço que tenha suporte ao padrão LDAP, desde OpenLdap, RHDS,Novell ou Ad(Windows). 
     245       Poderão acoplar-se qualquer serviço que tenha suporte ao padrão LDAP, desde !OpenLdap, RHDS,Novell ou Ad(Windows). 
    268246==== Banco de dados ====  
    269247       Deverá suportar Mysql(default), podendo usar Postgresql ou mesmo Oracle. 
     
    273251       Suporte a Postfix ou similar. 
    274252 
    275  
    276  
    277  
    278253= 7. Arquitetura disponível em Nuvem = 
    279254