[LDAPGTF] QQ news suite à Apache Con 2009
Emmanuel Lecharny
elecharny at apache.org
Ven 20 Nov 17:40:32 CET 2009
Jonathan Clarke wrote:
> On 11/11/2009 10:31, Francois Armand wrote:
>> Emmanuel Lecharny a écrit :
>>> Salut à tous,
>> [...]
>>>
>>> LDAP n'est clairement pas 'sexy' ;)
>>>
>>
>> Plus j'y pense, et plus je me dis qu'on pourrait vraiment profiter de la
>> mouvence "no sql" pour faire de la pub à LDAP.
>>
>> Alors, je ne sais pas exactement comment faire notre pub, car comme tu
>> m'as dis dans un autre mail, même si LDAP n'est pas basé sur SQL, on est
>> quand même dans un mode "schéma".
>>
>> Mais je pense qu'on peut quand même avancer d'autre arguments : maturité
>> des implémentations, gors avantage au niveau de l'aspect protocol (par
>> ce que bon, allez changer de system "no sql"... le cout de migration est
>> énorme).
>>
>> Bref, je sais pas trop comment, mais je pense qu'il y a une carte à
>> jouer pour le côté "sexy" de LDAP. Peut LDAP comme couche d'accès
>> unificatrice en dessus de ces stores ?
>
> Cette remarque au sujet de la mouvance "no sql" m'a fait réflechir.
>
> Il existe des API qui proposent une abstraction du backend de stockage
> - on décrit un modèle de données, puis on utilise les primitives de
> l'API pour l'interroger, le modifier, etc. Un exemple simple est Siena
> (http://www.sienaproject.com/), qui a 3 backends : JDBC, Google App
> Engine et Amazon DB <truc>.
>
> Un backend LDAP dans un projet de ce type, ca n'a pas l'air très
> compliqué à faire, vu l'interface en question, hormis la question du
> schema de stockage (généré à la volée ?). L'usage que j'en vois serait
> évidemment comme base de stockage pour appli qui lit beaucoup mais
> écrit peu...
>
> Est-ce que ce genre d'idées va dans le sens que tu pensais ?
Je ne lis pas dans les pensées de François, mais voici mon avis sur le
sujet :
LDAP impose l'utilisation d'un schéma assez rigide. Il y a deux
possibilités pour avancer dans la voie d'un OLM (Object Ldap Mapping, TM
- au cas où une boîte stupide poserait un patent encore plus stupide sur
ce terme...).
1) On stocke les objets dans un attribut, brutalement après
sérialization, avec une clé permettant de retrouver l'object (clé qui
serait dans le RDN)
2) On créé un ObjectClass décrivant l'objet, et on créé une entry par
instance à stocker, avec une clé sélectionnée pour le DN (l'UUID, par
exemple ?)
La première approche est franchement chevaline, mais pour une approche
HTable, ça peut suffire (à condition de bien choisir sa clé)
La second approche nécessite d'effectuer un mapping plus pointu, et pose
le problème des références sur d'autres objets, qui va se traduire en
général par N lectures dans la base...
Ce n'est pas évident... La seconde approche est clairement simple à
mettre en oeuvre si on travaille avec des objets 'plats' (sans
références sur d'autres objets).
Petite précision : si on injecte un schéma à la volée (ce qui n'est pas
forcément impossible, voir avec son vendeur préféré ;), il ffaut aussi
être capable de générer un index à la volée, sinon, l'approche 2 est
inutile... (sauf à définit ces index avant le lancement de la base).
Mes 2 kopecks
--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org
More information about the LDAPGTF
mailing list