Rodrigo Régis Palmeira
• Brasiliense
• Chefe do Serviço de Desenvolvimento de
Soluções do TCDF
• Na área de TI desde 2003
• Full Stack
• DevOps
regisnew
Slide 3
Slide 3 text
Motivação
Julho de 2017 - CGTI questiona a ausência de previsão no
orçamento para melhoria do sistema de pesquisa textual
do TCDF.
Slide 4
Slide 4 text
O que os usuários tinham?
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
O que os usuários queriam?
Slide 7
Slide 7 text
Estudo de soluções
Slide 8
Slide 8 text
Implementação
• Visita à outros órgãos
• Definimos as tecnologias a serem utilizadas
• Iniciamos o desenvolvimento em setembro de 2017
Slide 9
Slide 9 text
Apache Tika
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
● Desenvolvido pela Elastic
● + de 200 plugins para conexão em diversas
fontes
● Input -> Filter -> Output
● Empilhável
Logstash
Slide 12
Slide 12 text
ElasticSearch
● Apache Lucene Based;
● API REST
● Distribuído em cluster
● Escalável
● Big Data
● Quem usa:
○ Google, GitHub, Twitter, SoundCloud, Yelp e TCDF
Slide 13
Slide 13 text
● Desenvolvido pela Elastic
● Apresentação de dados indexados no
ElasticSearch
● Muito utilizado para análise de log’s
Kibana
React
● Criado pelo Instagram (mantido pelo
Facebook)
● Lib JavaScript para frontend
● Web Components
● Virtual-DOM
● JSX
Slide 16
Slide 16 text
Por que React?
Slide 17
Slide 17 text
Docker
● Portabilidade;
● Versionamento;
● Uniformidade;
● Imutabilidade;
● Automatização de implantação;
● Escalável;
● Orquestração de ambientes;
Slide 18
Slide 18 text
Ecossistema antes do Busca
SIGA
CAS
ETCDF
Slide 19
Slide 19 text
Ecossistema depois do Busca
SIGA
ETCDF - API
BUSCA - API
LOGSTASH KIBANA
ETCDF
CAS
BUSCA - FRONTEND
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
No content
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
Dashboad Kibana
Slide 25
Slide 25 text
Próximos passos
• Dicionário de sinônimos
• Autenticação - JWT + LDAP
• Pesquisa interna (aproximadamente 2 milhões de
documentos)
• Restrição de acesso (sigilo)
• Maior detalhamento do processo
• PWA (aprimoramento)