Sun Java Enterprise System 2005Q4 Technischer Überblick

Kapitel 3 Integrationsfunktionen von Java Enterprise System

Dieses Kapitel beschreibt den konzeptionellen und technischen Hintergrund der Funktionen, die bei der Integration von Java ES-Komponenten zu einem einzigen Softwaresystem eine Schlüsselrolle spielen.

Anhand dieser Funktionen werden die Vorteile von Java Enterprise System im Vergleich zur manuellen Integration unvereinbarer Infrastrukturprodukte deutlich.

Das Kapitel behandelt folgende Funktionen:

Das integrierte Installationsprogramm von Java Enterprise System

Alle Java ES-Komponenten werden mithilfe eines einzigen Installationsprogramms installiert. Dieses Installationsprogramm bietet für alle Komponenten konsistente Verfahren zur Installation und Deinstallation und weist ein konsistentes Verhalten auf.

Bei dem Java ES-Installationsprogramm handelt es sich um ein integriertes Framework zur Übertragung von Java ES-Software auf ein Hostsystem. Mit dem Installationsprogramm können Sie bestimmte Java ES-Komponenten auswählen und auf beliebigen Computern Ihrer Datenverarbeitungsumgebung installieren. Das Installationsprogramm bietet auch einige Möglichkeiten zur Konfiguration des Installationszeitpunkts, die von den einzelnen zu installierenden Java ES-Komponenten abhängen.

Das Java ES-Installationsprogramm führt selbstständig keine verteilten Installationen durch. Um eine verteilte Java ES-Softwarelösung bereitzustellen, installieren Sie die entsprechenden Komponenten mit dem Java ES-Installationsprogramm nacheinander auf jedem Computer Ihrer Umgebung. Abhängig von Ihrer Bereitstellungsarchitektur und den Abhängigkeiten zwischen den Komponenten müssen Sie eine Reihe von Installationssitzungen und Konfigurationsschritten durchführen.

Das Installationsprogramm arbeitet interaktiv sowohl in einem Grafikmodus als auch in einem textbasierten Modus und verfügt außerdem über einen parametergesteuerten Modus zur automatischen Installation. Neben der englischen Version unterstützt das Installationsprogramm sieben weitere Sprachen: Französisch, Deutsch, Spanisch, Koreanisch, Chinesisch (vereinfacht), Chinesisch (traditionell) und Japanisch.

In diesem Abschnitt werden folgende Aspekte des integrierten Java ES-Installationsprogramms behandelt (ausführliche Informationen finden Sie im Sun Java Enterprise System 2005Q4 Installationshandbuch für UNIX):

Überprüfung bereits vorhandener Software

Das Installationsprogramm überprüft den Computer, auf dem die Installation durchgeführt wird, und ermittelt die bereits installierten Komponenten von Java ES. Das Installationsprogramm führt dann Prüfungen auf verschiedenen Ebenen durch, um sicherzustellen, dass alle vorhandenen Komponenten die für eine erfolgreiche Zusammenarbeit erforderliche Versionsstufe aufweisen. Das Installationsprogramm informiert Sie darüber, welche Softwarekomponenten nicht kompatibel sind und aufgerüstet oder entfernt werden müssen.

Das Installationsprogramm überprüft außerdem, ob bereits gemeinsam genutzte Java ES-Komponenten installiert wurden (siehe Gemeinsam genutzte Komponenten), wie beispielsweise J2SE oder NSS. Wenn das Installationsprogramm gemeinsam genutzte Komponenten in nicht kompatiblen Versionen findet, werden diese aufgelistet. Wenn Sie mit der Installation fortfahren, rüstet das Installationsprogramm die gemeinsam genutzten Komponenten auf eine neuere Version auf.

Überprüfung der Abhängigkeiten

Das Installationsprogramm führt eine intensive Überprüfung der Komponenten durch, um festzustellen, ob die von Ihnen ausgewählten Installationskomponenten ordnungsgemäß funktionieren.

Etliche Komponenten sind von anderen Komponenten abhängig. Das Installationsprogramm stellt die Logik zur Verfügung, die zur Erfüllung dieser Abhängigkeitsanforderungen erforderlich ist. Aus diesem Grund schließt das Installationsprogramm, wenn Sie eine Komponente für die Installation auswählen, automatisch die Komponenten und Unterkomponenten mit ein, zu denen die ausgewählte Komponente in einem Abhängigkeitsverhältnis steht.

