Sun Java Enterprise System 2005Q4 Technischer Überblick

Kapitel 1 Einführung in Java Enterprise System

Sun JavaTM Enterprise System (Java ES) besteht aus einem Satz von Softwarekomponenten, die Dienste bieten, die bei der Unterstützung verteilter Anwendungen in Unternehmensstärke in einer Netzwerk- oder Internetumgebung benötigt werden. Solche Anwendungen werden in diesem Buch als verteilte Unternehmensanwendungen bezeichnet.

Java Enterprise System ist gleichzeitig eine Sun-Softwareversion und eine Zustellungsmethode sowie eine Geschäfts- und Preisstrategie. Der Schwerpunkt dieses Buchs liegt jedoch auf den Softwarekomponenten von Java Enterprise System und den dadurch bereitgestellten Diensten.

In diesem Kapitel werden das Java Enterprise System und die Aufgaben vorgestellt, die bei Verwendung des Systems ausgeführt werden. Es deckt folgende Themen ab:

Wozu benötigen Sie Java Enterprise System?

Die Geschäftsanforderungen von heute fordern Softwarelösungen, die über eine Netzwerk- oder Internetumgebung hinweg verteilt sind sowie hohe Leistung, Verfügbarkeit, Sicherheit, Skalierbarkeit und Zweckmäßigkeit bieten.

Java Enterprise System bietet Infrastrukturdienste, die benötigt werden, um distributed enterprise applications zu unterstützen, das heißt, Anwendungen, die in der Regel folgende Merkmale aufweisen:

Verteilte Unternehmensanwendungen erfordern eine zugrunde liegende Infrastruktur von services, die den verteilten Komponenten die Kommunikation untereinander, die Koordination der Arbeit, die Implementierung eines sicheren Zugriffs usw. ermöglichen. Diese Infrastrukturdienste werden ihrerseits von einer Hardwareumgebung aus Computern und Netzwerkverbindungen unterstützt. Diese Umgebung enthält die Hardware-Architekturen SPARC® und x86 (Intel und AMD).

In der folgenden Abbildung ist das allgemeine Ebenenschema dargestellt. Java Enterprise System stellt überwiegend die Ebene der verteilten Infrastrukturdienste bereit, die in Abbildung 1–1 dargestellt sind. Dienste von Java Enterprise System umfassen jedoch auch einige Dienste der Anwendungsebene, auf die Endbenutzer zugreifen können.

Abbildung 1–1 Erforderliche Unterstützung für verteilte Unternehmensanwendungen

Dieses Diagramm zeigt, wie eine verteilte Unternehmensanwendung auf verteilten Infrastrukturdiensten basiert, die wiederum auf einer vernetzten Hardwareumgebung basieren.

Zu den von Java Enterprise System bereitgestellten Diensten gehören:

Java Enterprise System bietet außerdem Dienste, mit denen die Verfügbarkeit, Skalierbarkeit, Zweckmäßigkeit und weitere Anwendungs- oder Systemqualitäten verbessert werden. Zu den von Java Enterprise System bereitgestellten Dienstqualitätsfunktionen gehören:

Sie können einen oder mehrere Java Enterprise System-Dienste bereitstellten, von denen jeder mehrere Java Enterprise System-Komponenten enthalten kann.

Java Enterprise System-Komponenten

Java Enterprise System stellt eine Integration verschiedener unabhängiger Softwareprodukte und -komponenten in einem einzigen Softwaresystem dar. Die Komponenten dieses Systems wurden zusammen getestet, um volle Interoperabilität zu gewährleisten. Die Integration der Komponenten wird durch eine Reihe von Funktionen auf Systemebene ermöglicht:

Diese Funktionen werden in den nachfolgenden Kapiteln dieses Buchs beschrieben. In diesem Abschnitt werden hauptsächlich die verschiedenen in Java Enterprise System integrierten Komponenten vorgestellt. Diese system components können in drei Hauptkategorien unterteilt werden, wie in der folgenden Darstellung gezeigt:

Abbildung 1–2 Kategorien der Java ES-Komponenten

Diese Abbildung zeigt die Kategorien der Java ES-Komponenten und deren Beziehung zueinander.

Systemdienstkomponenten

