Sun Java Enterprise System 5 - Technische Übersicht

Bereitstellung

In den Phasen Bereitstellung des Lebenszyklus übertragen Sie ein Bereitstellungsszenario in ein Bereitstellungskonzept, das anschließend implementiert, getestet und in einer Produktionsumgebung eingesetzt wird.

Der Bereitstellungsprozess umfasst im Allgemeinen Softwarekomponenten aller Schichten und aller Infrastrukturdienstebenen, die zur Unterstützung einer Softwarelösung erforderlich sind. Grundsätzlich müssen Sie kundenspezfisch entwickelte Anwendungskomponenten (J2EE-Komponenten, Webdienste oder andere Server) und die für die Lösung benötigten Java ES-Komponenten bereitstellen.

Die Aufgaben der Bereitstellung werden in zwei Phasen aufgeteilt, wie in Abbildung 4–1 gezeigt:

Bereitstellungskonzept

In der Bereitstellungskonzeptphase erstellen Sie eine Bereitstellungsarchitektur auf hoher Ebene, gefolgt von Implementierungsspezifikationen auf niedriger Ebene.

Bereitstellungsarchitektur

Eine Bereitstellungsarchitektur wird durch Zuordnung der logischen Modulblöcke einer Anwendung (die logische Architektur) zu einer physischen Computerumgebung erstellt. Hierbei müssen die im Bereitstellungsszenario festgelegten Dienstqualitätsanforderungen erfüllt sein. Das Bereitstellungsszenario wird, wie in der folgenden Abbildung dargestellt, in eine Bereitstellungsarchitektur umgesetzt.

Abbildung 4–3 Umsetzen eines Bereitstellungsszenarios in eine Bereitstellungsarchitektur

Dieses Diagramm zeigt, wie ein Bereitstellungsszenario in eine Bereitstellungsarchitektur umgesetzt wird.

Ein Aspekt dieses Architekturkonzepts bildet die Festlegung der Größe der physischen Umgebung (Bestimmung der Anzahl der Computer und Schätzung ihrer Prozessorstärke und RAM-Anforderungen), die notwendig ist, um die Anforderungen hinsichtlich der Leistung, Verfügbarkeit, Sicherheit und anderer Dienstqualitätsanforderungen zu erfüllen. Nachdem Sie die Größe festgelegt haben, weisen Sie den Computern in der physischen Umgebung Java ES-Komponenten und Anwendungskomponenten zu. Die resultierende Bereitstellungsarchitektur muss die Funktionen der verschiedenen Computer, die Eigenschaften der Systeminfrastrukturdienste und die Beschränkungen für die Betriebs- oder Verfügbarkeitskosten berücksichtigen.

Je größer die Anzahl der Java ES-Komponenten im Bereitstellungsszenario ist und je höher die Dienstqualitätsanforderungen sind, desto höher sind die Ansprüche, die an die Computer und die Netzwerkbandbreite gestellt werden. Wenn die Hardware begrenzt oder extrem teuer ist, müssen Sie eventuell Kompromisse zwischen den Festkosten (Hardware) und den variablen Kosten (Personalbedarf) oder zwischen den verschiedenen Dienstqualitätsanforderungen schließen. Möglicherweise müssen Sie aber auch Ihr Konzept vereinfachen.

Die Konzeption einer Bereitstellungsarchitektur erfolgt oft in sich wiederholenden Schritten. Referenzbereitstellungsarchitekturen dienen als Ausgangspunkt für Java ES-Bereitstellungskonzepte.

Eine Referenzarchitektur basiert auf einem bestimmten Bereitstellungsszenario: Eine logische Architektur mit bestimmten Dienstqualitätsanforderungen. In der Referenzarchitektur wird eine Softwarelösung so innerhalb einer bestimmten physischen Umgebung bereitgestellt, dass die vorgegebenen Dienstqualitätsanforderungen erfüllt werden. Das Testen der Leistung bei vorgegebenen Lasten basiert auf derselben Gruppe von Anwendungsfällen, aus denen das Bereitstellungsszenario entwickelt wurde. Dokumentation zur Referenzarchitektur ist für Java ES-Kunden öffentlich verfügbar.