Sie können die Auswahl einer Komponente nicht aufheben, wenn eine andere ausgewählte Komponente lokal von dieser Komponente abhängt. Wenn die Abhängigkeit jedoch nicht auf lokaler Ebene besteht, wird eine Warnmeldung ausgegeben. Sie können den Vorgang jedoch fortsetzen (es wird davon ausgegangen, dass die Abhängigkeitsanforderung durch eine Komponente auf einem anderen Hostcomputer erfüllt wird).

Erstkonfiguration

Bei vielen Java ES-Komponenten ist eine Erstkonfiguration erforderlich, damit diese gestartet werden können. Bei einigen Komponenten kann das Java ES-Installationsprogramm diese Erstkonfiguration vornehmen.

Sie können auswählen, ob das Installationsprogramm die Erstkonfiguration durchführen (Option "Jetzt konfigurieren") oder die Software ohne Erstkonfiguration installieren soll (Option "Später konfigurieren"). Im letzten Fall müssen Sie jede Komponente nach Abschluss der Installation explizit konfigurieren.

Wenn Sie auswählen, dass das Installationsprogramm die Erstkonfiguration vornehmen soll, müssen Sie während des Installationsvorgangs die benötigten Konfigurationsangaben vornehmen. Insbesondere können Sie eine Reihe von Parameterwerten angeben, die für alle Produktkomponenten gelten sollen, beispielsweise eine Administrator-ID und das zugehörige Passwort.

Deinstallation

Java Enterprise System bietet außerdem ein Deinstallationsprogramm. Mit diesem Programm können Sie die Komponenten entfernen, die vom Java ES-Installationsprogramm auf dem lokalen Computer installiert wurden. Das Deinstallationsprogramm prüft, ob lokale Abhängigkeiten vorliegen, und gibt gegebenenfalls eine Warnmeldung aus. Das Deinstallationsprogramm entfernt keine gemeinsam genutzten Java ES-Komponenten.

Das Deinstallationsprogramm kann, ebenso wie das Installationsprogramm, im grafischen, textbasierten oder Automatikmodus ausgeführt werden.

Integrierte Identitäts- und Sicherheitsdienste

Eine wichtige Funktion von Java Enterprise System besteht in der integrierten Verwaltung von Benutzeridentitäten und dem integrierten Authentifizierungs- und Autorisierungs-Framework.

In den folgenden Abschnitten finden Sie den technischen Hintergrund für das Verständnis der integrierten Identitäts- und Sicherheitsdienste, die Java Enterprise System bietet:

Einzelidentität

Innerhalb einer Java ES-Umgebung verfügt jeder Benutzer über eine einzelne integrierte Identität. Anhand dieser Einzelidentität kann dem Benutzer der Zugriff auf verschiedene Ressourcen gestattet werden, beispielsweise Portale, Webseiten und Dienste wie Nachrichtendienste, Kalenderdienste und Instant Messaging.

Diese integrierte Identitäts- und Sicherheitsfunktion beruht auf einer engen Zusammenarbeit zwischen Directory Server, Access Manager und anderen Java ES-Komponenten.

Der Benutzerzugriff auf einen Dienst oder eine Ressource von Java ES wird gewährt, indem die benutzerspezifischen Informationen in einem einzelnen Benutzereintrag in einem Benutzer-Repository oder Verzeichnis gespeichert werden. Zu diesen Informationen gehören normalerweise Angaben wie ein eindeutiger Name und ein Passwort, eine E-Mail-Adresse, die Funktion innerhalb einer Organisation, Webseiteneinstellungen usw. Die Informationen im Benutzereintrag können zur Authentifizierung des Benutzers, zur Autorisierung des Zugriffs auf bestimmte Ressourcen und zur Bereitstellung verschiedener Dienste für den jeweiligen Benutzer verwendet werden.

Bei Java Enterprise System werden die Benutzereinträge in einem von Directory Server bereitgestellten Verzeichnis gespeichert. Wenn ein Benutzer einen von einer Java ES-Komponente bereitgestellten Dienst anfordern möchte, verwendet dieser Dienst Access Manager für die Authentifizierung des Benutzers und für die Autorisierung des Zugriffs auf bestimmte Ressourcen. Der angeforderte Dienst prüft die im Verzeichniseintrag des Benutzers enthaltenen benutzerspezifischen Konfigurationsangaben. Der Dienst verwendet diese Informationen, um die vom Benutzer angeforderten Aufgaben durchzuführen.

