Expresso 3 - um
caso de sucesso
do PHP no
governo
Flávio Gomes da Silva Lisboa
A EMPRESA

Empresa pública vinculada ao
Ministério da Fazenda.
O negócio do Serpro é a prestação de
serviços em Tecnologia...
A EMPRESA

Presença Nacional
11 Regionais
Brasília, Belém, Fortaleza, Recife,
Salvador, Belo Horizonte, Rio de
Janeiro, Sã...
CENTROS DE DADOS
●

●

●

●

●

●

Utilização de tecnologias para contingência de
recursos alocados aos serviços de missão...
REDE DE COMUNICAÇÃO

●

●

●

Infraestrutura de última geração,
com abrangência nacional
Transmissão e disponibilização
de...
SOLUÇÕES SERPRO

Rapidez, economia e transparência para a realização de compras e contratação
de serviços via pregão eletr...
SOLUÇÕES SERPRO

Informatização dos portos brasileiros, o que proporcionou maior rapidez, economia e
segurança na estada d...
ADMINISTRAÇÃO DE CORREIO ELETRÔNICO

Solução de comunicação baseada em software livre que reúne
e-mail, agenda, catálogo d...
Histórico
2000 → Criação do phpGroupware

●

2003 → Criação do EGroupware

●

2004 → Criação do Expresso pela CELEPAR

●

...
Histórico
2013
2012

Expresso 3

2011
2010

Expresso 2

2009
2008

Tine 2.0

2007
2006

Zend Framework

2005

Expresso

20...
Comunidade ExpressoV2

Atualmente o Expresso V2 é utilizado por 525.387
usuários em 167 empresas/instituições.
Comunidade ExpressoV3
http://comunidadeexpresso.serpro.gov.br
Expresso 3 – Funcionalidades

Catálogo de endereços
Expresso 3 – Funcionalidades

Email
Expresso 3 – Funcionalidades

Calendário
Expresso 3 – Funcionalidades

Mensageria Instantânea
Expresso 3 – Funcionalidades

Webconferência
Expresso 3 – Funcionalidades

Tarefas
Expresso 3 – Funcionalidades

Serviço CalDAV/CardDAV
Acesso e manutenção de:
✗ Contatos no catálogo
✗ Eventos na agenda
✗ ...
Expresso 3 – Funcionalidades

Serviço de Mobilidade

Tablets

Tarefas

Smartphones

e-mails
ActiveSync

Contatos Calendári...
Arquitetura do Software
Arquitetura do Software
Arquitetura do Software
Infraestrutura Expresso V2
●

3 ambientes de produção

●

58 servidores reais

●

150 servidores virtuais

●

35 mil conta...
Infraestrutura V2
Infraestrutura V3

~2GB
Infraestrutura V3
Atende mais de 11 mil funcionários
Projeção de adoção
http://www.planalto.gov.br/ccivil_03/_Ato2011-2014/2013/Decreto/D8135.htm

Art. 1º As comunicações de d...
Projeção de adoção
Projeção de adoção
Conhecendo o Projeto Tine20
●
●

●

Tine: Tine Is Not E-GroupWare!
Motivação sobre o eGroupWare 1.4:

A interface do usuá...
Comunidade Tine20

