SlideShare une entreprise Scribd logo
1  sur  32
JBoss AS 7 als Plattform
moderner Enterprise-Anwendungen
Java User Group Berlin Brandenburg, 30.05.2013
Dirk Weil, GEDOPLAN GmbH
Dirk Weil
GEDOPLAN GmbH, Bielefeld
Java EE seit 1998
Konzeption und
Realisierung
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.0
Alpha
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:
Zentrale
Konfigurations-
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 Struktur
1 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 on
depends on
App. B
Svc. F
Svc. E
depends ondepends on
depends on
depends on
Geladene Software
App. A
Svc. D
Svc. C
depends on
depends on
Svc. F
Svc. E
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 ondepends on
depends on
depends on
Geladene Software
App. A
Svc. D
Svc. C
depends on
depends 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
Standalone
Server
Standalone
Server
Standalone
Server
Standalone
Server
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 gepackt
oder „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 von
Servergruppen
Start & Stopp von
Servern
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
Host
Controller
JBoss
Server
Host 4
Host
Controller
JBoss
Server
JBoss
Server
Host 3
Host
Controller
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/
dirk.weil@gedoplan.de

Contenu connexe

Tendances

Froxlor
FroxlorFroxlor
Froxlor
DerChb
 

Tendances (13)

My sql installation
My sql installationMy sql installation
My sql installation
 
Froxlor
FroxlorFroxlor
Froxlor
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
 
Agorum core-installation-linux-6 4-0a
Agorum core-installation-linux-6 4-0aAgorum core-installation-linux-6 4-0a
Agorum core-installation-linux-6 4-0a
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
 
Neuerungen in TYPO3 6.0
Neuerungen in TYPO3 6.0Neuerungen in TYPO3 6.0
Neuerungen in TYPO3 6.0
 
Java EE 5
Java EE 5Java EE 5
Java EE 5
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und Datensicherung
 
Powershell 3.0
Powershell 3.0Powershell 3.0
Powershell 3.0
 
PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
Introduction to Apache Maven 3 (German)
Introduction to Apache Maven 3 (German)Introduction to Apache Maven 3 (German)
Introduction to Apache Maven 3 (German)
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OS
 

En vedette

En vedette (6)

Softwarequalitätssicherung mit Continuous Integration Tools
 Softwarequalitätssicherung mit Continuous Integration Tools Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous Delivery
 
Java Application Servers Are Dead!
Java Application Servers Are Dead!Java Application Servers Are Dead!
Java Application Servers Are Dead!
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similaire à Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02

Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
guestc44b7b
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
Samuel Zürcher
 
Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010
Samuel Zürcher
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
s0enke
 

Similaire à Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02 (20)

JBoss AS / EAP Clustering
JBoss AS / EAP  ClusteringJBoss AS / EAP  Clustering
JBoss AS / EAP Clustering
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Introduction to JEE
Introduction to JEEIntroduction to JEE
Introduction to JEE
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
Daos
DaosDaos
Daos
 
The Linux File System
The Linux File SystemThe Linux File System
The Linux File System
 
Best Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL InstallationBest Practices SharePoint and SQL Installation
Best Practices SharePoint and SQL Installation
 
Lotus Foundations Branch Office
Lotus Foundations Branch OfficeLotus Foundations Branch Office
Lotus Foundations Branch Office
 
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
Datenbank Migration - Oracle 11gR2 Erfahrungen 2011 - OPITZ CONSULTING - Chri...
 
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010Sql best practices for SharePoint 2010
Sql best practices for SharePoint 2010
 
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
Stephan Kaps – IT-Tage 2015 – Flyway vs. LiquiBase – Battle der Datenbankmigr...
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werden
 
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_vollJava magazin9 2012_wls 12c_das_dutzend_ist_voll
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
 
ZFS unter Linux
ZFS unter LinuxZFS unter Linux
ZFS unter Linux
 
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DBDocker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
 

Plus de Java Usergroup Berlin-Brandenburg

Plus de Java Usergroup Berlin-Brandenburg (19)

Microbenchmarks - Wer nicht weiß, was er misst misst Mist
Microbenchmarks - Wer nicht weiß, was er misst misst MistMicrobenchmarks - Wer nicht weiß, was er misst misst Mist
Microbenchmarks - Wer nicht weiß, was er misst misst Mist
 
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
Collections.compare(() -> JDK; Apache; Eclipse, Guava...});
 
Built To Last - Nachhaltige Software-Entwicklung
Built To Last - Nachhaltige Software-EntwicklungBuilt To Last - Nachhaltige Software-Entwicklung
Built To Last - Nachhaltige Software-Entwicklung
 
Feature Toggles On Steroids
Feature Toggles On SteroidsFeature Toggles On Steroids
Feature Toggles On Steroids
 
Resilience mit Hystrix
Resilience mit HystrixResilience mit Hystrix
Resilience mit Hystrix
 
Analysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4jAnalysis of software systems using jQAssistant and Neo4j
Analysis of software systems using jQAssistant and Neo4j
 
Get Back in Control of your SQL
Get Back in Control of your SQLGet Back in Control of your SQL
Get Back in Control of your SQL
 
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
Die fabelhafte Welt Java(Script)-getriebener Enterprise-WebApps (mit Ext JS)
 
Selbstvorstellung Steria Mummert Consulting
Selbstvorstellung Steria Mummert ConsultingSelbstvorstellung Steria Mummert Consulting
Selbstvorstellung Steria Mummert Consulting
 
Graphdatenbanken mit Neo4j
Graphdatenbanken mit Neo4jGraphdatenbanken mit Neo4j
Graphdatenbanken mit Neo4j
 
Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02Jbosseapclustering 130605100557-phpapp02
Jbosseapclustering 130605100557-phpapp02
 
How long can you afford to Stop The World?
How long can you afford to Stop The World?How long can you afford to Stop The World?
How long can you afford to Stop The World?
 
JavaOne Update zur Java Plattform
JavaOne Update zur Java PlattformJavaOne Update zur Java Plattform
JavaOne Update zur Java Plattform
 
Java EE 7 - Overview and Status
Java EE 7  - Overview and StatusJava EE 7  - Overview and Status
Java EE 7 - Overview and Status
 
Restructuring
RestructuringRestructuring
Restructuring
 
Fighting Layout Bugs
Fighting Layout BugsFighting Layout Bugs
Fighting Layout Bugs
 
Die Java Plattform Strategie
Die Java Plattform StrategieDie Java Plattform Strategie
Die Java Plattform Strategie
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
Continuous Delivery in der Praxis
Continuous Delivery in der PraxisContinuous Delivery in der Praxis
Continuous Delivery in der Praxis
 

Jbossas7alsplattformmodernerenterprise anwendungen-130604114410-phpapp02