Zum Inhalt springen

DirXML

aus Wikipedia, der freien Enzyklopädie

DirXML ist eine Technik von Novell, um den LDAP-fähigen Verzeichnisdienst eDirectory mit anderen Anwendungen, Verzeichnissen oder sonstigen Datenquellen und Datensenken zu verbinden. So schafft man eine mögliche Basis für Identitätsmanagement, einen Metaverzeichnisdienst.

Während früher DirXML bei Novell als eigenständiges Produkt vermarktet wurde (DirXML 1.1a), ist es jetzt eine technische Grundlage, auf welcher der Identity Manager basiert, der derzeitige Name für dieses Produkt lautet Identity Manager 4.10.

Technik

Funktion

Novells Verzeichnisdienst eDirectory ist ereignisgesteuert. DirXML setzt auf diesem Verzeichnisdienst auf und bearbeitet alle Daten in einer XML-Repräsentation. Es transformiert per XSLT Ereignisse, die entweder im Novell-Verzeichnis oder in den anzubindenden Datenquellen erzeugt werden.

Alle Daten werden dazu in XML-Form gebracht, bearbeitet und aus XML in die Datenrepräsentation des Zielsystems gebracht. Dabei werden das Hinzufügen, Löschen und Ändern von Attributen eines Datensatzes bzw. des gesamten Datensatzes betrachtet. Für jede Ereignisart können Regeln definiert werden, die definieren, was in dem einen System passieren soll, wenn in dem anderen System bestimmte Ereignisse auftreten oder Zustände existieren.

Es können Filter definiert werden, die das Bearbeiten nur unter bestimmten Bedingungen zulassen. So dass zum Beispiel bei Neuanlage eines Benutzers im eDirectory der Benutzer in einem per DirXML angeschlossenen Unix-System neu angelegt wird, aber zum Beispiel nur wenn der Benutzer einer bestimmten Unix-Gruppe zugeordnet wurde.

