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.
2. Expresso 3 - um
caso de sucesso
do PHP no
governo
Flávio Gomes da Silva Lisboa
3. 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.
4. 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
5. 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
6. 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
7. 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.
8. 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.
9. 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.
10. 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
●
25. 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
29. 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º.
32. 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]
48. 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.
●
49. 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:
●
51. 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.
●
53. 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
54. 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.
●
55. 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.