Rubrique précédente: Appliances de serveur d'applicationsRubrique suivante: ROR : serveur d'applications Ruby-on-Rails


JBOSS, JBOSS64 : Serveur d'applications JBoss

Appliance JBOSS

Aperçu rapide

Catalogue

Système

Catégorie

Serveurs d'applications

Volumes d'utilisateur

Oui

Min. mémoire

160 Mo

SE

Linux

Contraintes

non

Présentation fonctionnelle

JBOSS est une appliance de serveur d'applications basée sur le logiciel Open Source JBoss. JBOSS prend en charge deux versions distinctes du logiciel JBoss :

JBOSS prend en charge un certain nombre de technologies et fonctionnalités avancées :

JBOSS automatiquement déploie des applications Web à partir d'un volume de contenu monté en local ou d'un système de fichiers réseau accessible via le terminal fs. Plusieurs environnements d'exécution préconfigurés, dérivés des configurations JBoss standard, sont disponibles. Le chemin d'accès aux documents est configurable de façon à pouvoir partager le même volume entre plusieurs serveurs Web et d'autres appliances avec un autre contenu.

JBOSS dispose de trois terminaux de sortie génériques permettant d'accéder à des services externes : le terminal db pour accéder à diverses bases de données, le terminal fs pour accéder au stockage de fichiers partagé (à l'aide de NFS) et le terminal aux pour envoyer des courriels à un serveur SMTP.

Vous pouvez utiliser le terminal log pour connecter JBOSS à un système de fichiers partagé sur lequel JBOSS peut stocker des fichiers journaux.

Le serveur est configuré via ses propriétés. Ces propriétés sont conçues pour répondre à la plupart des utilisations avec une configuration facile. Dans la plupart des cas, seules quelques-unes doivent être définies sur d'autres valeurs que celles par défaut.

Nom

Dernière version

JBOSS

2.0.3-1

JBOSS64

2.0.5-1

Ressources

Version 32 bits

Ressource

Minimum

Maximum

Valeur par défaut

Testé

UC

0.1

16

0.25

-

Mémoire

160 Mo

4 Go

1 Go

-

Bande passante

1 Mbit/s

2 Gbits/s

250 Mbits/s

-

Version 64 bits

Ressource

Minimum

Maximum

Valeur par défaut

Testé

UC

0.1

16

0.25

-

Mémoire

160 Mo

32 Go

1 Go

-

Bande passante

1 Mo

2 Go

250 Mo

-

Capacité de mémoire requise pour JBOSS

Les applications Java requièrent généralement une quantité de RAM accrue pour fonctionner correctement. La capacité de mémoire requise par JBOSS dépend des besoins des applications en cours d'exécution. Si la quantité de mémoire disponible n'est pas suffisante, JBoss risque de s'arrêter brutalement ou de ne pas fonctionner correctement. En cas d'arrêt brutal, un message de tableau de bord est enregistré.

Terminaux

Nom

Direction

Protocole

Description

in

in

HTTP

Traite les requêtes HTTP provenant des clients Web.

db

sortie

Indifférent

Accède à un serveur de base de données.

L'utilisation est définie par les scripts qui résident sur le volume de contenu, le cas échéant. S'il n'est pas utilisé, ce terminal peut rester non connecté.

fs

sortie

NFS

Accède à un système de fichiers réseau pour le stockage de fichiers partagés et fournit un accès en lecture/écriture aux fichiers via NFS.

Le serveur connecté doit avoir un partage lecture/écriture nommé /mnt/date. Le système de fichiers distant monté s'affiche en tant que /mnt/fs dans l'espace de système de fichiers de l'appliance. S'il n'est pas utilisé, ce terminal peut rester non connecté.

log

sortie

CIFS

Accède à un système de fichiers réseau basé sur CIFS pour le stockage des journaux relatifs aux accès et aux erreurs.

Le serveur connecté doit autoriser les connexions anonymes et avoir un partage lecture/écriture nommé share. S'il n'est pas utilisé, ce terminal peut rester non connecté.

aux

sortie

Indifférent

Accède à un serveur SMTP pour l'envoi de messages électroniques sortants.

S'il n'est pas utilisé, ce terminal peut rester non connecté.

net

sortie

Indifférent

Sortie de passerelle pour l'accès au sous-réseau.

S'il n'est pas utilisé, ce terminal peut rester non connecté.

MON

sortie

CCE

Envoie des statistiques de performances et d'utilisation des ressources.

S'il n'est pas utilisé, ce terminal peut rester non connecté.

Volumes

Nom

Description

content

Volume en lecture seule ou lecture/écriture pour le stockage des applications.

Ce volume n'est utilisé que si la propriété content_on_fs est définie sur no, auquel cas il est obligatoire.

Si content_on_fs est défini sur yes et que le volume de contenu existe, l'appliance ne parvient pas à démarrer.

Propriétés

Propriétés générales

Nom

Type

Description

jboss_env

Chaîne

