wiki:Guias/HowTo/PropostaExpresso
Last modified 8 years ago Last modified on 04/13/11 18:06:19

Ferramenta para modelagem de diagramas no Trac: PlantUML (http://plantuml.sourceforge.net/ - Aqui você encontra vários exemplos de diagramas)

Proposta de uma nova arquitetura para o Expresso

by Prognus

Atencao!

esse documento vai ser escrito de forma incremental.

Num primeiro momento esse documento vai estar escrito em topicos e bastante informal,

essa primeira fase, a ideia eh angariar fontes de informacao e ideias de todos que quiserem contribuir.

argumentem, contastem e ponham seus pontos de vista!

Objetivo

Essa parte do documento tem um enfoque mais politico.

Creio que deva ser bem discutida dentro da equipe antes de formula-la.

Quem tiver mais nocao do contexto politico, por favor, deem um norte nessa sessao.

Contexto Geral

Trecho aqui que descreve o passado do expresso. Ae abaixo tem a versao da Serpro.

O Expresso trata-se de uma suíte de comunicação baseada no EgroupWare que teve como base de de código o phpGroupware, nascido por volta do ano 2000, com a realidade tecnológica da época.
Em 2000 teve início do desenvolvimento do projeto  phpgroupware , baseado no webdistro;

Em 2003 o egroupware nasceu de um novo fork. eGroupware teve uma grande comunidade comparado com seus predecessores;

Em 2005 foi adotado o consórcio egroupware na comunidade e estabelecendo eleições e administração;

Em 2004/2005 teve inicio o  Expresso baseado no Egroupware v.1.0.9;

Em 2007 fora criada a comunidade Expresso;

Os projetos Egroupware e Expresso rumaram distintamente;

Em 2008 teve início o  projeto Tine 2.0. separando-se do Egroupware baseado em nova estrutura tecnológica e nova realidade Web e novo framework;
  • No meu ponto de vista, nao vejo razao pra explanar sobre o passado do Expresso em um documento de inovacao.

Problemas do Atual Expresso

Esses sao os problemas ja levantados pelo documento do Serpro:

  • Estrutura tecnológica baseada em API idealizada em 2000;
  • Baseado em outra realidade de internet;
  • Baseado fortemente no conceito de processamento no Server ;
  • Avanço em funcionalidades que incompatibilizaram upgrade de versão em comunidade internacional;
  • Forte acoplamento das camadas, causando grande impacto na manutenção;
  • Api não disponibiliza desacoplamento da Aplicação, resultando em esforço para integração;
  • Módulos desenvolvidos por equipes independentes sem requisitos de unidade de estruturas físicas ou reutilização de classes;
  • Segurança ficou gravemente prejudicada em função do não acompanhamento da comunidade maior ou de framework que absorvesse na época estas correções;
  • A comunidade egroupware incorporou o conceito do etemplate para tratamento das interfaces com usuários na tentativa de resolver vulnerabilidades;
  • Bugs, que passado algum tempo são reintroduzidos;
  • Foi reimplementado do Egroupware considerando premissas antigas;
  • As permissões baseadas nas classes/tabela guardam permissões misturadas de difícil manipulação;
  • Seu Framework é desconhecido pela maioria dos desenvolvedores PHP, assim como o seu criador Egroupware, em consequencia há necessidade de especialização para domínio da API que suporta a solução.
  • codebase interno construído ficou muito difícil para mante-lo e estende-lo de um modo econômico.
  • Os conceitos como "testes de unidade" não foram possíveis, porque as classes foram atadas a muito uma a outra.
  • O eTemplate inspeciona qualquer dado recebido do lado de cliente. Ele sabe que dados ele envia ao cliente e ele sabe que dados esperar de volta do cliente.
  • 90 % do tempo gasto para gerar o conteúdo de HTML necessário pelo framework eGroupWare e eTemplate. A lógica de aplicação , toma só 10 % do tempo gasto;
  • A reimplementação sempre irá esbarar em premissas antigas, recaindo no mesmo erro;
  • A mesma classe/tabela guarda os direitos que o usuário pode usar que aplicações, que membro de usuário do qual grupo e que usuários realmente compartilham que dados.
  • Falta manejo de timezone próprio. O eGroupWare não tem nenhum tratamento sobre timezones.
  • Toda manutenção é impactante em função da estrutura construída com o passar dos tempos;

O Expresso que queremos

Proposta de Uma Nova Arquitetura

Uma visao Geral

Exemplo de diagrama de classe:

Este é um título terciário

texto desta seção

Attachments