Sie sind hier
E-Book

LDAP für Java-Entwickler

Einstieg und Integration (Neuauflage)

AutorStefan Zörner
Verlagentwickler.press
Erscheinungsjahr2013
Seitenanzahl260 Seiten
ISBN9783868022827
FormatePUB/PDF
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis17,99 EUR
In vielen Unternehmen und Organisationen haben Verzeichnisse zur Speicherung und Bereitstellung von Informationen eine strategische Bedeutung. Häufigste Anwendung ist die zentrale Verwaltung von Benutzern und ihren Berechtigungen. Das Lightweight Directory Access Protocol (LDAP) ist der vorherrschende Zugriffsmechanismus auf Verzeichnisdienste. Er wird von allen gängigen Softwarelösungen - freien und kommerziellen - unterstützt. Konkrete Vertreter sind beispielsweise OpenLDAP, Microsoft Active Directory und Oracle Directory Server. Die Anbindung LDAP-basierter Dienste, etwa die Verwendung als Benutzerdatenbasis, steht bei vielen Entwicklungsvorhaben an. In diesem Buch wird Java-Entwicklern auf kompakte und praxisnahe Weise das Rüstzeug vermittelt, mit dem sie im Projektalltag Verzeichnisdienste in ihre Lösungen integrieren können. Der Autor ist sowohl in der Java- als auch in der LDAP-Welt heimisch und bringt seine langjährigen Praxiserfahrungen über das Zusammenspiel der beiden Technologien ein. Das erfolgreiche Buch liegt jetzt in der vierten Auflage vor.

Stefan Zörner arbeitet als Berater, Trainer und Coach bei oose in Hamburg. Er ist Buchautor, veröffentlicht regelmäßig Artikel (u.a. für das Java Magazin) und ist Sprecher auf Konferenzen. Neben Softwarearchitektur und Java-Technologien sind Verzeichnisdienste sein fachlicher Schwerpunkt. Unter anderem arbeitet er aktiv bei Apache Directory mit und führte deren Directory Server als erste Open Source Lösung überhaupt durch die LDAP-Zertifizierung der Open Group.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

2 Verzeichnisse und LDAP

Dieses Kapitel führt die grundlegenden Begriffe und Konzepte rund um Verzeichnisdienste und LDAP ein. Dies erfolgt unabhängig von konkreten Implementierungen, und insbesondere auch unabhängig von Java. Die Standardmethode der Java-Welt zum Zugriff auf Verzeichnisse1 abstrahiert zwar zunächst von LDAP und adressiert allgemein Namens- und Verzeichnisdienste. Zumindest Grundkenntnisse in LDAP sind für eine erfolgreiche Integration jedoch unerlässlich. Falls das Verzeichnis z. B. außerhalb Ihres Zuständigkeits­bereichs betrieben wird, erleichtert Basiswissen die Kommunikation mit den Ansprechpartnern erheblich. Und schon bei moderat fortgeschrittenen Themen ist es mit der Abstraktion vorbei, und auch bei der Java-Standardintegrationsmethode treten LDAP-spezifische Packages, Klassen und Schnittstellen in Aktion. Ein grundlegendes Verständnis der Konzepte vereinfacht den Einstieg.

2.1 Einblicke in die Verzeichniswelt

Zunächst führe ich in die Begriffswelt ein. Es folgen ein kleiner geschichtlicher Überblick und eine Beschreibung der Standards, die für die Thematik innerhalb dieses Buches relevant sind. Anschließend stelle ich kurz einige konkrete Vertreter für Verzeichnislösungen vor.

2.1.1 Was ist ein Verzeichnis?

Im allgemeinen Sprachgebrauch wird unter einem Verzeichnis (engl. Directory, das D in LDAP) eine Auflistung oder Sammlung von Informationen verstanden. Beispiele für Verzeichnisse der realen Welt sind Telefonbücher (öffentliche oder unternehmensinterne), Fahrpläne, Werksverzeichnisse (das Köchelverzeichnis z. B. ist eine Aufstellung aller Werke Mozarts), Kirchen- und Grundbücher. Alle diese Beispiele dienen dem Zweck, Informationen zu bewahren und bei Bedarf Interessierten zugänglich zu machen.

In der Welt der Informationstechnologie hat sich der Begriff „Verzeichnis“ für spezielle Datenspeicher etabliert. Hierbei handelt es sich um hierarchische Datenbanken, deren Informationsmodell nicht wie bei relationalen Datenbanken auf Tabellen beruht, sondern welche die Informationen in einer Baumstruktur ablegen. Die Daten aus den obigen Beispielen „passen“ zwar ganz gut auch in Verzeichnislösungen in diesem Sinne. Je nach konkreter Anwendung kann die Wahl eines anderen Datenspeichers jedoch angemessener sein.

Verzeichnisdienste

