Das Notes-Namensystem

Grundlegende Informationen zu den einzelnen Komponenten (CN, OU, O, C) der Notes-Namen.

Das Notes-Namensystem

0. Inhalt

1. Hintergrund
2. Zweck
3. Das Notes Namensystem
3.1 Der flache Name
3.2 Der hierarchische Name
3.3 Internet-Adressen und LDAP Integration
4. Beispiel
4.1 X.400
4.2 Notes-Name
4.3 Komponenten der NotesName-Klasse
5. Weiterführende Informationen

1. Hintergrund
Notes und Domino stellen dem Benutzer eine umfangreiche Messaging-Infrastruktur zur Verfügung. Messaging-Infrastruktur bedeutet, dass beliebige Meldungen (nicht nur Mail!) und Dokumente im System zirkulieren können. Diese Dokumente haben ein Ziel: einen Adressaten. Darüber hinaus wird auch sichergestellt, dass Dokumente nur von berechtigten Personen gelesen und bearbeitet werden können. Um dies gewährleisten zu können, ist es notwendig, die Benutzer des Systems eindeutig identifizieren zu können. Zu diesem Zweck verwendet Notes ein ausgeklügeltes Namenssystem.

Mit eingeschlossen in das Namenssystem sind aber nicht nur die Benutzer des Systemes, sondern auch die Server, die ebenso wie die Benutzer Empfänger und Sender von Messages und Dokumenten sein können und auch unterschiedliche Bearbeitungsrechte erhalten können. Im wesentlichen werden Server von Notes und Domino genauso behandelt, wie die im System beteiligten Personen.

Dieses Namenssystem hat verschiedene Wurzeln und wurde im Laufe der Zeit auch erweitert, insbesondere um Schnittstellen zu anderen Systemen wie das Internet bereitstellen zu können.

2. Zweck
Mit diesem Artikel möchte ich erreichen, dass man einen Überblick über das Notes-Namensystem gewinnen kann. Dieses System ist mit der Zeit gewachsen und da man häufig nur mit einem Teil des Systemes konfrontiert wird, fehlt einem häufig die notwendige Uebersicht, welche Namensversion wo gebraucht werden kann.

3. Das Notes Namensystem

3.1 Der flache Name
Ursrprünglich reichte es, wenn man den Personen und Servern einfache Namen zugeteilt hat. Einzige Bedingung war, dass dieser Name innerhalb des geschlossenen Systemes eindeutig war. Dieser flache Name bestand wie im Leben aus Vorname und Name der Person oder bei einem Server aus der Maschinenbezeichnung:

„Jens-B. Augustiny“
„NotesServer1“

Es ist leicht einzusehen, dass in größeren Organisationen dieses System nicht mehr genügt, da Beteiligte mit gleichem Namen vorkommen. Das Problem verschärft sich, wenn über Firmengrenzen hinaus kommuniziert wird. Dies hat zur Einführung des hierarchischen Namensystems geführt. Neuere Notes und Domino Versionen verlangen, dass Benutzer und Server einen hierarchischen Namen haben und arbeiten nicht mehr mit ID-Dateien, die nur mit einem flachen Namen registriert wurden.

3.2 Der hierarchische Name
Wie die Bezeichnung schon nahelegt wurde der Name um Elemente der Organisation, zu der die Person oder der Server gehört, erweitert. Dadurch ergibt sich die Möglichkeit, die erwähnten gleichnamigen Personen eindeutig zu identifizieren. Der hierarchische Name in Notes wurde nach dem Vorbild der Adressierungs-Norm X.400 gebildet. Diese Norm wurde vor vielen Jahren von der ITU (International Telecommunication Union) aufgestellt und beinhaltet neben einem Namenssystem auch die Normierung einer Messaging-Infrastruktur.

Die X.400 Adressierung basiert auf einem Schlüsselwort-Format, welches ähnlich wie in einer INI-Datei die Bestandteile mit „Keyword = Value“ definiert. Damit die Adressierung in einer einzigen Zeile erfolgen kann, werden die einzelnen Werte durch einen / getrennt. Beispiel folgt später.

Die von Notes genutzten Teile findet man einerseits unter dem LotusScript Object NotesNameund andererseits unter der @Function @Name dokumentiert, wenn auch so ziemlich ohne nützliche Beispiele.

Notes implementiert eigentlich alle X.400 Attribute der Adresse, hat damit natürlich auch die Möglichkeit, irgendwelche X.400 Messaging-Systeme zu nutzen. Es gab eine Zeit, da war der Dokumentenaustausch auf der Basis von EDI (Electronic Document Interchange, das basiert auf X.400) recht verbreitet, wird aber unterdessen unter dem Einfluss des Internets von anderen Technologien abgelöst. Besondere Verbreitung findet EDI und anverwandte noch im Bankenbereich, bei Versicherungen und im [internationalen] Handel. In diesen Bereichen wird es noch lange dauern, bis EDI verschwindet.

Die in Notes implementierten X.400-Attribute:

a) Diese Attribute werden von Notes benutzt:

CN „common name“: entspricht dem alten, flachen Namen: „CN=Jens-B. Augustiny“, nicht sicher, ob dieses Keyword in X.400 existiert oder ob es nur Notes-Spezifisch ist.

OU „organizational unit“: Abteilung, dabei lassen sich bis zu 4 „Unterorganisationen“ verwenden: „OU=Software/OU=Bern“
O „organization“ : Firma, Behörde oder was immer die „rechtliche Einheit“ ist: „O=Ligonet“
C „country“, Landeskürzel (2stellig nach ISO-Norm): „C=CH“

