Colab - Servidor de Integração de Softwares HTTP
-
Upload
sergio-oliveira -
Category
Technology
-
view
63 -
download
6
Transcript of Colab - Servidor de Integração de Softwares HTTP
ColabServidor de Integração de Softwares HTTP
about.me@seocam (aka Sergio)
#pai #empreendedor #programador #pesquisador #mestrando #python
#softwarelivre #geek
O que?
O que?
Colab
Colab?
Colab?
Colab!
Conteúdo● Interlegis
● Evolução do Colab
● Portal do Software Público Brasileiro
● Colab 2015
Programa Interlegis
● Projeto criado em 1997
● Piloto nascido dentro do PRODASEN
● Baseado na Tese de Doutorado○ Prof. Armando Roberto Cerchi Nascimento
Origem do Interlegis
● Programa Interlegis iniciado em 1999
● Orçamento do BID
● Execução pelo Senado Federal
Origem do Interlegis
ObjetivosApoiar o processo de modernização do Poder Legislativo Brasileiro, em suas instâncias federal, estadual e municipal:
● Aumentar a eficiência e competência das Casas Legislativas (e-parlamento)
● Melhorar a comunicação e o fluxo de informação entre os legisladores (e-governo)
● Promover a participação cidadã nos processos legislativos (e-democracia)
Perspectiva Temporal
Pilares● Comunicação
● Educação
● Informação
● Tecnologia
Mas…
O Interlegis não "escala" sozinho
O governo não "escala" sozinho
Comunidade de Prática
"Grupo de pessoas que compartilha um assunto, uma série de problemas ou a paixão sobre um tópico, e aprofundam
seus entendimentos e conhecimento nesta área para interação em uma mesma base."
Hubert Saint-Orange e Debra Wallace –Leveraging Communities of Practice for Strategic Advantage
Colab - PropósitoUm ambiente que mantém viva uma comunidade agrega três valores:
1. Acesso ao conhecimento existente
2. Troca de conhecimento
3. Criação de novos conhecimentos
Em 2004
Uma lista de discussão (mailman)
Em 2005
Uma instância do TracMúltiplas listas de discussão
Em 2010
Quatro instâncias do TracMúltiplas listas de discussãoServidor de Chat (XMPP)
Integrados!
Integrados?Really?!
Em 2012
Criada uma camada integradora que passa a ser conhecida como Colab.
● URL única● Mesmo usuário● Busca Integrada● Linha do tempo integrada
Wayback Machine Demo (se a conexão permitir…)
http://web.archive.org/web/20120204111641/http://colab.interlegis.leg.br/
Em 2012
Integrados... mas pode ser melhor!
Em 2013Camada de integração evoluída:
● Single Sign-On○ Controle de acessos pela interface Web
● Interface Integrada
● Busca Integrada
● Chat Integrado
● Gameficação (precária =)
Colab 2013 - Tecnologias● Trac - Ambiente de colaboração (Python)● Mailman - Listas de E-Mail (Python)● OpenFire - Servidor de Chat (Java)● Apache Solr - Motor de buscas (Java)● Colab (Python)
○ Camada Integradora ○ Histórico de e-mails○ Agregador de Blogs○ Cliente de buscas
● Converse.js - Cliente de Chat (Javascript)● Mozilla Persona - Login Federado (Javascript)● e mais...
Colab 2013Muito legal!
Mas…
Colab 2013Muito legal!
Mas…
O que é o Colab?!
Colab 2013Muito legal!
Mas…
O que é o Colab?!
Crise de identidade!
Colab 2013Muito legal!
Mas…
O que é o Colab?!
Crise de identidade!
Portal do Software Público Brasileiro (PSPB)Plataforma de colaboração para produção de
Softwares Livres* utilizados por orgãos governamentais.
● Criado em 2007● Projeto do Ministério do Planejamento Organização
e Gestão (MPOG)● Em 2015 hospeda aproximadamente 60 comunidades
de Software Público
Evolução do PSPBNovo Portal do Software Público
● Parceria entre UnB e MPOG
● Composto por ferramentas livre integradas:○ Mailman○ Noosfero○ Gitlab
Como Integrar?
Como Integrar?
Colab!
Como Integrar?
Mas o que é o Colab?
a) Histórico do Mailmanb) Agregador de blogsc) Chatd) Servidor de Integraçãoe) Todas as anteriores
Colab em 2015
Servidor de Integração.
ObjetivoProver ao usuário final uma experiência unificada com o
mínimo de alterações possíveis em cada ferramenta integrada.
Integrações
● Visual
● Dados
● Autenticação
Base de ArquiteturaO Colab atua como Proxy Reverso
django-revproxyUma aplicação Django (Python) de proxy reverso utilizada pelo colab.
Desenvolvida para o Colab mas atualmente utilizada por diversos outros projetos.
1656 downloads em abril de 2015.
http://django-revproxy.readthedocs.org/
django-revproxy
AutenticaçãoFuncionalidade de Single Sign-On implementada no django-revproxy
Funcionalidade consiste em basicamente adicionar um cabeçalho HTTP na requisição. REMOTE_USER definido na RFC 3875.
VisualUtiliza uma funcionalidade de transformação de documentos XSLT implementada no django-revproxy.
Utiliza uma biblioteca externa na implementação: Diazo
http://diazo.org/
Visual
DadosBanco de dados com modelo de dados de cada ferramenta integrada.
Importação de dados realizada periódicamente (atualmente minuto a minuto)
Quando um dado novo é importado um sinal é emitido permitindo que outras aplicações reajam á mudanças (padrão observer)
DadosAtualmente em fase de implementação.
Desafios:○ Manutenabilidade alta○ Facilidade de integrar novas ferramentas○ Reação rápida de cada ferramenta integrada○ O que fazer com protocolos não HTTP
● Tema do meu mestrado =)
Oportunidade!Todas as ferramentas integradas, integradoras e bibliotecas utilizadas são software livre.
Se tiver interesse em se envolver no desenvolvimento de qualquer um dos projetos me procurem!
Referências / Links● Jean Ferri
○ http://pt.slideshare.net/jeanferri/interlegis-comunidades○ http://pt.slideshare.net/jeanferri/interlegis-legislativo-moderno-e-
integrado
● Interlegis na wikipedia: http://pt.wikipedia.org/wiki/Interlegis
● Portal Interlegis: http://www.interlegis.leg.br
● The Internet Archive: http://web.archive.org/
Referências / Links● Colab Interlegis: http://colab.interlegis.leg.br/
● Novo Portal do Software Público Brasileiro: ○ https://beta.softwarepublico.gov.br/
● Código fonte do Colab:○ http://beta.softwarepublico.gov.br/gitlab/softwarepublico/colab○ https://github.com/colab/colab
Obrigado!
Contato: [email protected]
Slides no slideshare.
Github, Gitlab, Twitter: @seocam
Esta obra está licenciada com uma Licença Creative Commons Atribuição 4.0 Internacional.