Sun Java Enterprise System 2005Q4 Technischer Überblick

Kapitel 4 Aufgaben des Lösungslebenszyklus von Java Enterprise System

In diesem Kapitel werden die Konzepte und die dazugehörige Terminologie besprochen, die für die einzelnen Phasen des Java ES-Lösungslebenszyklus relevant sind. Der Schwerpunkt liegt dabei auf den Bereitstellungsaufgaben, insbesondere auf dem Bereitstellungskonzept und den Aufgaben der Bereitstellungsimplementierung.

Das Kapitel ist nach den folgenden drei Lebenszyklusphasen aufgebaut.

Aufgaben des Lösungslebenszyklus

Der Lösungslebenszyklus wurde in Kapitel 1, Einführung in Java Enterprise System als ein Standardansatz für die Implementierung von Geschäftslösungen mit der Java ES-Software vorgestellt. In diesem Kapitel werden die Aufgaben beschrieben, die in den einzelnen Phasen des Lebenszyklus anfallen. Das Lebenszyklusdiagramm wird zu Referenzwecken in Abbildung 4–1 noch einmal wiederholt.

Abbildung 4–1 Aufgaben des Lösungslebenszyklus

Abbildung der Lösungslebenszyklusphasen, die jeweils aus einer Reihe von Aufgaben bestehen und in den weiteren Abschnitten dieses Kapitels beschrieben werden.

Bereitstellungsvorbereitung

In den Phasen der Bereitstellungs- vorbereitung des Lebenszyklus übertragen Sie die Analyse der Geschäftsanforderungen in ein Bereitstellungsszenario. Das Bereitstellungsszenario dient als Spezifikation für ein Bereitstellungskonzept.

Die Aufgaben der Bereitstellungsvorbereitung werden in drei Phasen aufgeteilt, wie in Abbildung 4–1 gezeigt:

Die logische Architektur wird zusammen mit Dienstqualitätsanforderungen wie Leistung, Verfügbarkeit und Sicherheit in einem Bereistellungsszenario zusammengefasst, wie in der folgenden Abbildung gezeigt. Weitere Informationen zu den Phasen der Bereitstellungsvorbereitung des Lebenszyklus finden Sie im Sun Java Enterprise System 2005Q4 Handbuch zur Bereitstellungsplanung.

Abbildung 4–2 Spezifizieren eines Bereitstellungsszenarios

Abbildung stellt dar, wie Geschäftsanforderungen über Anwendungsfälle und Anwendungsanalyse in ein Bereitstellungsszenario umgesetzt werden.

Bereitstellung

In den Phasen der 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 inAbbildung 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. Als Ausgangspunkt für ein Bereitstellungskonzept entwickelt das Java Enterprise System jedoch eine Reihe von Referenz- Bereitstellungs- architektur n.

Eine Referenzarchitektur basiert auf einem bestimmten Bereitstellungsszenario: Einer logischen 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 in der Regel ausgeführt werden. Detaillierte Angaben zur ausführlichen Dokumentation dieser Aufgaben finden Sie im Übersicht über die Dokumentation zu Sun Java Enterprise System 2005Q4.

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 Enterprise System).

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 Enterprise System durchführen oder ob Sie zuvor bereits installierte Java ES-Komponenten aktualisieren oder ob Sie Komponenten anderer Hersteller durch Java Enterprise System ersetzen. Bei den beiden letztgenannten Java ES-Einführungsszenarien 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. So passen Sie in der Regel Portal Server an, damit dieser Zugangskanäle bereitstellt, Access Manager, damit er Autorisierungsaufgaben durchführt und den Messaging Server, damit er die Virusprüfung und den Spam-Filter einsetzt.

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 Application Server- 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 Java Studio verschiedene Tools für die Programmierung verteilter Komponenten oder Geschäftsdienste. Sun Java Studio vereinfacht 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 Application Server-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

Abhängig vom Umfang der notwendigen Anpassungs- oder Entwicklungsarbeiten, müssen Sie Ihre Bereitstellungsarchitektur an bestimmten Punkten überprüfen. Sie müssen die Lösung im Hinblick auf die Anwendungsfälle testen und prüfen, ob die Dienstqualitätsanforderungen erfüllt werden.

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. In der Regel 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.

Bereitstellungsnachbereitung

In der Lebenzskylusphase Bereitstellungs- nachbereitung führen Sie eine bereitgestellte Lösung in einer Produktionsumgebung aus. Zur Betriebsphase des Lebenszyklus gehörende folgende Aufgaben:

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.

Bereitstellung

Ein Abschnitt im Lebenszyklus einer Java Enterprise System-Lösung, in dem ein Bereitstellungsszenario in ein Bereitstellungskonzept übertragen, dann implementiert, als Prototyp getestet und schließlich in einer Produktionsumgebung eingesetzt wird. Das Endprodukt dieses Prozesses wird ebenfalls als Bereitstellung (oder bereitgestellte Lösung) bezeichnet.

Bereitstellungsszenario

Eine Logische Architektur für eine Java Enterprise System-Lösung und die Dienstqualitätsanforderungen, die von der Lösung erfüllt werden müssen, um den Geschäftsanforderungen zu entsprechen. Die Dienstqualitätsanforderungen betreffen u.a. folgende Aspekte: Leistung, Verfügbarkeit, Sicherheit, Zweckmäßigkeit und Skalierbarkeit/latente Kapazität. Ein Bereitstellungsszenario ist der Ausgangspunkt für ein Bereitstellungskonzept.

Entwicklung

Eine Aufgabe im Bereitstellungsprozess der Java Enterprise System-Lösung, bei der die angepassten Komponenten einer Bereitstellungs- architektur programmiert und getestet werden.

Bereitstellungs- vorbereitung

Ein Abschnitt im Lebenszyklus der Java Enterprise System-Lösung, in dem die Geschäftsanforderungen in ein Bereitstellungsszenario umgesetzt werden: Eine Logische Architektur und eine Reihe von Dienstqualitätsanforderungen, die die Lösung erfüllen muss.

Bereitstellungs- nachbereitung

Ein Abschnitt im Lebenszyklus einer Java Enterprise System-Lösung, in dem verteilte Anwendungen gestartet, überwacht, zur Optimierung der Leistung angepasst und dynamisch mit neuen Funktionen aufgerüstet werden.

Referenz- Bereitstellungs- architektur

Eine Bereitstellungs- architektur, die hinsichtlich der Leistung entworfen, implementiert und getestet wurde. Referenz-Bereitstellungsarchitekturen dienen als Ausgangspunkt für die Konzipierung von Bereitstellungsarchitekturen für individuell angepasste Lösungen.

Anwendungsfall

Eine bestimmte Endbenutzeraufgabe oder eine Reihe von Aufgaben, die eineVerteilte Unternehmens- anwendung ausführt und die als Basis für die Konzipierung, das Testen und das Messen der Leistung der Anwendung dient.