Einige Java ES-Komponenten bilden die Hauptdienste für die Unterstützung verteilter Softwarelösungen. Zu diesen system services gehören Zugangsdienste, Kommunikations- und Zusammenarbeitsdienste, Identitäts- und Sicherheitsdienste, Webcontainerdienste sowie J2EE-Anwendungsdienste.

Die folgende Tabelle enthält eine kurze Beschreibung der system service components, die diese verteilten Dienste bereitstellen, und der von diesen Diensten angebotenen Dienste. Jede Systemdienstkomponente ist ein Servervorgang mit mehreren Threads, der eine Vielzahl von Clients unterstützen kann. Weitere Informationen zu den einzelnen Komponenten finden Sie unterBeschreibungen der Systemdienstkomponenten.

Tabelle 1–1 Java ES-Systemdienstkomponenten

Komponente 

Bereitgestellte Systemdienste 

Sun Java System Access Manager

Stellt Dienste für die Zugriffsverwaltung und die digitale Identitätsverwaltung bereit. Zu den Zugriffsverwaltungsdiensten zählen die Authentifizierung (einschließlich Single-Sign-On) und die rollenbasierte Autorisierung für den Zugriff auf Anwendungen und/oder Dienste. Die Verwaltungsdienste umfassen die zentralisierte Verwaltung einzelner Benutzerkonten, Rollen, Gruppen und Richtlinien.

Sun Java System Application Server

Stellt J2EE-Containerdienste für Enterprise JEnterprise JavaBeansTM-Komponenten (EJB-Komponenten) wie Sitzungs-Beans, Einheiten-Beans und nachrichtengesteuerte Beans bereit. Der Container bietet die Infrastrukturdienste, die für die Interaktion von eng miteinander verknüpften verteilten Komponenten erforderlich sind, und macht Application Server so zu einer Plattform für die Entwicklung und Ausführung von E-Commerce-Anwendungen und Webdiensten. Application Server stellt außerdem Webcontainterdienste bereit.

Sun Java System Calendar Server

Dieser Dienst bietet Kalender- und Planungsdienste für Endbenutzer und Endbenutzergruppen. Calendar Server umfasst einen browserbasierten Client, der mit dem Server interagiert. 

Sun Java System Directory Server

Stellt ein zentrales Repository zum Speichern und Verwalten von Intranet- und Internetinformationen, wie Identitätsprofile (Mitarbeiter, Kunden, Lieferanten usw.), Benutzeranmeldeinformationen (öffentliche Schlüsselzertifikate, Passwörter und PIN-Nummern), Zugriffsrechte sowie Anwendungs- und Netzwerkressourceninformationen bereit. 

Sun Java System Instant Messaging

Ermöglicht die sichere Echtzeit-Kommunikation zwischen Endbenutzern, beispielsweise mittels Instant Messaging (Chat), Konferenzen, Warnungen, Neuigkeiten, Polling und Dateiübertragung. Dieser Dienst enthält einen Präsenz-Manager, der den Benutzern mitteilt, wer zurzeit online ist, sowie einen browserbasierten Client, der mit dem Server interagiert. 

Sun Java System Message Queue

Bietet zuverlässigen, asynchronen Messaging-Austausch zwischen lose miteinander verknüpften verteilten Komponenten und Anwendungen. Message Queue implementiert die Java Message Service (JMS) API-Spezifikation und liefert Unternehmensfunktionen wie Sicherheit, Skalierbarkeit und Remoteverwaltung.

Sun Java System Messaging Server

Bietet sicheres, verlässliches, Store-and-Forward Messaging für große Kapazitäten, das E-Mail, Fax, Pager, Sprache und Video unterstützt. Messaging Server kann auf mehrere Nachrichtenspeicher gleichzeitig zugreifen und ermöglicht die Filterung von Inhalten zur Zurückweisung unerwünschter E-Mails und zur Vermeidung von Virenangriffen. 

Sun Java System Portal Server

Stellt browserbasierten Clients, die auf Geschäftsanwendungen oder -dienste zugreifen, wichtige Zugangsdienste wie die Aggregation und Personalisierung von Inhalten bereit. Portal Server stellt darüber hinaus eine konfigurierbare Suchmaschine bereit. 

Sun Java System Web Server