Unter einem Verzeichnisdienst versteht man eine Lösung, die Nutzern den Zugang zu einem Verzeichnis ermöglicht, etwa um Informationen aus dem Verzeichnis abzurufen. Ein sehr anschauliches Beispiel aus der realen Welt ist die Telefonauskunft. Im EDV-Bereich werden derartige Dienste in der Regel durch Softwarekomponenten bereitgestellt. Verzeichnisdienste ermöglichen den Zugriff auf die Inhalte des Verzeichnisses über eine wohl definierte Schnittstelle – im Fall eines Netzwerkzugriffs wird dazu ein entsprechendes Kommunikationsprotokoll definiert. Ein Protokoll dieser Art ist LDAP. LDAP beschreibt neben den Anweisungen, die ein Verzeichnisdienst versteht, auch ein Informationsmodell („Wie werden Informationen des Verzeichnisses repräsentiert?“) und ein Sicherheitsmodell. Dabei ist LDAP weder der erste noch der umfassendste Standard in der Verzeichniswelt. X.500 [2.1] adressiert verschiedene Themen, die LDAP offen lässt, wie beispielsweise die Replikation von Inhalten bei verteilten Verzeichnissen. Aber LDAP ist heute der am meisten verbreitete Standard.

Abbildung 2.1: Von X.500 zu LDAP

Was ist „Light“ an LDAP?

Um zu verstehen, warum LDAP das „Lightweight“ im Namen führt, ist ein kurzer Blick in die Entstehungsgeschichte angebracht. Ursprünglich ist das Protokoll entwickelt worden, um einen TCP/IP-basierten Zugang zu Verzeichnissen zu ermöglichen, die auf dem umfangreichen X.500-Standard beruhten. Der Zugriff auf ein X.500-basiertes Verzeichnis erfolgt normalerweise nach dem Client-Server-Modell mithilfe eines Zugriffsprotokolls namens DAP (Directory Access Protocol). Dieses Protokoll setzt auf dem OSI Protocol Stack (Open System Interconnection) auf. Mit der wachsenden Verbreitung des Internets entstand jedoch der Bedarf nach einem TCP/IP-basierten Zugriffsmechanismus auf Verzeichnisse. LDAP stellt eine schlanke Variante von DAP dar, welche diese Anforderung erfüllt. Die ersten Implementierungen von LDAP waren Gateway-Lösungen, die zwischen LDAP-Clients und X.500-Servern vermittelten. 1995 stellte die University of Michigan den ersten nativen LDAP-Server vor; die Arbeit wird mittlerweile vom OpenLDAP-Projekt [1.17] fortgeführt. 1996 folgte Netscape mit dem ersten kommerziellen LDAP-Server. Abbildung 2.1 zeigt die Entwicklung der Verzeichnisprotokolle von DAP zu LDAP. Die Wurzeln zu X.500 schlagen sich in zahlreichen Konzepten von LDAP nieder, insbesondere im Informationsmodell.

Im Folgenden soll unter einem LDAP-Server eine Softwarekomponente verstanden wer-den, die Verzeichnisdienste über das LDAP-Protokoll anbietet. Die zugrunde liegende Implementierung des Verzeichnisses, von der dabei abstrahiert wird, kann sehr unter-schiedlich sein. Atos DirX [1.19] etwa ist eine vollwertige X.500-Lösung, die sowohl DAP als auch LDAP anbietet. IBM [1.21] und Oracle [1.27] setzen in ihren Produkten ihre jeweilige relationale Datenbank als Speichermedium ein. Eine gesonderte Softwarekomponente stellt das LDAP-Protokoll nach außen bereit und schirmt die Datenbank vor anderen Zugriffen ab.

Standards oder: Wie unterschiedlich sind LDAP-Server?

Die Standardisierung von LDAP ist über so genannte RFCs (Requests for Comments) der IETF (Internet Engineering Task Force, [2.25]) erfolgt. Auf die gleiche Weise wurden auch IP, TCP/IP und andere auf TCP/IP aufbauende Protokolle wie z. B. HTTP beschrieben. Der aktuelle Stand von LDAP v3 ist in RFC 4510 („LDAP: Technical Specification Road Map“) definiert. Hierbei handelt es sich um eine Art „Mantelvertrag“, er zählt weitere RFCs auf (ähnlich, wie Java EE viele Technologien wie EJB, Servlets usw. umfasst). Die Dokumente aus dem Jahr 2006 lösen frühere Fassungen der LDAP-Spezifikation ab (allen voran RFC 2251). Abbildung 2.2 zeigt die Evolution seit 1993 anhand wichtiger RFC-Dokumente. Eine Tabelle am Ende des Kapitels beinhaltet alle relevanten RFCs und auch die Beziehungen untereinander.

Abbildung 2.2: Evolution der LDAP-RFCs von 1993 bis heute