Die folgende Abbildung illustriert den Zugriff auf Benutzereinträge für die Durchführung der Benutzerauthentifizierung und -autorisierung hinsichtlich der Bereitstellung eines Dienstes für den Benutzer.

Abbildung 3–1 Ein einzelner Benutzereintrag unterstützt viele Dienste

Diagramm, das zeigt, wie mehrere Java Enterprise System-Komponenten mit einem einzigen Benutzereintrag in einem Verzeichnis interagieren.

Eine der sich aus diesem System ergebenden Funktionen besteht darin, dass sich ein Benutzer im Web bei jedem Java ES-Dienst anmelden kann und dadurch automatisch bei den anderen Diensten des Systems authentifiziert wird. Diese leistungsstarke Java Enterprise System-Funktion ist unter der Bezeichnung Single Sign-On bekannt.

Authentifizierung und Single Sign-On

Die Authentifizierungs- und Autorisierungsdienste von Java ES werden durch Access Manager bereitgestellt. Access Manager verwendet Informationen aus Directory Server, um als Broker für die Interaktion von Benutzern mit Java ES-Webdiensten und anderen webbasierten Diensten in einem Unternehmen zu fungieren.

Access Manager verwendet außerdem eine externe Komponente, den so genannten Richtlinienagenten. Der Richtlinienagent stellt eine Verbindung zu dem Webserver her, der als Host für einen Dienst bzw. eine Ressource fungiert, die durch Access Manager gesichert ist. Der Richtlinienagent schaltet sich bei Anforderungen des Benutzers an die gesicherten Ressourcen im Namen von Access Manager ein. Für einige Java ES-Komponenten, wie Portal Server und Communications Express, werden die Funktionen des Richtlinienagenten von einer Access Manager-Unterkomponente bereitgestellt (siehe Sun Java System Access Manager 7 2005Q4).

Authentifizierung

Access Manager beinhaltet einen Authentifizierungsdienst zur Überprüfung der Identitäten der Benutzer, die (über HTTP oder HTTPS) Zugriff auf Webdienste innerhalb eines Unternehmens anfordern. Beispiel: Ein Firmenangestellter, der die Telefonnummer eines Kollegen nachschlagen muss, verwendet einen Browser, um zum Online-Telefonbuch des Unternehmens zu gelangen. Um sich beim Telefonbuchdienst anzumelden, muss der Benutzer eine Benutzer-ID und ein Passwort angeben.

Die Authentifzierungssequenz ist in Abbildung 3–2 dargestellt. Ein Richtlinienagent schaltet sich in die Anfrage, die eine Anmeldung beim Telefonbuch enthält, ein (1) und schickt eine Anfrage an den Authentifizierungsdienst (2). Der Authentifizierungsdienst prüft die Benutzer-ID und das Kennwort anhand der in Directory Server speicherten Informationen (3). Wenn die Anmeldeanforderung gültig ist, wird der Benutzer authentifiziert (4, 5 und 6) und dem Mitarbeiter wird das Firmentelefonbuch angezeigt (7). Wenn die Anmeldeanforderung nicht gültig ist, wird eine Fehlermeldung generiert und die Authentifizierung schlägt fehl.

Der Authentifizierungsdienst unterstützt auch zertifikatbasierte Authentifizierungen über HTTPS.

Abbildung 3–2 Authentifizierungssequenz

Diagramm mit der Authentifizierungssequenz. Beteiligt sind Webbrowser, Richtlinienagent, Authentifizierungsdienst, Sitzungsdienst und Directory Server.

Single Sign-On

In dem in den vorherigen Abschnitten beschriebenen Authentifizierungsszenario fehlt ein wichtiger Schritt. Wenn die Authentifizierungsanfrage eines Benutzers überprüft ist, wird der Sitzungsdienst von Access Manager aufgerufen (4), wie in Abbildung 3–2 dargestellt. Der Sitzungsdienst erstellt ein Sitzungs-Token, das Identitätsinformationen des Benutzers und eine Token-ID enthält (5). Das Sitzungs-Token wird an den Richtlinienagenten zurückgesendet (6), der es (als Cookie) an den Browser weiterleitet (7), von dem die Authentifizierungsanforderung ausging.

