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