Während unter DirXML 1.1 alle diese Regeln manuell programmiert werden mussten, existieren inzwischen vorgefertigte DirXML-Lösungen („Treiber“), die eine Programmierung oft überflüssig machen. Es gibt nun ein browserbasiertes Web-Entwicklungssystem (iManager), sowie eine kostenlose Eclipse-basierte Entwicklungsumgebung, mit der die existierenden Treiber an die aktuelle Aufgabenstellung angepasst werden können.<ref><templatestyles src="Webarchiv/styles.css" />{{#if:20060615155925

      | {{#ifeq: 20060615155925 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Designer for Identity Manager | {{#invoke:WLink|getEscapedTitle|Designer for Identity Manager}} | {{#invoke:Webarchiv|getdomain|http://www.novell.com/coolsolutions/dirxml/designer.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20060615155925}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Designer for Identity Manager | {{#invoke:WLink|getEscapedTitle|Designer for Identity Manager}} | {{#invoke:Webarchiv|getdomain|http://www.novell.com/coolsolutions/dirxml/designer.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-12-13 04:14:36 InternetArchiveBot | 2023-12-13 04:14:36 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20060615155925}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Designer for Identity Manager | {{#invoke:WLink|getEscapedTitle|Designer for Identity Manager}} | {{#invoke:Webarchiv|getdomain|http://www.novell.com/coolsolutions/dirxml/designer.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-12-13 04:14:36 InternetArchiveBot | 2023-12-13 04:14:36 InternetArchiveBot |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Designer for Identity Manager | {{#invoke:WLink|getEscapedTitle|Designer for Identity Manager}} | {{#invoke:Webarchiv|getdomain|http://www.novell.com/coolsolutions/dirxml/designer.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if: 2023-12-13 04:14:36 InternetArchiveBot | 2023-12-13 04:14:36 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Designer for Identity Manager | {{#invoke:WLink|getEscapedTitle|Designer for Identity Manager}} | {{#invoke:Webarchiv|getdomain|http://www.novell.com/coolsolutions/dirxml/designer.html}} }} (Memento{{#if: {{#if: 2023-12-13 04:14:36 InternetArchiveBot | 2023-12-13 04:14:36 InternetArchiveBot |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Designer for Identity Manager | {{#invoke:WLink|getEscapedTitle|Designer for Identity Manager}} | {{#invoke:Webarchiv|getdomain|http://www.novell.com/coolsolutions/dirxml/designer.html}} }}  
                 }}}}}}}}{{#if:2023-12-13 04:14:36 InternetArchiveBot
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20060615155925|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://www.novell.com/coolsolutions/dirxml/designer.html}}
    || {{#if:  || }}
  }}{{#if: Designer for Identity Manager
    | {{#if: {{#invoke:WLink|isBracketedLink|Designer for Identity Manager}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://www.novell.com/coolsolutions/dirxml/designer.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://www.novell.com/coolsolutions/dirxml/designer.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://www.novell.com/coolsolutions/dirxml/designer.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }}</ref> Seit Erscheinen der iManager-Umgebung (also seit es Identity Manager heißt) werden die Filter, Ereignisse und Transformationsschritte graphisch und logisch gegliedert, so dass die Strukturierung einer DirXML-Anbindung durch ein Gerüst erleichtert wird (wegen der Form in der Weboberfläche Fishbone genannt).

Unterschiede zu anderen Systemen

Datenhaltung

Im Unterschied zu zum Beispiel dem MIIS von Microsoft werden die Daten nicht in einem weiteren Repository gehalten, sondern direkt im eDirectory bzw. dem angeschlossenen System. Falls Daten oder Datenattribute benutzt werden müssen, die im eDirectory nicht vorgesehen sind, muss das Schema des Verzeichnisses erweitert werden, was allerdings ohne Aufwand im Onlinebetrieb gemacht werden kann.

Falls das aus prinzipiellen Überlegungen nicht gewünscht ist, kann man das Metaverzeichnis mit dem DirXML in ein separates Verzeichnis verkapseln, das dann zum Beispiel über einen vorkonfigurierten eDirectory-eDirectory DirXML Treiber mit dem Hauptsystem verbunden ist.

Zeitverhalten

Alle Änderungen werden ereignisgesteuert bearbeitet, was schnelle Reaktionszeiten ermöglicht, ein Batchlauf (Synchronisation) wie bei MIIS ist aber ebenfalls möglich. Falls eine Anbindung (ein DirXML Treiber) inaktiv ist, werden die Anforderungen automatisch in eine Warteschlange abgelegt und beim Start des Treibers abgearbeitet.

Plattformen

DirXML ist nicht mehr nur auf Novell Netware als Plattform angewiesen, sondern läuft auch auf diversen Novell- und Redhat-Linux-Versionen, Microsoft Windows ab NT, SUN Solaris und IBM AIX, sofern eine aktuelle eDirectory Version (8.7.3 oder 8.8) als Grundlage installiert ist.

Anwendungen

DirXML ist also eine flexible Schnittstelle, über die sich ein Verzeichnisdienst als Sammlungspunkt und als Datendrehscheibe für

  • Dateien (CSV, XML, ..)
  • Datenbanken (Oracle, Microsoft SQL, ODBC-fähige Datenbanken, …)
  • Verzeichnisdienste (Microsoft Active Directory, SUN iPlanet, OpenLDAP, …)
  • Anwendungen (SAP, Peoplesoft, Webanwendungen, …)
  • Systeme (Mainframe, Betriebssysteme, Mailsysteme, …)

so integrieren lassen, dass man Provisioning, Identitätsmanagement, Workflows entwickeln kann, um die Verwaltung von Benutzern in größeren Unternehmen zu automatisieren. Auf diesem Feld existieren viele weitere Techniken, die von großen Marktteilnehmern wie IBM, SUN, Microsoft, CA und Oracle angeboten werden.

Fußnoten und Einzelnachweise

<references />

Weblinks