Bietet J2EETM-Webcontainerdienste für Java-Webkomponenten, wie die Komponenten Java Servlet und JavaServer PagesTM (JSPTM). Web Server unterstützt zudem andere Webanwendungstechnologien für die Bereitstellung von statischem und dynamischem Webinhalt wie CGI-Skripts und Java System Active Server Pages.

Sun Java System Service Registry 

Bietet eine Registry und ein Repository für die Unterstützung von Service-Oriented Architeture-(SOA-)Anwendungen. Service Registry implementiert Industriestandards für die Registrierung und das Auffinden von Webdiensten sowie für die Verwaltung der dazugehörigen Informationen und Fakten, Artefakte (z. B. XMLSchema, Unternehmensprozessregeln, Zugriffssteuerung, Versionskontrolle). 

Dienstqualitätskomponenten

Neben den in Tabelle 1–1 gezeigten Systemdienstkomponenten enthält Java Enterprise System eine Vielzahl von Komponenten, mit denen die Qualität der von den Systemdienstkomponenten bereitgestellten Dienste verbessert wird. Dienstqualitätskomponenten können auch kundenspezifisch entwickelte Anwendungsdienste verbessern. Die service quality components lassen sich in folgende Kategorien unterteilen:

Verfügbarkeitskomponenten

Verfügbarkeitskomponenten sorgen für eine nahezu kontinuierliche Systembetriebszeit von Systemdienstkomponenten und benutzerdefinierten Anwendungsdiensten. Die folgende Tabelle enthält die in Java Enterprise System enthaltenen Verfügbarkeitskomponenten und die von diesen angebotenen Dienste. Weitere Informationen zu den einzelnen Komponenten finden Sie unter Beschreibung der Verfügbarkeitskomponenten.

Tabelle 1–2 Java ES-Verfügbarkeitskomponenten

Komponente 

Bereitgestellte Verfügbarkeitsdienste 

Sun Cluster

Bietet Hochverfügbarkeits- und Skalierbarkeitsdienste für Java Enterprise System und für die Anwendungen, die basierend auf der Java Enterprise System-Infrastruktur ausgeführt werden, sowie für die Hardwareumgebung, in der beide bereitgestellt werden. 

High Availability Session Store

Bietet einen Datenspeicher, der Anwendungsdaten, insbesondere Sitzungsstatusdaten, auch im Fehlerfall verfügbar macht. 

Zugriffskomponenten

Zugriffskomponenten bieten Front-End-Zugriff auf Systemdienste und sorgen für einen sicheren Zugriff über Internetstandorte, die sich außerhalb der Firewall des Unternehmens befinden. Neben diesen Zugriffsmöglichkeiten bieten viele auch eine Routing-Funktion. Die folgende Tabelle enthält die in Java Enterprise System enthaltenen Zugriffskomponenten und die von diesen angebotenen Dienste. Weitere Informationen zu den einzelnen Komponenten finden Sie unter Beschreibung der Zugriffskomponenten.

Tabelle 1–3 Java ES-Zugriffskomponenten

Komponente 

Bereitgestellte Zugriffsdienste 

Sun Java System Directory Proxy Server

Bietet Sicherheitsdienste für Directory Server von außerhalb der Unternehmens-Firewall. Directory Proxy Server bietet Verzeichniszugriffssteuerung und Routing für mehrere Directory Server-Instanzen.  

Sun Java System Web Proxy Server 

Übernimmt Cache- und Filterfunktionen sowie die Verteilung von Webinhalt sowohl für ausgehende als auch für eingehende Internetanforderungen. 

Sun Java System Communications Express 

Bietet, je nach Konfiguration, webbasierten Zugriff auf Messaging Server, Calendar Server und Directory Server. 

Sun Java System Portal Server Secure Remote Access

Bietet sicheren Internetzugriff von außerhalb der Unternehmens-Firewall auf den Inhalt und die Dienste von Portal Server, einschließlich interner Portale.  

 

Sun Java System Connector for Microsoft Outlook

Bietet Desktop-Clients, die Microsoft Outlook nutzen, eine Schnittstelle zu Messaging Server und Calendar Server.  

Verwaltungskomponenten

