Einführung in JBoss EAP
Zur Verwendung mit der Red Hat JBoss Enterprise Application Platform 7.1
Zusammenfassung
Kapitel 1. Überblick über allgemeine Konzepte
Sie müssen einige wichtige Konzepte kennen lernen, um zu verstehen, wie die Red Hat JBoss Enterprise Application Platform konfiguriert und bereitgestellt werden kann.
1.1. Java
Java ist eine Programmiersprache und Computing-Plattform, die Konzepte wie Objektorientierung, Klassen und Nebenläufigkeit umfasst. Java-Anwendungen werden als Bytecode kompiliert und innerhalb einer Java Virtual Machine (JVM) ausgeführt.
1.2. Anwendungsserver
Bei einem Anwendungsserver handelt es sich um Software, die eine Umgebung zur Ausführung von Web-Anwendungen bietet. Die meisten Anwendungsserver bieten zudem über reine Reihe APIs Funktionen für Web-Anwendungen, die in ihrer Umgebung ausgeführt werden. Ein Anwendungsserver kann beispielsweise eine API zur Verbindung mit einer Datenbank bieten.
1.3. Java EE 7
Java EE (Java Platform, Enterprise Edition) ist eine Standards-basierte Enterprise Platform, die sowohl eine API als auch eine Runtime-Umgebung zur Ausführung und Entwicklung von Java-Anwendungen bietet. Das Ziel besteht darin, die Produktivität von Entwicklern zu verbessern, indem umfangreiche Enterprise-Fähigkeiten in einfach verwendbaren Frameworks geboten werden, die Boilerplate eliminieren und technische Hürden verringern. Die Frameworks, aus denen Java EE besteht, werden in Kombination ausführlich getestet. Java EE 7, basierend auf JSR 342, ist ein Nachfolger von Java EE 6, bei dem der hauptsächliche Schwerpunkt auf der weiteren Vereinfachung von APIs zum Zugriff auf Container-Dienste liegt, während zugleich die Unterstützung auf aufkommende Web-Technologien wie HTML5 verbessert wird.
Java EE7 bietet Support für mehrere Profile oder Subsets von APIs. Die Java EE7-Spezifikation definiert das volle Profil sowie das Web-Profil.
Java EE 7 Web Profile
Das Java EE 7 Web Profile ist auf die Entwicklung von Web-Anwendungen ausgelegt und unterstützt ein Subset von APIs, definiert gemäß Java EE 7-zugehörigen webbasierten Technologien.
Java EE 7 volles Profil
Java EE 7 volles Profil umfasst alle APIs, die von Java EE 7 definiert sind (einschließlich aller Elemente im Web-Profil). Verwenden Sie bei der Entwicklung von EJBs, Nachrichtenanwendungen und Web-Diensten (gegenüber Web-Anwendungen) das volle Profil.
Kapitel 2. Überblick über JBoss EAP
2.1. Über JBoss EAP 7
Red Hat JBoss Enterprise Application Platform 7.1 (JBoss EAP 7) ist eine zertifizierte Implementation der vollen und Web-Profilspezifikationen von Java Enterprise Edition 7 (Java EE 7).
Größere Versionen von JBoss EAP werden aus dem WildFly Communityprojekt abgespalten, wenn dieses Projekt den jeweils gewünschten Funktionsumfang erreicht hat. Daraufhin werden ausführliche Tests sowie Produktisierung durchgeführt, bei denen JBoss EAP stabilisiert, zertifiziert und für den Serieneinsatz verbessert wird. Während dem Lebenszyklus einer größeren Version von JBoss EAP können ausgewählte Funktionen einzeln aus dem Communityprojekt über eine Reihe von kleineren Releases innerhalb derselben größeren Versionsfamilie portiert werden. JBoss EAP 7.1 wird beispielsweise aus einem funktionsfähigen Branch von WildFly 11 abgespalten.
JBoss EAP bietet vorkonfigurierte Optionen für Funktionen wie High-Availability-Clustering, Nachrichten und verteiltes Caching. Es ermöglicht Benutzern zudem, Anwendungen über die diversen APIs und Dienste, die JBoss EAP bietet, zu schreiben, bereitzustellen und auszuführen.
JBoss EAP umfasst eine modulare Struktur, die eine Aktivierung von Dienstleistungen nur ermöglicht, wenn dies erforderlich ist, wodurch die Startgeschwindigkeit verbessert wird. Die webbasierte Verwaltungskonsole und die Befehlszeilenschnittstelle machen eine Bearbeitung von XML-Konfigurationsdateien überflüssig und bieten die Möglichkeit, Aufgaben zu automatisieren und zu scripten. Zudem umfasst JBoss EAP APIs und Entwicklungs-Frameworks zur schnellen Entwicklung von sicheren und skalierbaren Java EE-Anwendungen.
Tabelle 2.1. Funktionen von JBoss EAP
| Funktion | Beschreibung |
|---|---|
|
Mit Java EE 7 konform |
Zertifizierung gemäß Java Enterprise Edition 7 volles Profil und Web-Profil. |
|
Managed Domain |
Zentralisiertes Management mehrerer Serverinstanzen und physischer Hosts, während ein Standalone-Server eine einzige Serverinstanz erlaubt. Verwaltung der Konfiguration, Bereitstellung, Socket-Bindung, Modulen, Erweiterungen und Systemeigenschaften pro Servergruppe. Zentralisiertes und vereinfachtes Management der Anwendungssicherheit (einschließlich Sicherheitsdomänen). |
|
Management-Konsole und Befehlszeilenschnittstelle |
Neue Domänen- oder Standalone-Servermanagementschnittstellen. Die Befehlszeilenschnittstelle umfasst zudem einen Stapelmodus, der Managementaufgaben scripten und automatisierten kann. Eine direkte Bearbebeitung der JBoss EAP XML-Konfigurationsdateien wird nicht empfohlen. |
|
Vereinfachtes Verzeichnis-Layout |
Das Modulverzeichnis umfasst alle Anwendungs-Servermodule. Die Domänen- und Standalone-Verzeichnisse umfassen die Artefakte und Konfigurationsdateien für die Domänen- bzw. Standalone-Bereitstellungen. |
|
Modulares Klassenladesystem |
Module werden nach Bedarf geladen oder entladen. Dies verbessert die Leistung, weist Sicherheitsvorteile auf und reduziert die Start- und Neustartzeit. |
|
Verschlanktes Datenquellenmanagement |
Datenbanktreiber werden wie andere Dienste bereitgestellt. Zudem werden Datenquellen über die Managementkonsole und die Befehlszeilenschnittstelle erstellt und verwaltet. |
2.2. Subsysteme
Viele APIs und Funktionen, die gegenüber in JBoss EAP bereitgestellten Anwendungen offenliegen, sind in Subsysteme organisiert. Diese Subsysteme können von Administratoren konfiguriert werden, um verschiedene Verhaltensweisen zu bieten, abhängig vom Ziel der Anwendung. Wenn eine Anwendung beispielsweise eine Datenbank benötigt, kann eine Datenquelle im Subsystem Datenquellen konfiguriert werden und die Anwendugn nach Bereitstellung auf dem JBoss EAP-Server oder in der Domäne auf diese Datenquelle zugreifen.
2.3. Hohe Verfügbarkeit
Hochverfügbarkeit bezeichnet bei JBoss EAP die Zusammenarbeit mehrerer JBoss EAP-Instanzen, um Anwendungen bereitzustellen, die gegenüber Trafficschwankungen, Serverbelastung und Serverfehlern beständiger sind. Hochverfügbarkeit umfasst Konzepte wie Skalierbarkeit, Load Balancing und Fehlertoleranz.
2.4. Betriebsmodi
Neben der Bereitstellung von Funktionen und APIs für seine jeweiligen Anwendungen hat JBoss EAP leistungsfähige Verwaltungsfunktionen. Diese Verwaltungsfunktionen unterscheiden sich je nach dem Betriebsmodi, der zum Start von JBoss EAP verwendet wird. JBoss EAP bietet einen Betriebsmodus Standalone-Server zum Management diskreter Instanzen und einen Betriebsmodus Managed Domain zum Management von mehreren Gruppen Instanzen über einen einzigen Kontrollpunkt.
Kapitel 3. Beispiele
Im Folgenden finden Sie einige Beispiele, die die Funktionsweise von JBoss EAP und die Einpassung in verschiedene Umgebungen beschreiben.
3.1. Einfaches Beispiel

