arquitetura da incubadora da fapesp - ime-uspis/tidia/incubadora-sdsl/arquitetura.pdf · 1...
TRANSCRIPT
Arquitetura da Incubadora da FAPESP
http://incubadora.fapesp.br
Nota: Nesta apresentacao, com o termo software queremos
sempre dizer Software Livre.
1 Arquitetura de Software
1.1 Consideracoes Iniciais
Como deve ser a arquitetura da Incubadora? Nas conversas
iniciais, surgiram perguntas como:
1 Arquitetura de Software
1.1 Consideracoes Iniciais
Como deve ser a arquitetura da Incubadora? Nas conversas
iniciais, surgiram perguntas como:
• Quais servicos devem ser implementados?
1 Arquitetura de Software
1.1 Consideracoes Iniciais
Como deve ser a arquitetura da Incubadora? Nas conversas
iniciais, surgiram perguntas como:
• Quais servicos devem ser implementados?
• A equipe deve desenvolver software proprio, ou utilizar
solucoes ja existentes?
1 Arquitetura de Software
1.1 Consideracoes Iniciais
Como deve ser a arquitetura da Incubadora? Nas conversas
iniciais, surgiram perguntas como:
• Quais servicos devem ser implementados?
• A equipe deve desenvolver software proprio, ou utilizar
solucoes ja existentes?
• Devemos apostar em ferramentas em voga atualmente,
como web services e application servers?
1 Arquitetura de Software
1.1 Consideracoes Iniciais
Como deve ser a arquitetura da Incubadora? Nas conversas
iniciais, surgiram perguntas como:
• Quais servicos devem ser implementados?
• A equipe deve desenvolver software proprio, ou utilizar
solucoes ja existentes?
• Devemos apostar em ferramentas em voga atualmente,
como web services e application servers?
• Seria aceitavel ficarmos presos a uma determinada
solucao? Podemos ter varios sistemas operando em
conjunto?
1.2 Requisitos
Examinando as perguntas anteriores, pensamos em algumas
ideias que seriam interessantes para o projeto:
1.2 Requisitos
Examinando as perguntas anteriores, pensamos em algumas
ideias que seriam interessantes para o projeto:
• Em princıpio, nao vamos iniciar novos projetos de
software. Preferivelmente utilizaremos os que ja
existem, colaborando com seu desenvolvimento.
1.2 Requisitos
Examinando as perguntas anteriores, pensamos em algumas
ideias que seriam interessantes para o projeto:
• Em princıpio, nao vamos iniciar novos projetos de
software. Preferivelmente utilizaremos os que ja
existem, colaborando com seu desenvolvimento.
• A direcao do projeto podera mudar rapidamente,
conforme feedback da comunidade. Ou seja, ele deve
evoluir segundo as necessidades de seus usuarios.
1.2 Requisitos
Examinando as perguntas anteriores, pensamos em algumas
ideias que seriam interessantes para o projeto:
• Em princıpio, nao vamos iniciar novos projetos de
software. Preferivelmente utilizaremos os que ja
existem, colaborando com seu desenvolvimento.
• A direcao do projeto podera mudar rapidamente,
conforme feedback da comunidade. Ou seja, ele deve
evoluir segundo as necessidades de seus usuarios.
• Poderemos ter diversos sistemas operando em paralelo,
adequados a diferentes tipos de conteudo digital.
1.3 Integracao dos Servicos via LDAP
Os sistemas que farao parte da Incubadora podem ser
escritos em diversas linguagens e para diferentes
plataformas. Como integra-los?
Atraves da centralizacao dos dados comuns a todos os
projetos em um unico repositorio, que possa ser acessado
pela maioria das linguagens, sistemas e plataformas
existentes.
Nossa solucao: uso do servico de diretorios LDAP
(Lightweight Directory Access Protocol), amplamente
utilizado e padronizado, para armazenar dados sobre
usuarios e projetos da Incubadora.
1.3 Integracao dos Servicos via LDAP
Os sistemas que farao parte da Incubadora podem ser
escritos em diversas linguagens e para diferentes
plataformas. Como integra-los?
Atraves da centralizacao dos dados comuns a todos os
projetos em um unico repositorio, que possa ser acessado
pela maioria das linguagens, sistemas e plataformas
existentes.
Nossa solucao: uso do servico de diretorios LDAP
(Lightweight Directory Access Protocol), amplamente
utilizado e padronizado, para armazenar dados sobre
usuarios e projetos da Incubadora.
1.3 Integracao dos Servicos via LDAP
Os sistemas que farao parte da Incubadora podem ser
escritos em diversas linguagens e para diferentes
plataformas. Como integra-los?
Atraves da centralizacao dos dados comuns a todos os
projetos em um unico repositorio, que possa ser acessado
pela maioria das linguagens, sistemas e plataformas
existentes.
Nossa solucao: uso do servico de diretorios LDAP
(Lightweight Directory Access Protocol), amplamente
utilizado e padronizado, para armazenar dados sobre
usuarios e projetos da Incubadora.
1.3 Integracao dos Servicos via LDAP
Os sistemas que farao parte da Incubadora podem ser
escritos em diversas linguagens e para diferentes
plataformas. Como integra-los?
Atraves da centralizacao dos dados comuns a todos os
projetos em um unico repositorio, que possa ser acessado
pela maioria das linguagens, sistemas e plataformas
existentes.
Nossa solucao: uso do servico de diretorios LDAP
(Lightweight Directory Access Protocol), amplamente
utilizado e padronizado, para armazenar dados sobre
usuarios e projetos da Incubadora.
Vantagens do LDAP:
• Padrao IETF [1].
• Ampla disponibilidade de bibliotecas para diversas
linguagens e plataformas.
Vantagens do LDAP:
• Padrao IETF [1].
• Ampla disponibilidade de bibliotecas para diversas
linguagens e plataformas.
• Seguranca: SASL e TLS/SSL.
Vantagens do LDAP:
• Padrao IETF [1].
• Ampla disponibilidade de bibliotecas para diversas
linguagens e plataformas.
• Seguranca: SASL e TLS/SSL.
• Disponibilidade: mecanismo de replicacao incluıdo.
Vantagens do LDAP:
• Padrao IETF [1].
• Ampla disponibilidade de bibliotecas para diversas
linguagens e plataformas.
• Seguranca: SASL e TLS/SSL.
• Disponibilidade: mecanismo de replicacao incluıdo.
• Schemas default: as aplicacoes normalmente concordam
em relacao ao valor semantico de objetos e atributos.
Desvantagens do LDAP:
• Bagagem e complexidade resultante das suas origens,
DAP (X500) e OSI.
• Implementacoes apresentam baixa performance para
escrita (aka “otimizadas para leitura”).
Desvantagens do LDAP:
• Bagagem e complexidade resultante das suas origens,
DAP (X500) e OSI.
• Implementacoes apresentam baixa performance para
escrita (aka “otimizadas para leitura”).
• Um unico projeto sendo desenvolvido ativamente,
OpenLDAP [2] (embora uma alternativa interessante, o
tinyldap [3], tenha sido iniciada).
2 Arquitetura de Rede & Hardware
A arquitetura ainda esta sendo definida. Estamos
fundamentalmente preocupados com:
Seguranca dos dados Uso de tecnicas e procedimentos
como RAID1/RAID5, sincronizacao via rsync [4],
backups diarios.
Seguranca do sistema Filtros de pacote, redes separadas
para servidores de maior risco (eg shell).
Referencias
[1] The Internet Engineering Task Force.
http://www.ietf.org
[2] Projeto OpenLDAP.
http://www.openldap.org.
[3] tinyldap, Felix von Leitner.
http://www.fefe.de/tinyldap/
[4] Projeto rsync.
http://samba.anu.edu.au/rsync/
Back