Verwaltungskomponenten bieten Verwaltungsfunktionen für Systemdienste, wie Konfiguration und Überwachung. Die folgende Tabelle enthält die in Java Enterprise System enthaltenen Verwaltungskomponenten und die von diesen angebotenen Dienste. Weitere Informationen zu den einzelnen Komponenten finden Sie unter Beschreibung der Verwaltungskomponenten.

Tabelle 1–4 Java ES-Verwaltungskomponenten

Komponente 

Bereitgestellte Verwaltungsdienste 

Sun Java System Administration Server (und Console)

Bietet ein grafisches Verwaltungstool für die Konfiguration und Verwaltung von Directory Server und Messaging Server.  

Sun Java System Directory Preparation Tool

Bietet ein Skript für die Konfiguration von Directory Server mit dem Schema, das benötigt wird, damit Benutzer auf Messaging Server und Calendar Server zugreifen können. 

Sun Java System Delegated Administrator

Bietet Tools für die Befehlszeile und die Benutzeroberfläche, mit denen Benutzer Einträge in Directory Server mit den von Messaging Server und Calendar Server benötigten Benutzerattributen auffüllen können. 

Gemeinsam genutzte Komponenten

Java Enterprise System enthält eine Vielzahl an lokal installierten gemeinsam genutzten Bibliotheken, von denen viele Systemdienstkomponenten und Dienstqualitätskomponenten abhängen. Die shared components von Java ES bieten lokale Dienste für Java ES-Komponenten, die auf demselben Hostcomputer ausgeführt werden.

Gemeinsam genutzte Komponenten werden oft eingesetzt, um die Portierbarkeit zwischen unterschiedlichen Betriebssystemen zu gewährleisten. Beispiele für gemeinsam genutzte Java Enterprise System-Komponenten: Java 2 Platform, Standard Edition (J2SETM-Plattform), Netscape Portable Runtime (NSPR), Network Security Services (NSS), Network Security Services for Java (JSS) usw. Eine vollständige Liste finden Sie unter Gemeinsam genutzte Komponenten.

Die gemeinsam genutzten Komponenten werden automatisch vom Java ES-Installationsprogramm entsprechend der zu installierenden Systemdienste und Dienstqualitätskomponenten installiert.

Arbeiten mit Java Enterprise System

Beim Erstellen von auf Java Enterprise System-Software basierenden Unternehmenslösungen fallen einige Standardaufgaben an. Diese Aufgaben fallen je nach Startpunkt der Einführung von Java Enterprise System und der Art der Lösung, die erstellt und bereitgestellt werden soll, unterschiedlich aus.

Dieser Abschnitt behandelt zwei Aspekte des Arbeitens mit Java Enterprise System: Den Java Enterprise System-Lösungslebenszyklus und die verschiedenen Einführungsszenarien, die in der Regel bestehen.

Java Enterprise System-Lösungslebenszyklus

Die Aufgaben, die beim Erstellen von auf Java ES-Software basierenden Unternehmenslösungen anfallen, können in mehrere Phasen unterteilt werden. Diese sind in Abbildung 1–3 dargestellt. Die Abbildung zeigt außerdem, welche Kategorien von Java Enterprise System-Benutzern diese Aufgaben normalerweise durchführen.

Abbildung 1–3 Phasen des Lebenszyklus einer Lösung und Benutzerkategorien

Abbildung mit Lebenszyklusphasen und den Kategorien von Java ES-Benutzern, die die in jeder Phase anfallenden Aufgaben durchführen.

Die in Abbildung 1–3 gezeigten Lebenszyklusphasen können in folgende allgemeine Gruppen unterteilt werden:

Der Lösungslebenszyklus und die in jeder Phase anfallenden Aufgaben (siehe Abbildung 1–3) werden in Kapitel 4, Aufgaben des Lösungslebenszyklus von Java Enterprise System eingehend erläutert.

Abbildung 1–3 zeigt die Java ES-Benutzer, die üblicherweise die Aufgaben in den einzelnen Lebenszyklusphasen durchführen. Wenn Sie mit Java ES arbeiten, sollte Ihre Funktion einer oder mehreren der Benutzerkategorien entsprechen, die in Abbildung 1–3 aufgeführt sind. Die folgende Tabelle beschreibt die Kenntnisse und den Hintergrund der einzelnen Benutzerkategorien.