Dieses Beispiel stellt ein einfaches JBoss EAP-Setup dar. In der JBoss EAP-Instanz sind zwei Anwendungen bereitgestellt. Sie ist zudem zur Verbindung mit einer Datenbank über das Subsystem Datenquellen und einen Kerberos-Server konfiguriert, der entweder das Legacy-Subsystem Sicherheit oder das Subsystem Elytron verwenden kann. Diese Verbindungen stehen den bereitgestellten Anwendungen offen. Die JBoss EAP-Instanz verarbeitet Anfragen über das Subsystem Undertow und leitet diese Anfragen an die entsprechende Anwendung weiter. Die Anwendungen nutzen das von JBoss EAP zugänglich gemachte API zur Verbindung zur Datenbank und dem Kerberos-Server und führen ihre implementierte Geschäftslogik aus. Nach Abschluss senden die Anwendungen über das System Undertow eine Antwort zurück an den Anfragenden.
3.2. Ausführliches Beispiel

Dieses Beispiel beschreibt ein komplexeres Setup mit drei JBoss EAP-Instanzen in einer Managed Domain mit einem Load Balancer oder einem Webserver. Die drei Instanzen sind zudem auf die Unterstützung von Hochverfügbarkeit über Load Balancing mittels mod_cluster und Sitzungsreplikation über Infinispan ausgelegt. Bei allen drei JBoss EAP-Instanzen sind eine Web-Anwendung, ein Web-Dienst und EJB bereitgestellt. Bei eine JBoss EAP-Instanz ist eine JMS-Warteschlange über das Subsystem messaging-activemq konfiguriert. Alle drei JBoss EAP-Instanzen sind über die Datenquelle mit einer Datenbank verbunden. Zudem sind sie mit dem LDAP-Server entweder über das Legacy-Subsystem Sicherheit oder das Subsystem elytron verbunden. Zudem ist eine JBoss EAP-Instanz auf die Verbindung mit einem externen Message Broker über das Subsystem messaging-activemq konfiguriert. Diese konfigurierten Verbindungen stehen den Anwendungen, Webdiensten, EJBs und JMS-Warteschlangen zur Verfügung, die in der jeweiligen Instanz bereitgestellt sind.
Alle eingehenden Anfragen für die Anwendung, den Webdienst oder EJB werden zunächst vom Load Balancer oder Webserver empfangen. Auf Grundlage des konfigurierten Load-Balancing-Algorithmus und den von jeder JBoss EAP-Instanz zur Verfügung gestellten Informationen leitet der Webserver oder Load Balancer die Anfrage an die entsprechende JBoss EAP-Instanz weiter. Die JBoss EAP-Instanz verarbeitet Anfragen über das Subsystem undertow und leitet diese Anfragen an die entsprechende Anwendung weiter. Die Anwendungen nutzen die von JBoss EAP verfügbar gemachten APIs zur Verbindung mit der Datenbank und dem Kerberos-Server und führen ihre implementierte Geschäftslogik aus. Nach dem Abschluss senden die Anwendungen über das Subsystem undertow eine Antwort zurück an den Anfragenden. Nicht persistente Informationen, beispielsweise Sitzungsinformationen, werden über die JBoss EAP-Instanzen über das Subsystem infinispan verbreitet.
Revised on 2018-01-11 05:28:14 EST