Auf der Grundlage einer Referenz-Bereitstellungsarchitektur oder einer Kombination von Referenzarchitekturen können Sie eine erste näherungsweise Bereitstellungsarchitektur entwerfen, die Ihre eigenen Bereitstellungsszenario-Anforderungen erfüllt. Sie können unter Berücksichtigung der Unterschiede zwischen Ihrem eigenen Bereitstellungsszenario und den Bereitstellungsszenarios, auf denen die Referenzarchitekturen basieren, die Referenzarchitekturen anpassen oder als Referenzpunkte verwenden. Auf diese Weise können Sie die Auswirkungen Ihrer eigenen Größen-, Leistungs-, Sicherheits-, Verfügbarkeits-, Kapazitäts- und Zweckmäßigkeitsanforderungen beurteilen.

Implementierungsspezifikationen

Implementierungsspezifikationen enthalten die für die Implementierung einer Bereitstellungsarchitektur notwendigen Einzelheiten. Die Spezifikationen enthalten in der Regel folgende Informationen:

Implementierungspläne

Implementierungspläne beschreiben, wie Sie die Durchführung der verschiedenen Aufgaben der Phase der Bereitstellungsimplementierung geplant haben. Die Pläne enthalten in der Regel folgende Aufgaben:

Bereitstellungsimplementierung

Die Implementierung eines Bereitstellungskonzepts besteht aus den im vorherigen Abschnitt aufgeführten Aufgaben, die auch in Abbildung 4–1 dargestellt sind. Die Reihenfolge dieser Aufgaben ist nicht streng vorgegeben, da der Bereitstellungsprozess als solcher iterativ verläuft. In den nachfolgenden Unterabschnitten werden die wichtigsten Aufgaben der Bereitstellungsimplementierung in der Reihenfolge beschrieben, in der sie üblicherweise ausgeführt werden.

Einrichten der Hardware

Die Implementierungsspezifikationen enthalten alle Details Ihrer physischen Umgebung: Computer, Netzwerkstruktur, Netzwerkhardware (mit Leitungen, Schaltern, Routern und Lastausgleichsmodulen), Speichergeräte usw. Die gesamte Hardware muss als Plattform für Ihre Java ES-Lösung eingerichtet werden.

Installation, Aktualisierung und Migration der Software

Aus der Bereitstellungsarchitektur und den in den Implementierungsspezifikationen enthaltenen zusätzlichen Details erfahren Sie, welche Anwendungskomponenten und welche Java ES-Komponenten auf jedem Computer Ihrer physischen Umgebung vorhanden sein müssen. Mit dem in Java ES integrierten Installationsprogramm installieren Sie auf jedem Computer Ihrer Bereitstellungsarchitektur die entsprechenden Java ES-Komponenten (siehe Das integrierte Installationsprogramm von Java ES).

Ihr Installationsplan beschreibt den Ablauf und den Umfang der Installationssitzungen. Nach welchem Ansatz Sie die Installationen durchführen, kann jedoch davon abhängen, ob Sie eine Neuinstallation von Java ES durchführen oder ob Sie zuvor bereits installierte Java ES-Komponenten aktualisieren oder ob Sie Komponenten anderer Hersteller durch Java ES ersetzen. Bei den beiden letztgenannten Java ES-Einführungsszenarios ist es häufig notwendig, dass aus Gründen der Kompatibilität Daten oder Anwendungscode migriert werden müssen.

Konfiguration und Anpassung des Systems

Damit die verschiedenen Systemkomponenten als integriertes System zusammenarbeiten, muss die Systemkonfiguration an einigen Stellen angepasst werden. Dazu gehört zuerst die für den Start jeder Systemkomponente notwendige Erstkonfiguration. Anschließend müssen alle Java ES-Komponenten so konfiguriert werden, dass sie mit den Komponenten kommunizieren, mit denen sie interagieren.

Entsprechend der für jede Komponente vorliegenden Verfügbarkeitslösung muss darüber hinaus die Hochverfügbarkeit konfiguriert werden. Die Benutzer müssen eingerichtet werden, damit sie auf die verschiedenen Dienste zugreifen können. Darüber hinaus müssen die Richtlinien und die Steuerung für die Authentifizierung und die Autorisierung eingerichtet werden (siehe Integrierte Identitäts- und Sicherheitsdienste).

