Diretórios no contexto do LDAP

Resumo

Nesta seção vamos esclarecer alguns detalhes conceituais que às vezes não ficam muito claros em documentações do LDAP.

Não devemos esquecer que o LDAP é apenas um protocolo de acesso, ele define um conjunto de mensagens para acessar certos tipos de dados. O protocolo em si não diz nada a respeito de onde ou como os dados são armazenados.

Um servidor LDAP é uma aplicação que implementa o lado servidor conforme as especificações do protocolo. Existem várias implementações e a que descreveremos adiante é o OpenLDAP, uma solução livre. É esse servidor que fornece o serviço de diretório aos seus clientes. Um servidor LDAP está para o diretório assim como o SGBD (sistema gerenciador de banco de dados) está para o banco de dados.

O diretório é representado através de um backend, que é uma implementação de base de dados[2]. O servidor pode usar qualquer backend para armazenar as informações, desde arquivos de texto até bancos de dados relacionais. Dizemos que o LDAP (e conseqüentemente o servidor LDAP) não suporta algumas características dos bancos de dados, porque que o protocolo não possui as mensagens para usar essas características e, sendo assim, não requer que o backend que armazena os dados as tenha.

Figura 1.6. Relacionamento entre o cliente LDAP, servidor LDAP e backend

Relacionamento entre o cliente LDAP, servidor LDAP e backend

O cliente não terá (ou pelo menos não deveria ter) informações a respeito do mecanismo de armazenamento que está sendo usado. Assim sendo, clientes e servidores LDAP podem se comunicar, independentemente de quais empresas os produziram.

Já se pensou em usar um servidor LDAP como backend para um servidor Web. Todos os HTML's e os arquivos gráficos ficariam armazenados no diretório para serem lidos por vários servidores Web. Afinal, um servidor Web normalmente somente lê arquivos e os manda para seus clientes; e esses arquivos não mudam com muita freqüência. Apesar de ser possível implementar um servidor Web que use LDAP para acessar seu backend, já existe um tipo especial de diretório para servir arquivos, chamado sistema de arquivo.

O LDAP foi criado para atender uma certa gama de problemas, não sendo destinado a substituir diretórios especializados, como sistemas de arquivo e o DNS.



[2] A princípio, base de dados e banco de dados são a mesma coisa. Porém, normalmente quando usamos o termo banco de dados, estamos nos referindo a um banco de dados relacional. Portanto adotamos nesta monografia a convenção de usarmos base de dados quando nos referimos a qualquer tipo de banco de dados, o que inclui até mesmo um arquivo de texto, e usamos banco de dados para nos referirmos a um banco de dados relacional.