Dienste verzeichnen Wertewandel

Intelligente Repliken des Verzeichnisses

Fachleute bezeichnen die Virtual Replicas der Verzeichnisse als "dünn besetzt", da sie nur einen ausgewählten Teil der insgesamt zur Verfügung stehenden Information enthalten. Der Inhalt besteht aus Objekten oder Klassen von Objekten. Die gefilterte Version könnte also zum Beispiel Anwenderobjekte enthalten, jedoch auf Server-, Drucker- und Applikationsobjekte verzichten. Selbst die Information im Anwenderobjekt muss nicht zwangsläufig vollständig sein, sondern darf auf die gewünschten Teile heruntergebrochen werden. So können etwa Telefonnummer und E-Mail-Adresse auftauchen, weitere im NDS enthaltene Daten aber ausgelassen werden.

Um dies zu realisieren, muss ein Abbild ("View") der NDS-Daten für einen einzelnen Server erzeugt werden (siehe nebenstehendes Bild). Das Resultat bildet ein NDS-Server, auf dem eine wohldefinierte Datenmenge liegt, die ihren Ursprung in verschiedenen Verzeichnisbäumen hat. Die Verwaltung dieses Schemas kann über die zentrale Steuerkonsole ("Console One") als Snap-in für das NDS-Server-Objekt erledigt werden.

Der zweite wichtige Teil des erweiterten Verzeichnisdienstes ist die Anbindung der Anwendungen, für die die Techniker so genannte "Application Integration Driver" einsetzen. Ein solcher Treiber nimmt Ereignisse aus dem Verzeichnis entgegen, wendet die passenden Filterdefinitionen und Datenumwandlungen an, außerdem ein Objekt- und Event-Mapping. Die Informationen stehen der Anwendung dann in deren nativem Format über ein API zur Verfügung. Über einen vergleichbaren Weg läuft der Datenfluss auch in die entgegengesetzte Richtung von der Anwendung zum Verzeichnis. Dieser Ansatz bietet Entwicklern eine wesentlich einfachere Schnittstelle, um die Datensynchronisation mit dem NDS sicherzustellen. Das Interface besteht aus nur vier simplen API-Aufrufen in Java oder C, außerdem lassen sich die nötigen Definitionen in einem oder mehreren XSLT-Style-Sheets ablegen XSLT dient als "Übersetzer" zwischen verschiedenen Dokumenten im Format der Extensible Stylesheet Language (XSL).

Die Style Sheets fungieren als Formatvorlagen und enthalten Tags, die denen eines HTML-Dokuments ähneln. Designer können die Vorlagen mit einem beliebigen Editor bearbeiten, da die Dateien als reiner Text abgespeichert werden. Die Tags innerhalb eines Style Sheets legen die Regeln fest, nach denen die Datentransformation abläuft. Dies gilt sowohl für den Weg aus dem Verzeichnis zur Anwendung wie auch für die entgegengesetzte Richtung. Sobald ein Ereignis auftritt, das einen Replikationsvorgang auslöst, übernimmt ein so genannter XSLT-Prozessor die XML-Daten aus dem NDS, wendet die vordefinierten Regeln aus dem XSLT Style Sheet an und wandelt die Information in das applikationseigene Format um. Der Treiber verwendet dazu das Event-System des NDS-Servers, sodass das Server-Pendant, welches den Treiber lädt, keine eigenen Replicas vorhalten muss.

Das Beispiel im Bild oben links zeigt, wie ein derartiger Integrationsprozess mit dem "Netscape Directory Server" aussieht. Der NDS-Server gibt die Daten aus dem Verzeichnis durch das Event-System an den XML-Datenstrom weiter. Der XSL-Prozessor wendet die passenden Regeln aus dem XSL Style Sheet auf die Daten an und erzeugt da-raus eine LDIF-(LDAP Data Interchange Format-) Datei. Außerdem löst er einen Aufruf beim anwendungseigenen API aus (im Beispiel: LDAPModify), der für das Auslesen der LDIF-Datei und das anschließende Schreiben der in das Netscape-Verzeichnis sorgt.

Eine weitere Variante des Transfers tritt dann auf, wenn anstelle der Transformationsdatei (LDIF) auf direktem Weg ein DOM-Objekt erzeugt wird. Auf dieses kann ohne Umwege von Java-Programmen aus zugegriffen werden. Im XSL Style Sheet lassen sich mehrere Typen von Formatregeln festlegen. Dazu gehört die Abbildung von Attributfeldern beim Übergang von einem Verzeichnis zum nächsten (zum Beispiel: "TelNumber" geht über in "Telefon"). Das mächtigste Werkzeug ist die Anwendung so genannter Policies und logischer Verknüpfungen für die Umformung. Damit lassen sich intelligente Regeln definieren. Ein Beispiel: "Sobald ein neues Objekt erzeugt wird, soll es den Namen X erhalten und im Container ABC abgelegt werden."

Die XSL Style Sheets selbst werden ebenfalls als Objekte im NDS abgelegt. Novell plant, Werkzeuge auf den Markt zu bringen, mit denen sich die entsprechenden Objekte direkt visuell bearbeiten lassen. Diese Tools sollen entweder als Snap-in für die Console One oder als separates Produkt arbeiten. Zum Angebot gehören Integrationstreiber für NDS nach NDS, Active Directory, MS Exchange, Netscape/LDAP, Lotus Notes und JDBC. Verschiedene Drittanbieter arbeiten nach Angaben der Netzwerker daran, Treiber für PBX-(Private Branch Exchange-) und ERP-Systeme und Datenbanken zu entwickeln.

Ein mögliches Einsatzgebiet für die beschriebene Technik ist laut Novell der Bau von Meta-Verzeichnissen. Anwendungen und Verzeichnisdienste, die mit Hilfe von DirXML mit dem NDS verbunden sind, bleiben durch den Replikationsmechanismus automatisch im aktuellen Verzeichnisstatus. Abhängig von den Zugriffsrechten können Anwendungen auch selbst in das Verzeichnis schreiben.