32
JBoss AS 7 als Plattform moderner Enterprise-Anwendungen Java User Group Berlin Brandenburg, 30.05.2013 Dirk Weil, GEDOPLAN GmbH

JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Embed Size (px)

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.de

Citation preview

Page 1: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

JBoss AS 7 als Plattformmoderner Enterprise-Anwendungen

Java User Group Berlin Brandenburg, 30.05.2013

Dirk Weil, GEDOPLAN GmbH

Page 2: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Dirk Weil

GEDOPLAN GmbH, Bielefeld

Java EE seit 1998

Konzeption undRealisierung

Vorträge

Seminare

Veröffentlichungen

2

Page 3: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

3

(http://www.jboss.org/jbossas)

Page 4: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Versionshistorie

4

2007 2008 2009 2010 2011 2012 2013

7.1

.1

8.0

.0A

lpha

Page 5: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 6: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 7: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 8: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Konfiguration

Frühere Versionen:

Services haben eigene Konfiguration

Viele XML-Files, Service-Deployments

JBoss 7:

ZentraleKonfigurations-datei(en)

8

Page 9: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 10: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 11: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 12: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 13: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 14: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 15: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 16: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Standalone-Modus

Clusterbetrieb möglich

aber: Kein gemeinsames Deployment (kein Farm-Service)!

16

StandaloneServer

StandaloneServer

StandaloneServer

StandaloneServer

Page 17: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Standalone - Aufbau

17

Konfigurationsdatei(en)

(Deployment)-Daten

Ordner für das „Hot“-Deployment

benötigte Bibliotheken (ungenutzt)

Log-Dateien

Temporäre Dateien

Page 18: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 19: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Deployment im Standalone-Modus

Marker-Files geben Feedback über die Deploy-Aktionen

19

Page 20: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Administration Console

20

Page 21: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Administration Console

Im Domain Mode:

Konfiguration vonServergruppen

Start & Stopp vonServern

21

Page 22: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Admin-CLI

Kommandozeilentool zur Administration

bin/jboss-admin.bat bzw. jboss-admin.sh

mächtiges Kommandozeilenwerkzeug

ermöglicht Remotesteuerung

bietet Batch-Verarbeitung

22

Page 23: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Admin-CLI

Abfragen und Setzen von Konfigurationswerten

Start & Stopp von Servern

(Un-)Deployment von Anwendungen

23

Page 24: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Demo: Standalone-Server

24

Page 25: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 26: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 27: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Domain - Aufbau

27

Konfigurationsdatei(en)

Daten

Bibliotheken (ungenutzt)

Log-Dateien

Dateien der einzelnen Server

Page 28: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Domain-Modus

28

Host 1

Domain Controller

Host 2

HostController

JBoss Server

Host 4

HostController

JBoss Server

JBossServer

Host 3

HostController

JBoss Server

Page 29: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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

Page 30: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Demo: Domain mit 3 Servern

30

Page 31: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Fazit

schnell

leichtgewichtig

Konfiguration vereinfacht

Domainmanagement

aber:

Dokumentation teilweise sehr lückenhaft

Migration von Altsystemen ggf. nicht trivial

31

Page 32: JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

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/

[email protected]