Un des quatre modes de fonctionnement :
JBoss 4, JDK 5 - JBoss version 4.2.3, JDK version 1.5 mise à jour 22
JBoss 4, JDK 6 - JBoss version 4.2.3, JDK version 1.6 mise à jour 21
JBoss 5, JDK 5 - JBoss version 5.1.0, JDK version 1.5 mise à jour 22
JBoss 5, JDK 6 - JBoss version 5.1.0, JDK version 1.6 mise à jour 21
Valeur par défaut : JBoss 4, JDK 5

jboss_cfg

Chaîne

Configuration de JBoss. Valeurs possibles :
minimal - Configuration minimale par défaut de JBoss
default - Configuration par défaut par défaut de JBoss
all - Configuration complète par défaut de JBoss
headless - Configuration par défaut sans les composants Tomcat et Services Web
all-headless - Configuration complète sans les composants Tomcat et Services Web
web - Configuration avec uniquement les composants Tomcat et Services Web activés (utilisée pour les serveurs Web frontaux)
custom - Configuration définie par l'utilisateur Un dossier nommé JBOSS doit être créé à la racine du volume de contenu ou dans le système de fichiers du terminal fs. Tous les dossiers nécessaires (du moins conf, deploy et libs) doivent figurer dans ce dossier.

Valeur par défaut : default

heap_size

Entier

Quantité de mémoire allouée pour le segment de mémoire Java (options -Xms et -Xmx). Si cette propriété est définie sur 0, JBOSS calcule automatiquement la valeur (environ 70 % de la RAM). Si cette propriété est vide, JBOSS ne transmet pas les propriétés -XMs et -XMx à la machine virtuelle Java et ces propriétés peuvent être spécifiées directement par l'utilisateur dans la propriété java_opts.
Valeur par défaut : 0

perm_size

Entier

Quantité de mémoire allouée pour les objets permanents Java (options -XX:PermSize et -XX:MaxPermSize). Si cette propriété est définie sur 0, JBOSS calcule automatiquement la valeur (environ 20 % de la RAM). Si cette propriété est vide, JBOSS ne transmet pas les propriétés -XX:PermSize et -XX:MaxPermSize à la machine virtuelle Java et ces propriétés peuvent être spécifiées directement par l'utilisateur dans la propriété java_opts.
Valeur par défaut : 0

java_opts

Chaîne

Cette chaîne est ajoutée à la variable d'environnement JAVA_OPTS avant de lancer la machine virtuelle Java. Les options et paramètres supplémentaires peuvent être spécifiés ici (p. ex. taille de segment de mémoire, taille autorisée, options de débogage, etc.).
Valeur par défaut : (vide).

tcp_port

Nombre entier

Port sur lequel JBOSS guette les connexions entrantes.
Valeur par défaut : 8080.

app_base

Chaîne

Répertoire pour les applications déployables par l'utilisateur, associé à la racine de la source de données (volume de contenu monté ou partage monté en NFS).
Valeur par défaut : deploy.

content_on_fs

Chaîne

Spécifie si le contenu concerne le système de fichiers au niveau du terminal fs ou s'il se trouve sur le volume de contenu.
Valeur par défaut : off (ce qui implique que le contenu se trouve sur le volume de contenu)

timezone

Chaîne

Spécifie le fuseau horaire utilisé dans l'appliance. Si cette propriété est vide, le fuseau horaire reste inchangé. Une liste des fuseaux horaires pris en charge est disponible ici. Valeur par défaut : vide

Propriétés de journalisation

Nom

Type

Description

logs_enabled

Chaîne

Active ou désactive la journalisation. Les valeurs valides sont yes et no. Si le terminal log n'est pas connecté et que cette propriété est définie sur yes, JBOSS ne parvient pas à démarrer.
Valeur par défaut : no

logs_dir

Chaîne

Répertoire de stockage des journaux par rapport à la racine du partage de journaux.
Valeur par défaut : vide

log_filename

Chaîne

Nom de fichier du fichier journal.
Valeur par défaut : jboss.log.

log_level

Chaîne

Niveau de journalisation.

Valeur par défaut : DEBUG

Propriétés de groupement

Nom

Type

Description

partition_name

Chaîne

Nom d'une partition. Toutes les instances de JBOSS sur la grille qui ont le même nom de partition sont groupées dans un cluster. Si cette propriété est vide, la prise en charge du groupement est désactivée. Valeur par défaut : vide.

Utilisation standard

Simple serveur Web/d'applications

C'est la façon la plus simple d'utiliser une appliance JBOSS. Une passerelle IN achemine tout le trafic HTTP entrant vers l'appliance JBOSS. Dans ce cas, JBOSS utilise un volume de contenu local.

Exemple 1 d'utilisation de JBOSS

Appliances en cours d'utilisation :

Propriétés utilisées :

Propriété

Valeur

Description

jboss_env

JBoss 4, JDK 5

Environnement JBoss utilisé.

jboss_cfg

default

Configuration par défaut de JBoss.

tcp_port

80

