JBoss AS 7 als Plattform moderner Enterprise-Anwendungen

Preview:

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

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/

dirk.weil@gedoplan.de

Recommended