[http://www.tine20.org/home.html]
Conhecendo o Projeto Tine20
Live demo: [https://demo.tine20.net/]
Conhecendo o Projeto Tine20
Forum
Conhecendo o Projeto Tine20
Mantis Bug Tracker

[https://forge.tine20.org/mantisbt/view_all_bug_page.php]
Ciclo de Desenvolvimento - Comunidade
GIT
git clone -o review https://gerrit.tine20.org/tine20/p/tine20.git
git checkout master
git pull
git checkout -b task535...
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Processo de Desenvolvimento do
ExpressoV3
Redmine: Estados de uma Tarefa
Principais estados de uma tarefa no redmine:
Nova Tarefa

●

O título deve ser significativo.

No caso de bug, inserir um passo a passo na
descrição para que o desenvo...
De: Nova
Para: Execução
●

O desenvolvedor entendeu a tarefa!

Caso não a tenha entendido, deve esclarecer a
dúvida atravé...
De: Execução
Para: Revisão

●

O desenvolvedor terminou a tarefa!
Tarefa em Revisão

Um segundo desenvolvedor faz uma revisão do
código e um pré-teste do que foi requisitado na
tarefa.
●

...
De: Revisão
Para: Integrar

Após as devidas aprovações, a tarefa (código)
pode ser integrada com o branch expressov3.
●
De: Integrar
Para: Teste

Depois de integrada, a tarefa passa por mais
uma validação com uma equipe especializada em
teste...
De: Teste
Para: Fechada

Depois de integrada e testada, a tarefa pode ser
fechada.
●

Para fins de histório e consulta, o ...
Tarefa Rejeitada

●

O bug não pode ser reproduzido.

●

Inviabilidade técnica.

●

Sugestão de funcionalidade rejeitada.
...
Comunidade ExpressoV3

Perguntas?

Flávio Gomes da Silva Lisboa
flavio.lisboa@serpro.gov.br
Expresso 3 - um caso de sucesso do PHP no governo
Próximos SlideShares
Carregando em…5
×

Expresso 3 - um caso de sucesso do PHP no governo

1.854 visualizações

Publicada em

O Expresso 3 é uma suíte de comunicação baseada em Zend Framework e ExtJS, que opera em um ambiente com mais de dez mil usuários simultâneos. A palestra irá apresentar a arquitetura da aplicação, infraestrutura de produção e o modelo de desenvolvimento colaborativo internacional que inovou a forma de trabalhar com software livre dentro do SERPRO.

Publicada em: Tecnologia
0 comentários
7 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.854
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
18
Comentários
0
Gostaram
7
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Expresso 3 - um caso de sucesso do PHP no governo

  1. 1. Expresso 3 - um caso de sucesso do PHP no governo Flávio Gomes da Silva Lisboa
  2. 2. A EMPRESA Empresa pública vinculada ao Ministério da Fazenda. O negócio do Serpro é a prestação de serviços em Tecnologia da Informação para o setor público. A empresa desenvolve soluções que, além de contribuírem para a modernização e eficácia da administração pública, buscam estreitar a relação entre cidadãos e Governo.
  3. 3. A EMPRESA Presença Nacional 11 Regionais Brasília, Belém, Fortaleza, Recife, Salvador, Belo Horizonte, Rio de Janeiro, São Paulo, Curitiba, Florianópolis e Porto Alegre 17 Escritórios
  4. 4. CENTROS DE DADOS ● ● ● ● ● ● Utilização de tecnologias para contingência de recursos alocados aos serviços de missão crítica Balanceamento de carga como instrumento de gestão de alta disponibilidade e desempenho Redundância e contingência de ambientes de gerenciamento (hardware e software) Espelhamento de dados, automação de processos de produção, monitoração e gerenciamento, além de salas cofres 3 Data Centers: SPO, BSB e RJO 2 Serviços - Mainframe (19.719 MIPS) ● ● ● ● ● Outros serviços ● Housing ● Hosting ● Colocation ● Mais de 1.400 servidores de plataforma baixa (Risc, Cisc e Epic) entre máquinas físicas e virtuais 6 Fitotecas automatizadas com capacidade de 2 petabytes de armazenamento 1.353 petabytes de armazenamento (discos) sendo 945TB em SPO, 51TB no RJO e 357TB em BSB 12 bilhões de transações on-line processadas por ano Múltiplos Bancos de Dados (Adabas, DB2, Oracle, SQL Server, My SQL, PostgreSQL, Lotus Notes, BRSearch, MS Accessm Sybase, INFORMIX, ZopePlone) 64.407 Microcomputadores
  5. 5. REDE DE COMUNICAÇÃO ● ● ● Infraestrutura de última geração, com abrangência nacional Transmissão e disponibilização de informações: dados, voz ou imagem, com segurança e confiabilidade Atendimento às necessidades do governo no relacionamento com o cidadão para o uso de seus sistemas de informação
  6. 6. SOLUÇÕES SERPRO Rapidez, economia e transparência para a realização de compras e contratação de serviços via pregão eletrônico. Aumento da competitividade e melhora na gestão dos recursos públicos. Conjunto de sistemas que apoiam o processo de importação e exportação brasileiro. Reforço à segurança, à agilidade no pagamento e recolhimento de tributos e redução no risco de fraudes cambiais e desvios de mercadorias.
  7. 7. SOLUÇÕES SERPRO Informatização dos portos brasileiros, o que proporcionou maior rapidez, economia e segurança na estada dos navios e ordenou as atividades econômicas dos setores exportador e importador do país. As mercadorias que demoravam mais de 15 dias para serem liberadas, passaram a levar em média 5 dias. Renach - Registro Nacional da Carteira de Habilitação Controla a emissão da CNH e todas as informações sobre o condutor, desde sua inscrição como candidato até a suspensão do direito de dirigir. O Registro Nacional de Veículos Automotores (Renavam), sistema que registra toda a trajetória do veículo, também foi desenvolvido pelo Serpro.
  8. 8. ADMINISTRAÇÃO DE CORREIO ELETRÔNICO Solução de comunicação baseada em software livre que reúne e-mail, agenda, catálogo de endereços e mensagens instantâneas de texto e voz. Alta escalabilidade, protocolos abertos, integração com outros sistemas web, mobilidade, baixo custo, independência de fornecedores, plataformas e servidores. A aplicação garante uma comunicação segura, contando com criptografia e ambientes para tráfego e armazenamento próprios do Serpro.
  9. 9. Histórico 2000 → Criação do phpGroupware ● 2003 → Criação do EGroupware ● 2004 → Criação do Expresso pela CELEPAR ● 2007 → Criação do Tine20 ● 2009 → Expresso V2 ● 2011 → Inicio do projeto Expresso V3 ● 2012 → Piloto Expresso V3 ● 2013 → Expresso V3 em produção SERPRO ●
  10. 10. Histórico 2013 2012 Expresso 3 2011 2010 Expresso 2 2009 2008 Tine 2.0 2007 2006 Zend Framework 2005 Expresso 2004 2003 EGroupware 2002 2001 2000 phpGroupware
  11. 11. Comunidade ExpressoV2 Atualmente o Expresso V2 é utilizado por 525.387 usuários em 167 empresas/instituições.
  12. 12. Comunidade ExpressoV3 http://comunidadeexpresso.serpro.gov.br
  13. 13. Expresso 3 – Funcionalidades Catálogo de endereços
  14. 14. Expresso 3 – Funcionalidades Email
  15. 15. Expresso 3 – Funcionalidades Calendário
  16. 16. Expresso 3 – Funcionalidades Mensageria Instantânea
  17. 17. Expresso 3 – Funcionalidades Webconferência
  18. 18. Expresso 3 – Funcionalidades Tarefas
  19. 19. Expresso 3 – Funcionalidades Serviço CalDAV/CardDAV Acesso e manutenção de: ✗ Contatos no catálogo ✗ Eventos na agenda ✗ Tarefas Calendário Contatos Cliente Thunderbird
  20. 20. Expresso 3 – Funcionalidades Serviço de Mobilidade Tablets Tarefas Smartphones e-mails ActiveSync Contatos Calendário Celulares Outros dispositivos compatíveis
  21. 21. Arquitetura do Software
  22. 22. Arquitetura do Software
  23. 23. Arquitetura do Software
  24. 24. Infraestrutura Expresso V2 ● 3 ambientes de produção ● 58 servidores reais ● 150 servidores virtuais ● 35 mil contas de usuários DNIT Ministério dos Transportes Valec PGFN Ministério do Planejamento Ministério da Fazenda ICMBio Ministério do Meio Ambiente CARF
  25. 25. Infraestrutura V2
  26. 26. Infraestrutura V3 ~2GB
  27. 27. Infraestrutura V3 Atende mais de 11 mil funcionários
  28. 28. Projeção de adoção http://www.planalto.gov.br/ccivil_03/_Ato2011-2014/2013/Decreto/D8135.htm Art. 1º As comunicações de dados da administração pública federal direta, autárquica e fundacional deverão ser realizadas por redes de telecomunicações e serviços de tecnologia da informação fornecidos por órgãos ou entidades da administração pública federal, incluindo empresas públicas e sociedades de economia mista da União e suas subsidiárias. § 3º Os programas e equipamentos destinados às atividades de que trata o caput deverão ter características que permitam auditoria para fins de garantia da disponibilidade, integridade, confidencialidade e autenticidade das informações, na forma da regulamentação de que trata o § 5º.
  29. 29. Projeção de adoção
  30. 30. Projeção de adoção
  31. 31. Conhecendo o Projeto Tine20 ● ● ● Tine: Tine Is Not E-GroupWare! Motivação sobre o eGroupWare 1.4:  A interface do usuário era criada no servidor (pior desempenho);  Classes muito “amarradas”, desenvolvimento não modular;  Sem testes unitários, bugs eram frequentemente reintroduzidos. Baseado em duas API:  Zend Framework (PHP);  ExtJS (Javascript). [https://www.tine20.org/wiki/index.php/What_was_wrong_with_eGroupWare_1.x%3F] [https://www.tine20.org/wiki/index.php/Technical_background_of_eGroupWare_2.0]
  32. 32. Comunidade Tine20 [http://www.tine20.org/home.html]
  33. 33. Conhecendo o Projeto Tine20 Live demo: [https://demo.tine20.net/]
  34. 34. Conhecendo o Projeto Tine20 Forum
  35. 35. Conhecendo o Projeto Tine20 Mantis Bug Tracker [https://forge.tine20.org/mantisbt/view_all_bug_page.php]
  36. 36. Ciclo de Desenvolvimento - Comunidade
  37. 37. GIT git clone -o review https://gerrit.tine20.org/tine20/p/tine20.git git checkout master git pull git checkout -b task5353 Implementação a funcionalidade ou correção git add newfile git add changedfile git commit Mantis#0008280 Expresso#5353 Change to use session instead of zend cache git push review HEAD:refs/for/master
  38. 38. Gerrit/Jenkins
  39. 39. Gerrit/Jenkins
  40. 40. Gerrit/Jenkins
  41. 41. Gerrit/Jenkins
  42. 42. Gerrit/Jenkins
  43. 43. Gerrit/Jenkins
  44. 44. Gerrit/Jenkins
  45. 45. Processo de Desenvolvimento do ExpressoV3
  46. 46. Redmine: Estados de uma Tarefa Principais estados de uma tarefa no redmine:
  47. 47. Nova Tarefa ● O título deve ser significativo. No caso de bug, inserir um passo a passo na descrição para que o desenvolvedor possa reproduzir. ● No caso de funcionalidade, linkar na descrição o tópico de dicussão no fórum, a apresentação da proposta da funcionalidade, ou qualquer outro artefato que auxilie no desenvolvimento. ●
  48. 48. De: Nova Para: Execução ● O desenvolvedor entendeu a tarefa! Caso não a tenha entendido, deve esclarecer a dúvida através de telefone, e-mail ou mensageria instantânea. ● Para fins de exemplificação, vamos chamar a tarefa de TASK#999: ●
  49. 49. De: Execução Para: Revisão ● O desenvolvedor terminou a tarefa!
  50. 50. Tarefa em Revisão Um segundo desenvolvedor faz uma revisão do código e um pré-teste do que foi requisitado na tarefa. ● A cópia (pull) deve ser feita sobre o branch atualizado do expressov3. ●
  51. 51. De: Revisão Para: Integrar Após as devidas aprovações, a tarefa (código) pode ser integrada com o branch expressov3. ●
  52. 52. De: Integrar Para: Teste Depois de integrada, a tarefa passa por mais uma validação com uma equipe especializada em teste. ● Selenium – Testes funcionais automatizados Testes funcionais manuais
  53. 53. De: Teste Para: Fechada Depois de integrada e testada, a tarefa pode ser fechada. ● Para fins de histório e consulta, o branch da tarefa não precisa ser removido do repositório intermediário. ●
  54. 54. Tarefa Rejeitada ● O bug não pode ser reproduzido. ● Inviabilidade técnica. ● Sugestão de funcionalidade rejeitada. ● O branch apresentou conflitos. ● O teste falhou. Uma tarefa rejeitada pode ser reaberta para execução ou fechada.
  55. 55. Comunidade ExpressoV3 Perguntas? Flávio Gomes da Silva Lisboa flavio.lisboa@serpro.gov.br

×