Port par défaut pour HTTP.

app_base

content

Les applications sont situées dans le sous-répertoire /content du volume de données.

content_on_fs

off

Le contenu est situé sur le volume local.

logs_enabled

non

Aucune journalisation.

Simple serveur Web/d'applications avec stockage de données externe, base de données et surveillance

C'est un exemple plus complexe qui utilise un stockage de données externe, une appliance de base de données et une appliance de surveillance.

Exemple 2 d'utilisation de JBOSS

Appliances en cours d'utilisation :

Propriétés utilisées :

Propriété

Valeur

Description

jboss_env

JBoss 5, JDK 6

Dernier environnement JBoss utilisé.

jboss_cfg

default

Configuration par défaut de JBoss.

tcp_port

80

Port par défaut pour HTTP.

app_base

content

Les applications sont situées dans le sous-répertoire /content du volume de données monté dans le NFS.

content_on_fs

on

Le contenu est situé sur le volume monté dans le NFS.

logs_enabled

Oui

Avec journalisation.

logs_dir

/jboss_logs

Le fichier journal est situé dans le sous-répertoire /jboss_logs/ de l'appliance NAS.

log_filename

jboss-runtime.log

Le fichier journal est nommé "jboss-runtime.log".

log_level

EMERG

Seuls les messages d'urgence sont journalisés.

Serveur d'applications avec serveur frontal

Dans cet exemple, l'appliance WEB6 frontale traite le contenu statique et redirige toutes les requêtes pour du contenu généré de façon dynamique vers l'appliance JBOSS principale.

Appliances en cours d'utilisation :

Propriétés utilisées :

Propriété

Valeur

Description

jboss_env

JBoss 4, JDK 5

Environnement JBoss utilisé.

jboss_cfg

default

Configuration par défaut de JBoss.

tcp_port

8080

Port TCP JBoss standard

app_base

content

Les applications sont situées dans le sous-répertoire /content du volume de données.

content_on_fs

off

Le contenu est situé sur le volume local.

logs_enabled

non

Aucune journalisation.

Environnement d'hébergement complexe avec serveur frontal à tolérance de panne et mis en cluster, bases de données et serveurs principaux.

Il s'agit d'une application complexe avec un serveur frontal mis en cluster, plusieurs bases de données mises en cluster et un serveur JBoss principal mis en cluster.

La passerelle d'entrée gw4 reçoit les requêtes entrantes et les transfère au commutateur d'URL sw, qui distingue les requêtes pour du contenu statique (envoyées via les terminaux de sortie 1-3, à travers l'équilibreur de charge lb1, et de là aux serveurs Web frontaux web1 et web2) des demandes d'application (envoyées via les terminaux de sortie 5-7, à travers l'équilibreur de charge principal lb2, puis aux serveurs d'applications JBoss AppSrv4 et AppSrv5). La batterie de serveurs Web frontaux (web1 et web2) traite les requêtes entrantes et répond avec du contenu statique ou transfère les requêtes aux serveurs principaux via le deuxième équilibreur de charge lb2. Les serveurs frontaux utilisent les appliances de base de données MySQL mises en cluster db_1_1 et db_1_2. Le deuxième équilibreur de charge lb2 répartit équitablement le trafic entre les appliances JBoss mises en cluster AppSrv4 et AppSrv5, qui utilisent à leur tour les appliances de base de données mises en cluster db_2_1 et db_2_2. Les données sont stockées via NFS par l'appliance NAS.

Appliances en cours d'utilisation :

Propriétés utilisées :

Propriété

Valeur

Description

jboss_env

JBoss 5, JDK 6

Dernier environnement JBoss utilisé.

jboss_cfg

all

Configuration complète de JBoss, y compris la mise en cluster.

tcp_port

8080

Port par défaut pour JBoss.

app_base

content

Les applications sont situées dans le sous-répertoire /content du volume de données monté dans le NFS.

content_on_fs

on

Le contenu est situé sur le volume monté dans le NFS.

logs_enabled

non

Aucune journalisation.

Logiciels tiers et libres utilisés au sein de l'appliance

JBOSS et JBOSS64 utilisent les packages tiers libres suivants, outre les packages tiers libres utilisés respectivement par leur classe de base LUX6 et LUX64.

Logiciel

Version

Modifié

Licence

Notes

JBoss

4.2.3.GA

Non

LGPL

page d'accueil

JBoss

5.1.0.GA

Non

LGPL

page d'accueil

JDK

6u21

Non

Oracle

Disponible sur le site Web d'Oracle

JDK

1.5.0_22

Non

Licences Sun Community Source License et Java Research License

Disponibles sur le site http://www.oracle.com/technetwork/java/index.html/

Jboss-native

2.0.9

Non

LGPL v2.1, certaines parties sous GPL v2.0, Apache v2.0, Sleepycat License et Common Public License v1.0

N/D

samba-client

3.5.10-125.el6

Non

GPLv2

N/D

samba-common

3.5.10-125.el6

Non

GPLv2

N/D