Rubrique précédente: TOMCAT, TOMCAT64 : serveur d'applications

Rubrique 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 couvrir la plupart des utilisations et peuvent être configurées facilement. D'ailleurs, 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

1.0.2-1

JBOSS64

1.0.2-1

Périmètre

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 Gbit/s

250 Mbit/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 Mbit/s

2 Gbit/s

250 Mbit/s

-

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, quels qu'ils soient, qui résident sur le volume de contenu (le cas échéant). Si ce terminal n'est pas utilisé, il peut rester dé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. Si ce terminal n'est pas utilisé, il peut rester dé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. Si ce terminal n'est pas utilisé, il peut rester déconnecté.

aux

sortie

Indifférent

Accède à un serveur SMTP pour l'envoi de messages électroniques sortants. Si ce terminal n'est pas utilisé, il peut rester déconnecté.

net

sortie

Indifférent

Sortie de passerelle pour l'accès au sous-réseau. Si ce terminal n'est pas utilisé, il peut rester déconnecté.

MON

sortie

CCE

Envoie des statistiques de performances et d'utilisation des ressources. Si ce terminal n'est pas utilisé, il peut rester dé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 n'est pas modifié. 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. {valeurs valides et valeur par défaut requises}

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

no

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

yes

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

Exemple 3 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

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.

Exemple 4 d'utilisation de JBOSS

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.