In der Regel bleibt Ihnen als Java-Entwickler das Studium dieser Spezifikationen erspart. Komfortable APIs, deren Gebrauch sich über die Dokumentation erschließt, übernehmen die unmittelbare Berührung. In bestimmten Situationen ist das Nachschlagen in den Originaldokumenten jedoch nützlich und angebracht, etwa wenn man Lösungen schaffen möchte, die LDAP-Konzepte allgemein unterstützen sollen (z. B. das Akzeptieren des Datenaustauschformats LDIF). RFCs sind frei im Internet verfügbar, am Ende des Kapitels finden Sie auch Quellen zu den Dokumenten, auf die in diesem Buch Bezug genommen wird.

Das standardisierte Kommunikationsmodell sorgt dafür, dass Sie mit LDAP-Clients auf beliebige Serverprodukte zugreifen können. Die Situation ist vergleichbar zu HTTP, wo jeder Webbrowser mit jedem Webserver kommunizieren kann. Durch das vereinheitlichte Informationsmodell (Kapitel 2.2) gleichen sich zudem die zugrunde liegenden Strukturen. Insgesamt können Sie daher einmal erworbene Kenntnisse (sowohl in Werkzeugen als auch in Konzepten) in Projektsituationen mit völlig unterschiedlichen Verzeichnislösungen einsetzen. Sie können von diesem Buch profitieren, ganz unabhängig von dem konkreten Softwareprodukt, das Sie einsetzen wollen. Auch wenn fast so wie in George Orwells „Farm der Tiere“ LDAP-basierte Verzeichnislösungen nur mehr oder weniger gleich sind.2 Unterschiede sind neben Spielräumen, welche die RFCs einräumen, auch darin begründet, dass der Standard zu bestimmten Aspekten gar keine Aussage macht. So ist z. B. nicht spezifiziert, wie Berechtigungen (ACLs, Access Control Lists) konkret durch die Hersteller zu implementieren sind. Folgerichtig unterscheiden sich die Produkte in diesem Bereich. Auch bei Betriebsaspekten (Installation, Konfiguration, Administration) haben die Hersteller gute Möglichkeiten, sich durch die Bereitstellung spezieller Funktionen und Werkzeuge von der Konkurrenz zu unterscheiden.

„LDAP certified“

Die herstellerneutrale Open Group vergibt nach erfolgreichem Durchlaufen einer umfangreichen Testsuite für LDAP-Produkte das Qualitätssiegel „LDAP certified“ [2.2]. Diese Tests stellen ein Mindestmaß an Interoperabilität sicher, fordern aber natürlich kein bestimmtes Verhalten in den Bereichen, die nicht durch RFCs festgelegt sind. Weiterhin lassen auch nicht alle LDAP-Anbieter ihre Produkte durch die Open Group zertifizieren.

2.1.2 Einige konkrete Implementierungen

Es folgt die kurze Vorstellung einiger Softwarelösungen, auf die mit LDAP zugegriffen werden kann. Die Beschränkung auf einige wenige fiel nicht leicht. Vorrangig ist die Auswahl motiviert durch die Wahrscheinlichkeit, in einem Unternehmen oder einer Organisation auf eine bestimmte Lösung zu treffen (diese Einschätzung ist subjektiv). Mit dem Apache Directory Server wird auch ein Blick auf einen (relativen) „Neuling“ geworfen, der aber gerade für Java-Entwickler eine interessante Option darstellt.

Microsoft Active Directory und ADAM/AD LDS

Das Active Directory (kurz AD, [1.23]) ist seit Windows 2000 Server ein Kernstück jeder Windows-Umgebung und damit der vorherrschende Verzeichnisdienst dort. Es löste die Benutzerverwaltung aus NT-Zeiten ab und dient als zentraler Datenspeicher für verschiedene Windows-Dienste. Das Active...

Blick ins Buch

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

AUTOCAD Magazin

AUTOCAD Magazin

Die herstellerunabhängige Fachzeitschrift wendet sich an alle Anwender und Entscheider, die mit Softwarelösungen von Autodesk arbeiten. Das Magazin gibt praktische ...

Computerwoche

Computerwoche

Die COMPUTERWOCHE berichtet schnell und detailliert über alle Belange der Informations- und Kommunikationstechnik in Unternehmen – über Trends, neue Technologien, Produkte und Märkte. IT-Manager ...

Courier

Courier

The Bayer CropScience Magazine for Modern AgriculturePflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und generell am Thema Interessierten, mit umfassender ...

Das Grundeigentum

Das Grundeigentum

Das Grundeigentum - Zeitschrift für die gesamte Grundstücks-, Haus- und Wohnungswirtschaft. Für jeden, der sich gründlich und aktuell informieren will. Zu allen Fragen rund um die Immobilie. Mit ...

EineWelt

EineWelt

Lebendige Reportagen, spannende Interviews, interessante Meldungen, informative Hintergrundberichte. Lesen Sie in der Zeitschrift „EineWelt“, was Menschen in Mission und Kirche bewegt Man kann ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...