b) die folgenden Attribute werden von Notes nicht benutzt, existieren aber und werden von der NotesName-Klasse korrekt wiedergegeben:

G „given name“: Vorname: „G=Jens-B.“
I „initial“ : Initialen: „I=JBA“
S „surname“ : Nachname: „S=Augustiny“
Q „generation“ : Jr oder Sr ….. : „Q=Jr“

A „ADMD name“ : in der X.400-Definition ausgeschrieben als ADMD= : Da man bei der Definition von X.400 (erste Version: 1984, zweite, stark veränderte Version 1988) noch völlig von regulierten Postsystemen ausgegangen ist, damit also eine Kommunikation von Firma zu Firma immer über einen staatlichen Messaging-Dienst zu gehen hatte, muss jede X.400-Adresse eine ADministrative Messaging Domain haben, an der die Firma angeschlossen ist. Das waren dann natürlich die staatlichen Postdienste.

„A=Swisscom“

P „PRMD name“ : Auch das in X.400 ausgeschrieben als PRMD= : Das ist dann der „Hauspostdienst“, also der nichtstaatliche Mailvermittler, PRivate Management Domain. Heute würde man Provider sagen:
„P=Green“ (schlechtes Beispiel, weil die kein X.400 anbieten, ich weiss aber tatsächlich keinen, der das noch als Provider macht)

3.3 Internet Adressierung und LDAP Integration
Mit der Anbindung ans Internet mussten Notes und Domino auch die für einen SMTP-Anschluss notwendigen Internet-Adressen unterstützen. Diese Adressierungsart (zum Beispiel „Jens-B. Augustiny“ ) wird von Notes/Domino im Directory beziehungsweise in der Arbeitsumgebung als zusätzliche Adressangabe mitgeführt, wird jedoch nur dann benutzt, wenn Mail mit dem Internet ausgetauscht wird.

Mit LDAP (Lightweight Directory Access Protocoll) steht für das Internet ein Protokoll zur Verfügung, um Adress-Verzeichnisse abfragen zu können. Das Domino-Verzeichnis kann so konfiguriert werden, dass es mittels LDAP abgefragt werden kann. Es stehen auch Mittel zur Verfügung, um die LDAP-Möglichkeiten des Directories an die Bedürfnisse der Umgebung anzupassen (zum Beispiel für Anmeldeinformationen für fremde Systeme oder Informationen über Konfiguration von Servern, die im Verzeichnis aufgeführt sein könnten). Umgekehrt ist es aber auch möglich, dass Notes/Domino die Adress-Informationen selber mit Hilfe des LDA-Protokolls bei einem fremden Verzeichnis abruft. Dabei nutzen Notes und Domino intern weiterhin die Adressen im X.400 Format.

4. Beispiel

4.1 X.400
„C=CH/ADMD=Swisscom/PRMD=Green/O=Ligonet/OU=Bern…
…/OU=Software/I=JBA/S=Augustiny/G=Jens-B.“

X.400 Name in Notes-Schreibweise:
„C=CH/A=Swisscom/P=Green/O=Ligonet/OU=Bern/OU=Software…
…/I=JBA/S=Augustiny/G=Jens-B.“

4.2 Notes-Name
Flat Name:
„Jens-B. Augustiny“

Notes-Name Canonical:
„CN=Jens-B. Augustiny/OU=Software/OU=Bern/O=Ligonet/C=CH“

Notes-Name Abbreviated:
„Jens-B. Augustiny/Software/Bern/Ligonet/CH“

4.3 Komponenten der NotesName-Klasse
Gibt man obiges Beispiel in NotesName ein, bekommt man folgende Attribute besetzt:

Abreviated = „Jens-B. Augustiny/Software/Bern/Ligonet/CH“
Country = „CH“
Canonical = „CN=Jens-B. Augustiny/OU=Software/OU=Bern/O=Ligonet/C=CH“
Common = „Jens-B. Augustiny“
Organisation = „Ligonet“
Orgunit1 = „Bern“
Orgunit2 = „Software“
Keyword = „CH\Ligonet\Bern\Software“ (speziell für Ansichten, siehe Hilfe zu @Name)

Gibt man in NotesName eine Internet-Adresse ein, dann wird diese ebenfalls ganz vernünftig auseinander genommen:

„Jens-B. Augustiny“ wird wie folgt aufgelöst:

Abbreviated = „““Jens-B. Augustiny““ “
Canonical = „““Jens-B. Augustiny““ “
Common = „““Jens-B. Augustiny“““
Keyword = „““Jens-B. Augustiny““ “
Addr822Phrase = „““Jens-B. Augustiny“““
Addr822Localpart = „abc-md“
Addr821 = „abc-md@ligonet.ch“

5. Weiterführende Informationen
Anregungen, Ergänzungen und Verbesserungsvorschläge bitte im Best Practices Diskussionsforum posten.

In der Designer-Hilfe:
Die Lotusscript Klasse NotesName
Die Java Klasse Name
@Names Funktion
Spezieller Abschnitt: Representing a name

Zu X.400:
http://www.net-lexikon.de/X.400.html

Zu LDAP:
http://www.mitlinx.de/ldap/

Zu SMTP:
http://wwwbs.informatik.htw-dresden.de/internet/mail/index.smtp.html

Vielen Dank für diesen Tipp an:
Jens-B. Augustiny
LIGO INFORMATIK
www.ligonet.ch

Notes/Domino Version: ab 4.x