Wenn der authentifizierte Benutzer versucht, auf einen anderen gesicherten Dienst zuzugreifen, leitet der Browser das Sitzungs-Token an den entsprechenden Richtlinienagenten weiter. Der Richtlinienagent überprüft mit dem Sitzungsdienst, ob die frühere Authentifizierung des Benutzers noch gültig ist, und der Benutzer erhält Zugriff auf den zweiten Dienst, ohne dass er noch einmal eine Benutzer-ID und ein Passwort eingeben muss.

Ein Benutzer muss sich daher nur ein einziges Mal anmelden, um bei mehreren von Java Enterprise System bereitgestellten webbasierten Diensten authentifiziert zu werden. Die Single Sign-On-Authentifizierung bleibt gültig, bis sich der Benutzer explizit abmeldet oder die Sitzung abläuft.

Autorisierung

Access Manager beinhaltet auch einen Richtliniendienst, mit dem der Zugriff auf webbasierte Ressourcen in einer Java ES-Umgebung gesteuert werden kann. EineRichtlinie ist eine Regel, die angibt, wer autorisiert ist, unter bestimmten Bedingungen auf eine bestimmte Ressource zuzugreifen. Die Autorisierungssequenz ist in der folgenden Abbildung dargestellt.

Abbildung 3–3 Autorisierungssequenz

Diagramm mit der im Text beschriebenen Autorisierungssequenz. Beteiligt sind der Webbrowser, Richtlinienagent, Richtliniendienst und Directory Server.

Wenn ein authentifizierter Benutzer eine Anforderung für eine durch Access Manager gesicherte Ressource abschickt (1), benachrichtigt der Richtlinienagent den Richtliniendienst (2), der anhand der in Directory Server vorhandenen Informationen (3) die Zugriffsrichtlinie für die Ressource prüft, um festzustellen, ob der Benutzer über die erforderlichen Zugriffsberechtigungen verfügt (4). Wenn der Benutzer zugriffsberechtigt ist (5), wird die Ressourcenanfrage ausgeführt (6).

Access Manager bietet die Mittel, die erforderlich sind, um innerhalb eines Unternehmens Richtlinien zu definieren, zu bearbeiten, zu gewähren, zu widerrufen und zu löschen. Die Richtlinien werden in Directory Server gespeichert und über richtlinienbezogene Attribute in Organisationseinträgen konfiguriert. Es können auch Rollen für Benutzer definiert und in Richtliniendefinitionen integriert werden.

Die Access Manager-Richtlinienagenten sind für die Durchsetzung der Richtlinien zuständig. Wenn der Richtliniendienst eine Zugriffsanforderung zurückweist, verhindert der Richtlinienagent, dass der betreffende Benutzer auf die gesicherten Ressourcen zugreift.

In diesem Kapitel enthaltene Schlüsselbegriffe

Dieser Abschnitt erläutert in diesem Kapitel verwendete wichtige technische Begriffe, wobei der Schwerpunkt darauf liegt zu verdeutlichen, welche Beziehung zwischen diesen Begriffen im Java Enterprise System-Kontext vorliegt.

Verzeichnis

Eine spezielle Art von Datenbank, die für das Lesen (und weniger das Schreiben) von Daten optimiert ist. Die meisten Verzeichnisse beruhen auf LDAP (Lightweight Directory Access Protocol), einem als Industriestandard etablierten Protokoll.

Richtlinie

Eine Richtlinie ist eine Regel, die angibt, wer autorisiert ist, unter bestimmten Bedingungen auf eine bestimmte Ressource zuzugreifen. Diese Regel kann auf Gruppen von Benutzern oder Rollen in einer Organisation basieren.

Einzelidentität

Eine Identität, über die ein Benutzer dank eines einzelnen Benutzereintrags in einem Java Enterprise System-Verzeichnis verfügt. Anhand dieser einzelnen Benutzeridentität kann einem Benutzer der Zugriff auf verschiedene Java Enterprise System-Ressourcen gestattet werden, beispielsweise auf Portale, Webseiten und Dienste, wie Nachrichtendienste, Kalenderdienste und Instant Messaging.

Single Sign-On

Eine Funktion, die es ermöglicht, die Authentifizierung eines Benutzers bei einem Dienst in einem verteilten System automatisch auf andere Dienste in diesem System anzuwenden.