Vortrag bei "Mittwochs bei Lehmanns" in Hamburg.
Am 08.10.2014 präsentierte Dirk Weil von GEDOPLAN in Hamburg vor ca. 25 interssierten Gästen aus der IT die Features des Open-Source-Servers WildFly (Namems-Nachfolger des JBoss AS). Im Anschluss wurde intensiv über Applikation Server, Open Source u. a. m. diskutiert.
Möchten Sie diesen oder andere Vorträge von GEDOPLAN auch in Ihrem Hause durchführen? Dann sprechen Sie uns an: info(at)gedoplan.de.
Rapid Deploy von OS, Virtualsierung und Applikation
WildFly als Plattform moderner Enterprise-Anwendungen
1. WildFly als Plattform moderner Enterprise-Anwendungen
Mittwochs bei Lehmanns
08.10.2014
Dirk Weil, GEDOPLAN GmbH
2. Dirk Weil GEDOPLAN GmbH, Bielefeld IT Consulting IT Training Java EE seit 1998 Konzeption und Realisierung Seminare Vorträge Veröffentlichungen
2
WildFly als Plattform moderner Enterprise-Anwendungen
4. Versionshistorie
4
2007
2008
2009
2010
2011
2012
2013
2014
7.1.1
8.1.0 Final
WildFly als Plattform moderner Enterprise-Anwendungen
5. Enterprise Application Platform Kommerzielle Version auf Basis der Community Edition JBoss EAP basiert auf JBoss AS
EAP x.y.z
License
Alpha
Community / LGPL
Beta
0$ Developer Subscription
GA
Supported Product
EAP-Version
basiert auf AS-Version
6.1.0
7.2
6.2.0
7.3
5
WildFly als Plattform moderner Enterprise-Anwendungen
6. WildFly Namenswechsel JBoss AS WildFly JBoss AS 7.1.1 war letztes JBoss-AS-Release WildFly 8 implementiert Java EE 7
6
WildFly als Plattform moderner Enterprise-Anwendungen
7. Standard-Unterstützung
AS WildFly
EAP
4.2.3
J2EE 1.4
5.1.0
Java EE 5
6.1.0
Java EE 6 Full Profile
7.1.1
Java EE 6 Full Profile
(7.2.0)
6.1.0
Java EE 6 Full Profile
8.1.0
Java EE 7
JAX- WS
Batch
JSP
JSF
Serv- let
JAX- RS
Mail
JAXR
JSTL
JPA
CDI
JSON-
P
JCA
JMS
BV
EJB*
EL
JACC
JNDI
JTA
Full
Web
* im Web Profile nur EJB Lite
7
WildFly als Plattform moderner Enterprise-Anwendungen
8. Installation Download von http://www.wildfly.org/downloads WildFly 8.1.0.Final Quellcode (auch) auf https://github.com/wildfly Entpacken an einen Ort der eigenen Wahl, z.B. c:serverwildfly (Windows), erzeugt c:serverwildflywildfly-8.1.0.Final /opt/server/wildfly (Unix), erzeugt /opt/server/wildfly/wildfly-8.1.0.Final
8
WildFly als Plattform moderner Enterprise-Anwendungen
9. Aufbau Verzeichnis-Struktur:
Home-Verzeichnis
Skripte zum Starten und Stoppen
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
Deployments
Installierte Bibliotheken
Log-Dateien
Temporäre Dateien / deployments
Konfigurationsfiles, Deployments, Beschreibbares Areal
für Application Client Container
9
WildFly als Plattform moderner Enterprise-Anwendungen
10. Modulkonzept Bisher: Alle vorhandenen Services wurden geladen
hohe Startzeit, hoher Speicherverbrauch JBoss 7, WildFly: Nur was gebraucht wird, wird geladen
massive Einsparung von Startzeit und Speicher
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
10
WildFly als Plattform moderner Enterprise-Anwendungen
11. Modulkonzept
WildFly als Plattform moderner Enterprise-Anwendungen
11
App. A
Svc. D
Svc. C
depends on
depends on
App. B
Svc. F
Svc. E
depends on
depends on
depends on
App. A
Svc. D
Svc. C
depends on
depends on
Svc. F
Svc. E
App. A
Svc. D
Svc. C
depends on
depends on
JBoss 7 / WildFly
Vorversionen
12. Modulkonzept Nur benötigte Klassen werden geladen Software liegt in Modulen vor unter JBOSS_HOME/modules jedes (Sub-) Deployment Implizite und explizite Referenzen triggern Ladevorgang bestimmen Classpath Modulisolation erlaubt unterschiedliche Versionen ohne Konflikt
WildFly als Plattform moderner Enterprise-Anwendungen
12
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
13
WildFly als Plattform moderner Enterprise-Anwendungen
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)
14
WildFly als Plattform moderner Enterprise-Anwendungen
15. Standalone-Modus Clusterbetrieb möglich aber: Kein gemeinsames Deployment (kein Farm-Service)!
Standalone Server
Standalone Server
Standalone Server
Standalone Server
15
WildFly als Plattform moderner Enterprise-Anwendungen
16. Standalone - Aufbau
Konfigurationsdatei(en)
(Deployment)-Daten
Ordner für das „Hot“-Deployment
benötigte Bibliotheken (ungenutzt)
Log-Dateien
Temporäre Dateien
16
WildFly als Plattform moderner Enterprise-Anwendungen
17. 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
17
WildFly als Plattform moderner Enterprise-Anwendungen
18. Deployment im Standalone-Modus Marker-Files geben Feedback über die Deploy-Aktionen
18
WildFly als Plattform moderner Enterprise-Anwendungen
20. Administration Console Komplette Neuentwicklung seit JBoss 7 "Editor" für die Konfiguration Datasources Logging Binding System Properties … (Un-)Deployment von Anwendungen
20
WildFly als Plattform moderner Enterprise-Anwendungen
21. Admin-CLI Kommandozeilentool zur Administration bin/jboss-cli.bat bzw. jboss-cli.sh mächtiges Kommandozeilenwerkzeug ermöglicht Remotesteuerung bietet Batch-Verarbeitung
21
jboss-cli.bat You are disconnected at the moment. Type 'con [disconnected /] connect localhost:9990
[standalone@localhost:9990 /]
WildFly als Plattform moderner Enterprise-Anwendungen
22. Admin-CLI Abfragen und Setzen von Konfigurationswerten Start & Stopp von Servern (Un-)Deployment von Anwendungen
22
[standalone@localhost:9990 /] # Server neu starten
[standalone@localhost:9990 /] /:shutdown(restart=true)
[standalone@localhost:9990 /] # Anwendung deployen und aktivieren [standalone@localhost:9990 /] deploy d:GEDOPLAN...showServer.war
WildFly als Plattform moderner Enterprise-Anwendungen
23. RBAC Role Based Access Control Feingranulare Rechteverteilung für Administratoren
23
Role
Configuration
Runtime
Sensitive Data
Access Control
Audit Log
read
change
read
change
read
change
Monitor
Operator
Maintainer
Deployer
*
*
Administrator
Auditor
SuperUser
* nur anwendungsbezogene Daten
WildFly als Plattform moderner Enterprise-Anwendungen
24. Undertow Neue Webcontainer-Implementierung Beherrscht Protocol Upgrade u. a. für Websocket auch für Remoting, JMX, … Reduktion der verwendeten Ports (Ziel: 2)
24
WildFly als Plattform moderner Enterprise-Anwendungen
26. 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
26
WildFly als Plattform moderner Enterprise-Anwendungen
27. 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
27
WildFly als Plattform moderner Enterprise-Anwendungen
28. Domain - Aufbau
28
Konfigurationsdatei(en)
Daten
Bibliotheken (ungenutzt)
Log-Dateien
Dateien der einzelnen Server
WildFly als Plattform moderner Enterprise-Anwendungen
29. Domain-Modus
29
Host 1
Domain Controller
Host 2
Host Controller
Server
Host 4
Host Controller
Server
Server
Host 3
Host Controller
Server
WildFly als Plattform moderner Enterprise-Anwendungen
30. Domain-Modus Servergruppen gruppieren Serverinstanzen gemeinsame Konfiguration der Subsysteme gemeinsames Deployment
30
Host 1
Host 2
Host 3
Gruppe A
Gruppe B
Gruppe C
Server
Server
Server
Server
Server
Server
WildFly als Plattform moderner Enterprise-Anwendungen
31. Cluster Lastverteilung Ausfallsicherheit Replikation von Sitzungsdaten Verteiltes Messaging Verteilter Cache mod_cluster
WildFly als Plattform moderner Enterprise-Anwendungen
31
32. Demo: Domain mit 3 Servern
32
WildFly als Plattform moderner Enterprise-Anwendungen
33. Fazit schnell leichtgewichtig Konfiguration vereinfacht Domainmanagement aber: Dokumentation teilweise noch lückenhaft Migration von Altsystemen ggf. nicht trivial
33
WildFly als Plattform moderner Enterprise-Anwendungen
34. More Seminare zum Thema, z. B. Entwicklung und Betrieb von Anwendungen auf JBoss / WildFly http://www.gedoplan-it-training.de Softwareentwicklung, Beratung, Review, Coaching zu Java EE, JBoss, WildFly, … http://www.gedoplan-it-consulting.de
34
dirk.weil@gedoplan.de
WildFly als Plattform moderner Enterprise-Anwendungen
35. More http://javaeeblog.wordpress.com/ http://expertenkreisjava.blogspot.de/ dirk.weil@gedoplan.de @dirkweil W-JAX 2014 in München Power Workshop Java EE Speeding up Java Persistence Der App-Server ist tot – es lebe der App-Server!
35
dirk.weil@gedoplan.de
WildFly als Plattform moderner Enterprise-Anwendungen