Tabelle 1–5 Java ES-Benutzerkategorieren für Aufgaben im Lebenszyklus

Benutzer 

Fähigkeiten und Kenntnisse 

Phasen 

Geschäftsplaner

Systemanalyst 

Eher allgemeines, anstatt tiefer gehendes technisches Wissen. 

Verständnis der strategischen Orientierung des Unternehmens. 

Kenntnis der Geschäftsprozesse, -ziele und -anforderungen. 

Geschäftsanalyse 

Technische Anforderungen 

Logisches Konzept 

Architekt

Sehr technisch orientiert. 

Breite Kenntnis der Bereitstellungsarchitekturen. 

Kenntnis der neuesten Technologien. 

Verständnis der Geschäftsanforderungen und -beschränkungen. 

Logisches Konzept 

Bereitstellungskonzept 

Systemintegrator

Außendiensttechniker 

Systemadministrator 

System-Manager 

Sehr technisch orientiert. 

Tiefgehende Kenntnis der IT-Umgebungen. 

Erfahrung mit der Implementierung verteilter Softwarelösungen. 

Kenntnis der Netzwerkarchitektur, Protokolle, Geräte und Sicherheit. 

Kenntnis der Skript- und Programmiersprachen. 

Bereitstellungskonzept 

Bereitstellungsimplementierung 

Spezialisierter Systemadministrator

Bevollmächtigter Administrator 

Wartungstechniker 

Spezielle technische Kenntnisse oder Produktkenntnisse. 

Gute Kenntnis der Hardware, Plattformen, Verzeichnisse und Datenbanken. 

Geschult in der Überwachung, Fehlerbehebung und Aufrüstung von Software. 

Kenntnis der Systemverwaltung für Betriebssystemplattformen. 

Vorgänge 

Java Enterprise System-Einführungsszenarien

Der Unternehmensbedarf, der zur Einführung von Java ES führt, ist sehr unterschiedlich. Das übergeordnete Ziel nahezu jeder Java ES-Bereitstellung stimmt jedoch mit einem der folgenden adoption scenarios überein:

Jedes Einführungsszenario bietet eigene Aspekte und Herausforderungen. Der in Abbildung 1–3 gezeigte Lösungslebenszyklus kommt unabhängig davon, welches Einführungsszenario auf Ihre Situation zutrifft, zur Anwendung. Abhängig von Ihrem Einführungsszenario sind die in der Lebenszyklusphase zu lösenden Probleme und die zu investierenden Ressourcen jedoch unterschiedlich.

Die folgenden Punkte gelten abgestuft für die Einführungsszenarien:

Die folgende Tabelle fasst die Art der Punkte zusammen, die bei den einzelnen Einführungsszenarien von Java ES von Bedeutung sind.

Tabelle 1–6 Aspekte unterschiedlicher Java ES-Einführungsszenarien

Einführungsszenarien 

Migration 

Integration 

Schulung 

Hardware 

Neues System 

Nicht zutreffend 

Relativ einfache Integration neuer Komponenten 

Normalerweise ein wichtiger Aspekt 

Ausgleich zwischen Ausrüstungskosten und Arbeitskosten. [Der Einsatz einiger leistungsstarker Computer erhöht im Allgemeinen die Anlagekosten, wenn weniger IT-Ressourcen benötigt werden. Der Einsatz vieler kleiner Computer senkt im Allgemeinen die Anlagekosten, wenn mehr IT-Ressourcen benötigt werden.]

Verbesserung 

Kann ein bedeutender Aspekt sein 

Neue Komponenten müssen in vorhandene Systeme integriert werden 

Kann ein wichtiger Aspekt sein 

Kann wegen vorhandener Anlagen zu signifikanten Einschränkungen führen 

Erweiterung 

Üblicherweise kein Aspekt 

Gegebenenfalls müssen neue Komponenten in vorhandene Systeme integriert werden 

Gegebenenfalls ein wichtiger Aspekt 

Macht üblicherweise neue Hardware notwendig, mit denselben Abwägungen wie bei einem neuen System 

Aufrüstung 

Kann ein wichtiger Aspekt sein 

Relativ einfache Integration aufgerüsteter Komponenten 

Relativ unwesentlicher Aspekt 

