jboss as 7 als plattform moderner enterprise-anwendungen
DESCRIPTION
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.deTRANSCRIPT
JBoss AS 7 als Plattformmoderner Enterprise-Anwendungen
Java User Group Berlin Brandenburg, 30.05.2013
Dirk Weil, GEDOPLAN GmbH
Dirk Weil
GEDOPLAN GmbH, Bielefeld
Java EE seit 1998
Konzeption undRealisierung
Vorträge
Seminare
Veröffentlichungen
2
3
(http://www.jboss.org/jbossas)
Versionshistorie
4
2007 2008 2009 2010 2011 2012 2013
7.1
.1
8.0
.0A
lpha
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.Alpha1 Java EE 7
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
6
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
Konfiguration
Frühere Versionen:
Services haben eigene Konfiguration
Viele XML-Files, Service-Deployments
JBoss 7:
ZentraleKonfigurations-datei(en)
8
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 Modules – Was ist das?
Eigenständiges Projekt
Bestandteil des JBoss 7
Module liegen in modules
Haben folgende Struktur1 oder mehrere JAR-Files
Konfigurationsdateien
Eigene Module können ergänzt werden
10
Geladene Software
Modulkonzept
Vorversionen: Laden aufgrund der Konfiguration
11
App. A
Svc. D
Svc. C
depends ondepends on
App. B
Svc. F
Svc. Edepends ondepends on
depends on
depends on
Geladene Software
App. A
Svc. D
Svc. C
depends ondepends on
Svc. F
Svc. E
Geladene Software
Modulkonzept
JBoss 7: Laden aufgrund von Abhängigkeiten
12
App. A
Svc. D
Svc. C
depends ondepends on
App. B
Svc. F
Svc. Edepends ondepends on
depends on
depends on
Geladene Software
App. A
Svc. D
Svc. C
depends ondepends on
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
13
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
14
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 )
15
Standalone-Modus
Clusterbetrieb möglich
aber: Kein gemeinsames Deployment (kein Farm-Service)!
16
StandaloneServer
StandaloneServer
StandaloneServer
StandaloneServer
Standalone - Aufbau
17
Konfigurationsdatei(en)
(Deployment)-Daten
Ordner für das „Hot“-Deployment
benötigte Bibliotheken (ungenutzt)
Log-Dateien
Temporäre Dateien
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 gepacktoder „exploded“ sein
18
Deployment im Standalone-Modus
Marker-Files geben Feedback über die Deploy-Aktionen
19
Administration Console
20
Administration Console
Im Domain Mode:
Konfiguration vonServergruppen
Start & Stopp vonServern
21
Admin-CLI
Kommandozeilentool zur Administration
bin/jboss-admin.bat bzw. jboss-admin.sh
mächtiges Kommandozeilenwerkzeug
ermöglicht Remotesteuerung
bietet Batch-Verarbeitung
22
Admin-CLI
Abfragen und Setzen von Konfigurationswerten
Start & Stopp von Servern
(Un-)Deployment von Anwendungen
23
Demo: Standalone-Server
24
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
25
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
26
Domain - Aufbau
27
Konfigurationsdatei(en)
Daten
Bibliotheken (ungenutzt)
Log-Dateien
Dateien der einzelnen Server
Domain-Modus
28
Host 1
Domain Controller
Host 2
HostController
JBoss Server
Host 4
HostController
JBoss Server
JBossServer
Host 3
HostController
JBoss Server
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
Demo: Domain mit 3 Servern
30
Fazit
schnell
leichtgewichtig
Konfiguration vereinfacht
Domainmanagement
aber:
Dokumentation teilweise sehr lückenhaft
Migration von Altsystemen ggf. nicht trivial
31
Schön, dass Sie da waren!
Weitere Informationsmöglichkeiten:• GEDOPLAN GmbH: www.gedoplan.de
• Java-EE-Blog: http://javaeeblog.wordpress.com/
• Twitter: @dirkweil
• Expertenkreis Java: http://expertenkreisjava.blogspot.de
• Seminare:• http://www.ips-it-schulungen.de/Kurse/
Java-Application-Server/RedHat-JBoss/
• http://www.ips-it-schulungen.de/Kurse/Java/