Buscar

DIRETO2

Prévia do material em texto

Arquitetura e Instalação do DIRETO
Universidade Federal do Rio Grande do Sul
Programa de Pós-Graduação em Ciência da Computação
Disciplina: Programação Distribuída e Paralela
Professor: Cláudio Geyer
Aluno: Luís André Martins
DIRETO
	Objetivo principal: atender a demanda de um software de comunicação de baixo custo, que interligue os diversos órgãos do estado;
	Disponibiliza 5 módulos:
	Módulo hoje;
	Módulo correio;
	Módulo agenda;
	Módulo catálogo geral;
	Módulo catálogo pessoal.
DIRETO
DIRETO
Framework
Entrega de Mensagens - SMTP
	SMTP - Simple Mail Transfer Protocol;
	 É independente de um sub-sistema particular de transmissão e requer somente um canal de dados confiável.
Serviço de Acesso a Mensagens
	O processo de armazenamento de mensagens é feito em um servidor;
	Para acessar as mensagens, o DIRETO suporta tanto POP3 quanto o IMAP4
	POP3 (Post Office Protocol): projetado para acesso offline de mensagens;
	IMAP4 (Internet Message Acesses Protocol): permite que um cliente acesse e manipule mensagens em um servidor.
Serviço de Acesso a Mensagens
	Funcionalidades do POP e do IMAP:
	Manipulam acesso a mensagens, com relação ao serviço de entrega, delegam ao SMTP;
	Permitem acesso a uma mensagem de diversas plataformas;
	Permitem acesso a uma mensagem a partir de qualquer ponto da rede;
	São protocolos nativos Internet, não necessitam de gateway.
Serviço de Diretório - LDAP
	Os servidores de diretórios armazenam informações sobre usuários e recursos, organizados de maneira hierárquica;
	LDAP: padrão para serviços de diretório sobre TCP/IP;
	Um servidor LDAP não constitui um tipo de banco de dados;
Serviço de Diretório - LDAP
	Compõem o LDAP:
	slapd: código fonte original (Universidade de Michigan);
	API: utilizada para acessar as informações;
	LDIF: formato de dados utilizado para importar/exportar dados de servidores LDAP.
	Classes de Objetos
Serviço de Agenda
	Existem vários padrões de sistemas de agendamento, como o vCalendar, iCalendar e o ICAP;
	vCalendar: este padrão define o formato da informação de agendamento e calendário, como assunto de uma reunião, lista de convidados e data.
Arquitetura do DIRETO
Controle
	O componente de controle é quem recebe as requisições dos usuários;
	É implementado por um servlet Java;
	É responsável por:
	autenticação;
	controle de sessão;
	cache de sessões de usuário.
Controle
	Autenticação:
	pode ser feita contra uma base de dados LDAP (padrão), IMAP, POP ou banco de dados relacional
	Controle de sessão:
	utiliza a classe Session do pacote Servlet, que por sua vez utiliza cookies para identificar as requisições.
	Cache de sessões de usuário:
	a cache de objetos mantêm em memória todos os objetos utilizados pelos usuários em sessões ativas.
Negócio
	Os componentes de negócio são classes Java que se comunicam com outros serviços para realizar determinada tarefa.
	O resultado das chamadas as regras de negócio é um XML contendo o resultado da tarefa.
	As APIs Java utilizadas são:
	JavaMail
	JNDI
	JDBC
Negócio
	JavaMail:
	Utilizada para a comunicação de serviços de correio, acesso a caixa postal e serviço de transporte. Utiliza SMTP como serviço de transporte;
	JNDI:
	Utilizada para o acesso ao LDAP.
	JDBC:
	Utilizada para acesso ao banco de dados.
Dados
	Os dados no DIRETO estão armazenados nas seguintes bases de dados:
	Relacional: armazena todos os dados da agenda;
	IMAP: armazena as mensagens de correio eletrônico;
	LDAP: armazena todos os dados relativos ao usuário, seus contatos e preferências sobre o seu ambiente.
Apresentação
	Responsável por receber os dados da camada de negócios e formatar os dados para serem enviados para o browser do usuário.
	A camada de negócio envia o resultado da requisição em XML para a camada da apresentação;
	A camada de apresentação irá gerar o HTML final para ser enviado ao usuário;
Instalação
	A instalação do DIRETO é baseada na integração de serviços;
	A distribuição do DIRETO (www.direto.org.br) traz além do código-fonte Java, todos os pacotes necessários.
Instalação - Serviços
Serviço		Produto		Protocolo
Correio 		Postfix		SMTP
(Entrega/Recebimento)
Correio 		Cyrus			IMAP 4	
(Leitura)
Agenda		PostgreSQL		SGBD	
Catálogo		OpenLDAP		LDAP v2	
WebServer		Apache+SSL	https
Servlet Container	Tomcat	ajp12, ajp14	
Instalação - Serviços
	Quando uma mensagem é enviada para um usuário:
	1. A mensagem entra na fila Postfix;
	2. Postfix consulta LDAP p/ identificar a caixa-postal do usuário;
	3. Postifx passa a mensagem e o mailbox p/ o Cyrus
	4. Mensagem é depositada na caixa-postal
	Pode-se observar duas integrações neste caso:
	1. Postfix com OpenLDAP p/ identificar a mailbox;
	2. Postfix (SMTP) com o Cyrus (IMAP) p/ a entrega da mensagem.
Instalação - Arquitetura dos Serviços
Instalação - OpenLDAP
	Compilação
	Configuração do arquivo sladp.conf;
	População do catálogo Direto:
	ldif2ldbm -i /tmp/direto/arquivos-conf/ldif.txt
Instalação - Postfix
	Compilação
	Criar grupo e usuário postfix;
	Integração com o Cyrus;
	configurar o arquivo /etc/postfix/main.cf
	Integração com o LDAP
	configurar o arquivo /etc/postfix/main.cf
Instalação - Cyrus
	Integração com o LDAP:
	alterar o arquivo fonte $(SRC)/pwcheck/Makefile.in
	Configurar o servidor para atender requisições IMAP na porta 143
	Compilação
	Preparar o ambiente para o Cyrus
	criar arquivos de log, diretório de trabalho
	criar mailboxes e diretório de spool
	criar diretório pwcheck
Instalação - Apache+SSL
	Instalação do OpenSSL;
	Abrir fontes do Apache e do Apache+SSL;
	Rodar fixpatch para determinar a localização do OpenSSL;
	Compilar;
	Criar os certificados (chave privada);
	Configurar o arquivo httpd.conf, incluindo a diretiva SSLCertificateFile.
Instalação - Tomcat
	Descompactação do pacote;
	O arquivo 
/usr/local/jakarta-tomcat-3.2.1/webapps/app.war contêm as páginas HTML do DIRETO;
	Alterar o parâmetro DocumentRoot do httpd.conf, para que o Apache busque as páginas em 
 /usr/local/jakarta-tomcat-3.2.1/webapps/app/htdocs
Instalação - PostgreSQL
	Criar o banco de dados diretodb;
	Criar a estrutura a partir das regras SQL dos arquivos:
	category.txt
	classification.txt
	expert.txt
	role.txt
	status.txt
Bibliografia
	Balinsk, Ricardo. Filtragem de Informação no Ambiente DIRETO. Dissertação de Mestrado
	PROCERGS. Manual de Instalação do DIRETO. Disponível em: www.direto.org.br

Continue navegando