Relativ unwesentlicher Aspekt 

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.

Einführungsszenario

Der wesentliche Grund für die Bereitstellung von Java Enterprise System-Software, der durch die Ausgangssitutation hinsichtlich der Systemsoftware und das zu erreichende Ziel gekennzeichnet ist. Es gibt vier grundlegende Java Enterprise System-Einführungsszenarien: neues System, Ersatz, Erweiterung und Aufrüstung.

Komponente

Eine Softwarelogikeinheit, die zum Aufbau von verteilten Anwendungen verwendet wird. Bei einer Komponente kann es sich um eine der in Java Enterprise System enthaltenen system components handeln oder um eine kundenspezifische entwickelte Anwendungs- komponente. Eine Anwendungskomponente entspricht normalerweise einem verteilten Komponentenmodell (z. B. CORBA und der J2EETM-Plattform) und führt bestimmte Computerfunktionen durch. Diese Komponenten bieten einzeln oder kombiniert business services und können als web services zusammengefasst werden.

Verteilte Unternehmens- anwendung

Eine Anwendung, deren Logik sich über eine Netzwerk- oder Internetumgebung hinweg erstreckt (der Verteilungsaspekt) und deren Umfang und Größe die Anforderungen einer Produktionsumgebung oder eines Dienstanbieters erfüllen (der Unternehmensaspekt).

Endbenutzer

Eine Person, die eine verteilte Anwendung nutzt, häufig über eine grafische Benutzeroberfläche, wie die Oberfläche eines Internetbrowsers oder eines mobilen Geräts. Die Anzahl der gleichzeitig von einer Anwendung unterstützten Endbenutzer bildet einen wichtigen Faktor für dieBereitstellungs- architektur der Anwendung.

Dienst

Eine Softwarefunktion, die von einem oder mehreren clients ausgeführt wird. Diese Funktion kann auf einer sehr niedrigen Ebene, beispielsweise eine Arbeitsspeicherverwaltung, oder auf hoher Ebene dargestellt werden, beispielsweise eine Kreditüberprüfung durch einenGeschäftsdienst. Ein Dienst auf hoher Ebene kann aus einer Reihe einzelner Dienste bestehen. Die Dienste können lokal (für lokale Clients verfügbar) oder verteilt (für Remote-Clients verfügbar) sein.

Dienstqualitäts- komponente

Eine der in Java Enterprise System enthaltenen Arten von system components. Komponenten verbessern die Verfügbarkeit, Sicherheit, Skalierbarkeit, Zweckmäßigkeit sowie andere Bereiche der Systemdienstkomponenten und verteilten Anwendungskomponenten.

Gemeinsam genutzte Komponente

Eine der in Java Enterprise System enthaltenen Arten von system components. Gemeinsam genutzte Komponenten, normalerweise Bibliotheken, stellen für andere Systemkomponenten lokale Dienste bereit. Im Gegensatz dazu stellt eineSystemdienstkomponente verteilte Infrastrukturdienste für andere Systemkomponenten (oder fürapplication components bereit).

Systemkomponente

Alle Softwarepakete oder Gruppen von Paketen, die Teil von Java Enterprise System sind und vom Java Enterprise System-Installationsprogramm installiert werden. Es gibt verschiedene Arten von Systemkomponenten: system service components, die verteilte Infrastrukturservices bieten, service quality components, die die Systemdienstkomponenten durch Zugriffs- und Verwaltungsdienste unterstützen, und shared components, die lokale Dienste für andere Systemkomponenten bieten.

Systemdienst

Einer oder mehrere verteilte services, die die die von einem Java Enterprise System bereitgestellten einzigartigen Funktionen definieren. Systemdienste erfordern in der Regel die Unterstützung durch eine Reihe von service quality components, shared components oder mehrere von beiden Komponentenarten.

Systemdienstkomponente

Eine oder mehrere der in Java Enterprise System enthaltenen Arten von system components. Systemdienstkomponenten bilden die wesentlichen Infrastrukturdienste von Java Enterprise System: Zugangsdienste, Kommunikations- und Zusammenarbeitsdienste, Identitäts- und Sicherheitsdienste, Web- und Anwendungsdienste sowie Verfügbarkeitsdienste.