In den meisten Fällen gehören zu den Konfigurationsaufgaben auch gewisse Anpassungen der Java ES-Komponenten, damit exakt die benötigten Funktionen verfügbar sind. Sie passen beispielsweise Portal Server für gewöhnlich an, um Anschlusskanäle verfügbar zu machen und Access Manager, um Autorisierungsaufgaben durchzuführen usw.

Entwicklung und Integration

Die logische Architektur, die im Bereitstellungsszenario festgelegt ist, bestimmt das Ausmaß der kundenspezifischen Entwicklungarbeit, die für die Implementierung einer Lösung erforderlich ist.

Für einige Bereitstellungen kann die Entwicklungsarbeit viel umfangreicher sein. Möglicherweise müssen Sie unter Verwendung von J2EE-Komponenten, die in einer Anwendungsserver- oder Web Server-Umgebung ausgeführt werden, ganz neue Geschäfts- und Präsentationsdienste entwickeln. In diesen Fällen erstellen Sie einen Prototyp für die Lösung und testen das Konzept, bevor Sie mit der vollständigen Entwicklung anfangen.

Für Lösungen, bei denen umfangreiche Entwicklungsarbeiten notwendig sind, bietet Sun JavaTM Studio verschiedene Tools für die Programmierung verteilter Komponenten oder Geschäftsdienste. Die Entwickler-Tools von Sun Java Studio vereinfachen die Programmierung und das Testen von Anwendungen, die von der Java ES-Infrastruktur unterstützt werden.

In bestimmten Situationen müssen Java ES-Komponenten mit Legacy-Anwendungen oder Diensten anderer Hersteller integriert werden. Eine solche Integration kann in der Datenschicht vorhandene Verzeichnis- oder Datendienste oder in der Geschäftsdienstschicht vorhandene Komponenten betreffen. Für die Integration von Java ES-Komponenten in solche Systeme kann die Migration von Daten oder Anwendungscode notwendig sein.

Die J2EE-Plattform bietet ein Connector Framework, mit dem Sie vorhandene Anwendungen in die Anwendungsserver-Umgebung aufnehmen, indem Sie J2EE-Ressourcenadapter entwickeln. Message Queue bietet für die Integration diverser Anwendungen eine robuste, asynchrone Messaging-Funktion.

Testen von Prototypen und Piloten

Je nach Anpassungsgrad oder Entwicklungsaufwand müssen Sie Ihre Bereitstellungsarchitektur zu einem bestimmten Zeitpunkt wie folgt testen: Sie müssen die Lösung anhand der Anwendungsfälle testen und überprüfen, ob sie die Dienstqualitätsanforderungen erfüllt.

Wenn Sie relativ wenig kundenspezifisch entwickelte Dienste einsetzen (die Bereitstellung also überwiegend Out-of-the-Box erfolgt), müssen für Ihre Lösung lediglich die Java ES-Komponenten angepasst und ein Pilottest des Systems durchgeführt werden.

Wenn Sie jedoch eine wichtige neue Anwendungslogik entwickelt und benutzerdefinierte Dienste erstellt haben, müssen Sie wahrscheinlich umfangreichere Tests durchführen, wie Prototyp-Tests, Integrationstest usw.

Wenn diese Tests Schwachstellen Ihrer Bereitstellungsarchitektur aufzeigen, müssen Sie die Architektur ändern und erneut testen. Dieser schrittweise Prozess sollte schließlich zu einer Bereitstellungsarchitektur und einer Implementierung führen, die die Bereitstellung in einer Produktionsumgebung gewährleisten kann.

Produktionseinsatz

Der Produktionseinsatz besteht in der Anwendung Ihrer Bereitstellungsimplementierung in einer Produktionsumgebung. Diese Phase umfasst das Installieren, Konfigurieren und Starten der verteilten Anwendungen und Infrastrukturdienste in einer Produktionsumgebung, die Einrichtung von Produktionssystem-Endbenutzern sowie die Einrichtung von Single Sign-On, Zugriffsrichtlinien usw. Üblicherweise beginnen Sie mit einer eingeschränkten Bereitstellung und dehnen diese dann auf das gesamte Unternehmen aus. Hierbei führen Sie Testläufe aus, in denen Sie die Belastung stetig steigern, um zu bestätigen, dass die Qualitätsanforderungen erfüllt werden.