JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
Zu den „dienstältesten“ Open-Source-Applikationsservern gehört mit JBoss eine Plattform, die uns schon seit mehr als 10 Jahren als Basis für Unternehmensanwendung zur Verfügung steht. Für die Version 7 wurde der Server in weiten Teilen neu implementiert. Das Ergebnis kann sich sehen lassen: Eine übersichtlichere Struktur, erstaunliche Startzeiten, geringerer Ressourcenverbrauch und betriebstaugliche Administrationswerkzeuge sind einige der Neuerungen. Der eher auf die Softwareentwicklung fokussierte Betriebsmodus früherer JBoss-Versionen wurde zudem um den Domain Mode ergänzt, der administrative Belange besser berücksichtigt und den Server in professionelle Betriebsumgebungen einbindet. Der Vortrag gibt einen Überblick über die Struktur des JBoss AS 7 und zeigt seinen Funktionsumfang anhand einiger Praxisbeispiele.
Dirk Weil ist Geschäftsführer der GEDOPLAN GmbH in Bielefeld. Er ist seit 1998 als Berater im Bereich Java und Java EE tätig und arbeitet u. a. mit JBoss und GlassFish. Er ist Fachbuchautor, schreibt Artikel für Fachmagazine, hält Vorträge und leitet Seminare zu zahlreichen Themen.
Weitere Infos:
- http://www.gedoplan-it-training.de
- http://www.gedoplan-it-consulting.de
- http://javaeeblog.wordpress.com
- http://expertenkreisjava.blogspot.de
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
1. JBoss AS 7 als Plattform
moderner Enterprise-Anwendungen
Dirk Weil, GEDOPLAN GmbH
2. Dirk Weil
GEDOPLAN GmbH, Bielefeld
Java EE seit 1998
Konzeption und
Realisierung
Vorträge
Seminare
Veröffentlichungen
2JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
5. Standard-Unterstützung
5
4.2.3 J2EE 1.4
5.1.0 Java EE 5
6.1.0.Final Java EE 6 Full Profile
7.1.1.Final Java EE 6 Full Profile
8.0.0.Final Java EE 7
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
6. Installation
Das Download-File wird zur Installation an einen Ort der eigenen
Wahl ausgepackt, z.B.
c: (Windows),
erzeugt Verzeichnis c:jboss_7.x.x
/opt (Unix),
erzeugt Verzeichnis /opt/jboss_7.x.x
6JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
7. Aufbau
Es ergibt sich folgende Verzeichnis-Struktur (nach dem ersten Start):
7
JBoss-Home-Verzeichnis
Skripte zum Starten und Stoppen
OSGi-Bundles
Lizenz-Dokumente & XML-Schemata
Hauptverzeichnis für den Domain-Mode
Module für das Class Loading
Welcome Page
Hauptverzeichnis für den Standalone-Mode
Konfigurationsdateien
Persistente Informationen des Servers
Deployment s
Installierte Bibliotheken
Log-Dateien
Temporäre Dateien
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
8. Konfiguration
Frühere Versionen:
Services haben eigene Konfiguration
Viele XML-Files, Service-Deployments
JBoss 7:
Zentrale
Konfigurations-
datei(en)
8JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
9. Modulkonzept
Bisher: Alle vorhandenen Services wurden geladen
hohe Startzeit, hoher Speicherverbrauch
JBoss 7: Nur was gebraucht wird, wird geladen
massive Einsparung von Startzeit und Speicher
9
0
5
10
15
20
25
30
35
5.1.0.GA 6.1.0.Final 7.0.1.Final
Startzeit in Sekunden
0
100
200
300
400
5.1.0.GA 6.1.0.Final 7.0.1.Final
Speicher in MB
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
10. JBoss Modules – Was ist das?
Eigenständiges Projekt
Bestandteil des JBoss 7
Module liegen in modules
Haben folgende Struktur
1 oder mehrere JAR-Files
Konfigurationsdateien
Eigene Module können ergänzt werden
10JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
11. Geladene Software
Modulkonzept
Vorversionen: Laden aufgrund der Konfiguration
11
App. A
Svc. D
Svc. C
depends on
depends on
App. B
Svc. F
Svc. E
depends on
depends on
depends on
Geladene Software
App. A
Svc. D
Svc. C
depends on
depends on
Svc. F
Svc. E
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
12. Geladene Software
Modulkonzept
JBoss 7: Laden aufgrund von Abhängigkeiten
12
App. A
Svc. D
Svc. C
depends on
depends on
App. B
Svc. F
Svc. E
depends on
depends on
depends on
Geladene Software
App. A
Svc. D
Svc. C
depends on
depends on
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
13. Modulkonzept
Implizite Abhängigkeiten werden automatisch geladen
(EJB, JPA, …)
Abhängigkeiten können explizit deklariert werden
Manifest
jboss-structure.xml
Globaler Lib-Ordner existiert nicht mehr!
ggf. eigene Module bereitstellen
13JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
14. JBoss-Management-Konzepte
Standalone
Betrieb eines einzelnen Servers
Entspricht dem Modus der Vorversionen
Domain
Betrieb mehrerer Server als administrative Gruppe
Ggf. über mehrere Rechner verteilt
Zentrale Konfiguration
Zentrale Überwachung
Zentrales Deployment
14JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
15. Standalone-Modus
Jeder Server wird einzeln gemanagt (wie in den Vorgängerversionen)
Der Nutzer ist für serverübergreifende Änderungen verantwortlich
Eine Konfigurationsdatei
standalone/configuration/standalone(…).xml
Start: bin/standalone.bat/sh
Für viele Anwendungen ausreichend
Ggf. eigenes Multiserver-Betriebskonzept nötig (Initiale
Konfiguration in standalone-ha.xml)
15JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
16. Standalone-Modus
Clusterbetrieb möglich
aber: Kein gemeinsames Deployment (kein Farm-Service)!
16
Standalone
Server
Standalone
Server
Standalone
Server
Standalone
Server
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
18. Deployment im Standalone-Modus
Auto-Deployment-Ordner standalone/deployments
Neue, veränderte, gelöschte Dateien führen zum Deployment,
Redeployment bzw. Undeployment
Anwendungen können gepackt
oder „exploded“ sein
18JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
21. Administration Console
Im Domain Mode:
Konfiguration von
Servergruppen
Start & Stopp von
Servern
21JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
23. Admin-CLI
Abfragen und Setzen von Konfigurationswerten
Start & Stopp von Servern
(Un-)Deployment von Anwendungen
23JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
25. Domain-Modus
Menge von Servern
Auch auf verschiedenen Rechnern
Eine Konfigurationsdatei
domain/configuration/domain.xml
Können heterogen sein
Steuerung durch Host Controller
Ein HC pro Host
Einer davon ist Domain Controller
Konfig-Datei domain/configuration/host.xml
25JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
26. Domain-Modus
Konfigurieren einer Domäne
Konfigurationsdatei domain.xml
Konfigurieren eines Host Controllers pro Host
Konfigurationsdatei host.xml
Start: bin/domain.bat bzw. bin/domain.sh
26JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
29. Domain-Modus
Servergruppen gruppieren Serverinstanzen
gemeinsame Konfiguration der Subsysteme
gemeinsames Deployment
29
Host 1 Host 2 Host 3
Gruppe A
Gruppe B
Gruppe C
Server
Server Server
Server ServerServer
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
30. Demo: Domain mit 3 Servern
30JBoss AS 7 als Plattform moderner Enterprise-Anwendungen
32. More
Seminare zum Thema, z. B.
Entwicklung und Betrieb von
Anwendungen auf JBoss 7 / WildFly 8
http://www.gedoplan-it-training.de
http://www.gedoplan-it-consulting.de
http://javaeeblog.wordpress.com/
http://expertenkreisjava.blogspot.de/
dirk.weil@gedoplan.de
@dirkweil
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen 32dirk.weil@gedoplan.de