Expresso 3 - um caso de sucesso do PHP no governo
-
Upload
flavio-lisboa -
Category
Technology
-
view
1.263 -
download
2
description
Transcript of Expresso 3 - um caso de sucesso do PHP no governo
Expresso 3 - um caso de sucesso
do PHP no governo
Flávio Gomes da Silva Lisboa
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.
A EMPRESA
A EMPRESA
Presença Nacional
11 RegionaisBrasília, Belém, Fortaleza, Recife, Salvador, Belo Horizonte, Rio de Janeiro, São Paulo, Curitiba, Florianópolis e Porto Alegre
17 Escritórios
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)
● 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
Outros serviços● Housing
● Hosting
● Colocation
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
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.
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çãoControla 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.
SOLUÇÕES SERPRO
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.
●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
Histórico
Histórico
phpGroupware
EGroupware
Expresso
Tine 2.0
Expresso 3
Expresso 2
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
Zend Framework
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 – FuncionalidadesCatálogo de endereços
Expresso 3 – FuncionalidadesEmail
Expresso 3 – Funcionalidades
Calendário
Expresso 3 – FuncionalidadesMensageria Instantânea
Expresso 3 – FuncionalidadesWebconferência
Expresso 3 – Funcionalidades
Tarefas
Expresso 3 – Funcionalidades
Calendário
Contatos
Serviço CalDAV/CardDAV
Cliente Thunderbird
Acesso e manutenção de:✗ Contatos no catálogo✗ Eventos na agenda✗ Tarefas
Expresso 3 – FuncionalidadesServiço de Mobilidade
ActiveSync
CalendárioContatos
e-mailsTarefas
SmartphonesTablets
Outros dispositivos compatíveis
Celulares
Arquitetura do Software
Arquitetura do Software
Arquitetura do Software
● 3 ambientes de produção
● 58 servidores reais
● 150 servidores virtuais
● 35 mil contas de usuários
Infraestrutura Expresso V2
Ministério dos Transportes
Ministério do Planejamento
Ministério do Meio
Ambiente
Ministério da Fazenda
ICMBio
DNIT
Valec PGFN CARF
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 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º.
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á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]
Forum
Conhecendo o Projeto Tine20
Mantis Bug Tracker
[https://forge.tine20.org/mantisbt/view_all_bug_page.php]
Conhecendo o Projeto Tine20
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 task5353
Implementação a funcionalidade ou correção
git add newfile
git add changedfile
git commitMantis#0008280 Expresso#5353Change to use session instead of zend cache
git push review HEAD:refs/for/master
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Gerrit/Jenkins
Processo de Desenvolvimento doExpressoV3
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 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.
De: NovaPara: 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:
De: ExecuçãoPara: Revisão
● O desenvolvedor terminou a tarefa!
● 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.
Tarefa em Revisão
De: RevisãoPara: Integrar
● Após as devidas aprovações, a tarefa (código) pode ser integrada com o branch expressov3.
De: IntegrarPara: Teste
● Depois de integrada, a tarefa passa por mais uma validação com uma equipe especializada em teste.
Testes funcionais manuaisSelenium – Testes
funcionais automatizados
De: TestePara: 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.
● 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.
Tarefa Rejeitada