Tema anterior: TOMCAT, TOMCAT64: servidores de aplicaciones

Tema siguiente: ROR: servidor de aplicaciones Ruby-on-Rails


JBOSS, JBOSS64: servidor de aplicaciones JBoss

Dispositivo JBOSS

Vista rápida

Catálogo

Sistema

Categoría

Servidores de aplicaciones

Volúmenes de usuario

yes

Memoria mín.

160 M

SO

Linux

Restricciones

no

Descripción general del funcionamiento

JBOSS es un dispositivo de servidor de aplicaciones basado en fuente abierta JBoss. JBOSS es compatible con dos versiones distintas de software JBoss:

JBOSS es compatible con varias tecnologías y funciones avanzadas:

JBOSS automáticamente implementa aplicaciones Web de un volumen de contenido montado localmente o de un sistema de archivos de red accesible a través del terminal fs. Hay disponibles varios entornos de ejecución preconfigurados, derivados de las configuraciones de JBoss estándar. La ruta a los documentos de aplicación es configurable, de modo que el mismo volumen se pueda compartir entre varios servidores Web u otros dispositivos que sirvan contenido diferente.

JBOSS tiene tres terminales de salida genéricos pensados para acceder a servicios externos: el terminal db sirve para acceder a varias bases de datos; el terminal fs sirve para acceder un sistema de almacenamiento de archivos compartido (con NFS); y el terminal aux para enviar mensajes de correo electrónico a un servidor SMTP.

El terminal de registro se puede usar para conectar JBOSS a un sistema de archivos compartido donde JBOSS puede almacenar archivos de registro.

El servidor se configura mediante propiedades. Estas propiedades están diseñadas para cubrir la mayoría de los usos de una forma fácil de configurar y, en la mayor parte de los casos, solamente hay que configurar unos cuantos con valores no predeterminados.

Nombre

Última versión

JBOSS

1.0.2-1

JBOSS64

1.0.2-1

Recursos

Versión de 32 bits

Recurso

Mínimo

Máximo

Predeterminado

Probado

CPU

0.1

16

0.25

-

Memoria

160 MB

4 GB

1 GB

-

Ancho de banda

1 Mbps

2 Gbps

250 Mbps

-

Versión de 64 bits

Recurso

Mínimo

Máximo

Predeterminado

Probado

CPU

0.1

16

0.25

-

Memoria

160 MB

32 GB

1 GB

-

Ancho de banda

1 Mbps

2 Gbps

250 Mbps

-

Requisitos de memoria para JBOSS

Las aplicaciones Java normalmente requieren una mayor cantidad de RAM para funcionar correctamente, y la cantidad de memoria requerida por JBOSS depende de los requisitos de las aplicaciones en ejecución. JBOSS puede bloquearse o no funcionar correctamente si no hay bastante memoria disponible. En caso de bloqueo, se registra un mensaje en el cuadro de mandos.

Terminales

Nombre

Dirección

Protocolo

Descripción

in

in

HTTP

Sirve solicitudes HTTP procedentes de clientes Web.

db

Saliente

Cualquiera

Permite acceder a un servidor de base de datos. El uso se define mediante los scripts que residan en el volumen de contenido (si existe alguno). Este terminal se puede dejar desconectado si no se está usando.

fs

Saliente

NFS

Acceso a un sistema de archivos de red para almacenamiento compartido de archivos que proporciona acceso de lectura/escritura al archivo a través de NFS. El servidor conectado debe tener un recurso compartido de lectura/escritura denominado /mnt/data. El sistema de archivos remoto montado se "ve" como /mnt/fs dentro del espacio de sistema de archivos del dispositivo. Este terminal se puede dejar desconectado si no se está usando.

log

Saliente

CIFS

Acceso a un sistema de archivos de red basado en CIFS para almacenar registros de error y de acceso. El servidor conectado debe permitir inicios de sesión anónimos y debe tener un recurso compartido de lectura/escritura denominado "share". Este terminal se puede dejar desconectado si no se está usando.

aux

Saliente

Cualquiera

Permite acceder a un servidor SMTP para enviar correo electrónico saliente. Este terminal se puede dejar desconectado si no se está usando.

net

Saliente

Cualquiera

Salida de la puerta de enlace para acceso de subred. Este terminal se puede dejar desconectado si no se está usando.

mon

Saliente

CCE

Envía estadísticas sobre uso de recursos y rendimiento. Este terminal se puede dejar desconectado si no se usa.

Volúmenes

Nombre

Descripción

content

Un volumen de sólo lectura o de lectura/escritura para almacenamiento de aplicaciones. Este volumen se utiliza solamente si la propiedad content_on_fs se establece en "no", en cuyo caso este volumen es obligatorio. Si content_on_fs se establece en "yes" y el volumen de contenido existe, el dispositivo dará error al iniciarse.

Propiedades

Propiedades generales

Nombre

Tipo

Descripción

jboss_env

Cadena

Uno de los cuatro modos de funcionamiento:
JBoss 4, JDK 5: JBoss versión 4.2.3, JDK versión 1.5, actualización 22
JBoss 4, JDK 6: JBoss versión 4.2.3, JDK versión 1.6, actualización 21
JBoss 5, JDK 5: JBoss versión 5.1.0, JDK versión 1.5 Actualización 22
JBoss 5, JDK 6: JBoss versión 5.1.0, JDK versión 1.6 Actualización 21
Valor predeterminado: JBoss 4, JDK 5

jboss_cfg

Cadena

Configuración de JBoss. Valores posibles:
minimal: configuración mínima predeterminada de JBoss.
default: configuración predeterminada por defecto de JBoss.
all: configuración predeterminada global de JBoss.
headless: configuración predeterminada con Tomcat y componentes de servicios Web eliminados.
all-headless: configuración global con Tomcat y componentes de servicios Web eliminados.
web: configuración sólo con Tomcat y componentes de servicios Web habilitados, utilizados para front-ends Web.
custom: configuración definida por el usuario. Se deberá crear una carpeta llamada JBOSS en la raíz del volumen de contenido o el sistema de archivos del terminal fs. Todas las carpetas necesarias (como mínimo las que son "conf", "deploy" y "libs") deberán estar incluidas dentro de esta carpeta.

Valor predeterminado: default

heap_size

Entero

Cantidad de memoria asignada al montón de Java (las opciones -Xms y -Xmx). Si esta propiedad es igual a 0, JBOSS calcula automáticamente el valor (aproximadamente un 70 % de RAM). Si esta propiedad se deja vacía, JBOSS no pasa las propiedades -XMs y -XMx a JVM, pudiendo el usuario especificarlas directamente en la propiedad java_opts.
Valor predeterminado: 0

perm_size

Entero

Cantidad de memoria asignada a los objetos Java permanentes (las opciones -XX:PermSize y -XX:MaxPermSize). Si esta propiedad es igual a 0, JBOSS calcula el valor automáticamente (aproximadamente un 20 % de RAM). Si esta propiedad se deja vacía, JBOSS no pasa las propiedades -XX:PermSize y -XX:MaxPermSize a JVM, pudiendo el usuario especificarlas directamente en la propiedad java_opts.
Valor predeterminado: 0

java_opts

Cadena

Esta cadena se agrega a la variable de entorno JAVA_OPTS antes de iniciar JVM. Aquí se pueden especificar opciones y parámetros adicionales (por ejemplo tamaño del montón, tamaño de generación permanente, opciones de depuración, etc.).
Valor predeterminado: vacío

tcp_port

Entero

El puerto en el que JBOSS permanece a la escucha de conexiones entrantes.
Valor predeterminado: 8080

app_base

Cadena

Directorio para las aplicaciones de usuario que se pueden implementar, relativas a la raíz del origen de datos (volumen de contenido montado o recurso montado en NFS).
Valor predeterminado: deploy

content_on_fs

Cadena

Especifica si el contenido se refiere al sistema de archivos del terminal fs o al volumen de contenido.
Valor predeterminado: off (el contenido se encuentra en el volumen de contenido).

timezone

Cadena

Especifica la zona horaria utilizada en el dispositivo. Si esta propiedad está vacía, la zona horaria no se modifica y se deja tal cual. Aquí tiene disponible una lista de zonas horarias admitidas. .
Valor predeterminado: vacío

Registro de propiedades

Nombre

Tipo

Descripción

logs_enabled

Cadena

Activa o desactiva el registro. Los valores válidos son "yes" o "no". Si el terminal de registro no está conectado y esta propiedad se establece en "yes", JBOSS dará error al iniciarse.
Valor predeterminado: no

logs_dir

Cadena

Directorio donde se almacenan los registros relativos a la raíz del recurso compartido de registro.
Valor predeterminado: vacío

log_filename

Cadena

Nombre de archivo para el archivo de registro.
Valor predeterminado: jboss.log.

log_level

Cadena

Nivel de registro. {Se requieren valores válidos y el valor predeterminado.}

Propiedades de agrupamiento en clúster

Nombre

Tipo

Descripción

partition_name

Cadena

El nombre de una partición. Todas las instancias de JBOSS en el grid que tienen el mismo nombre de partición se unen en un clúster. Si esta propiedad está vacía, se desactiva la posibilidad de agrupamiento. Valor predeterminado: vacío

Uso típico

Servidor Web/de aplicaciones sencillo

Esta es la forma más sencilla de usar un dispositivo JBOSS. Una puerta de enlace IN enruta todo el tráfico HTTP entrante al dispositivo JBOSS. En este escenario, JBOSS utiliza un volumen de contenido local.

Ejemplo de uso 1 de JBOSS

Dispositivos en uso:

Propiedades en uso:

Propiedad

Valor

Descripción

jboss_env

JBoss 4, JDK 5

Entorno de JBoss en uso.

jboss_cfg

predeterminada

Configuración predeterminada de JBoss.

tcp_port

80

Puerto predeterminado para HTTP.

app_base

content

Las aplicaciones se encuentran en el subdirectorio /content del volumen de datos.

content_on_fs

off

El contenido se encuentra en el volumen local.

logs_enabled

no

Sin registro.

Servidor Web/de aplicaciones sencillo con almacén de datos externo, base de datos y control.

Este es un ejemplo más complejo que utiliza almacenamiento de datos externo, un dispositivo de base de datos y un dispositivo de control.

Ejemplo de uso 2 de JBOSS

Dispositivos en uso:

Propiedades en uso:

Propiedad

Valor

Descripción

jboss_env

JBoss 5, JDK 6

Último entorno JBoss en uso.

jboss_cfg

predeterminada

Configuración predeterminada de JBoss.

tcp_port

80

Puerto predeterminado para HTTP.

app_base

content

Las aplicaciones se encuentran en el subdirectorio /content del volumen de datos montado en NFS.

content_on_fs

on

El contenido se encuentra en el volumen montado en NFS.

logs_enabled

yes

Con registro.

logs_dir

/jboss_logs

El archivo de registro se encuentra en el subdirectorio /jboss_logs/ del dispositivo NAS.

log_filename

jboss-runtime.log

El archivo de registro se llama "jboss-runtime.log".

log_level

EMERG

Solamente se registran mensajes de emergencia.

Servidor de aplicaciones con front-end

En este ejemplo, el dispositivo de front-end WEB5 procesa contenido estático y redirige todas las solicitudes de contenido generado de forma dinámica al dispositivo JBOSS de back-end.

Ejemplo de uso 3 de JBOSS

Dispositivos en uso:

Propiedades en uso:

Propiedad

Valor

Descripción

jboss_env

JBoss 4, JDK 5

Entorno de JBoss en uso.

jboss_cfg

predeterminada

Configuración predeterminada de JBoss.

tcp_port

8080

Puerto TCP de JBoss estándar.

app_base

content

Las aplicaciones se encuentran en el subdirectorio /content del volumen de datos.

content_on_fs

off

El contenido se encuentra en el volumen local.

logs_enabled

no

Sin registro.

Entorno de alojamiento complejo con front-end, bases de datos y servidores de back-end agrupados y tolerantes a fallos.

Esta es una aplicación compleja con un front-end agrupado, varias bases de datos agrupadas y un back-end de JBoss agrupado.

Ejemplo de uso 4 de JBOSS

La puerta de enlace de entrada gw4 recibe solicitudes entrantes y las envía al conmutador URL sw1, el cual separa las solicitudes de contenido estático (enviadas a través de los terminales de salida 1-3 por medio del equilibrador de carga lb1 y de allí a los servidores Web de front-end web1 y web2) de las llamadas de aplicación (enviadas a través de los terminales de salida 5-7 por medio del equilibrador de carga de back-end lb2 y después a los servidores de aplicaciones JBoss AppSrv4 y AppSrv5). La granja Web de servidores de front-end (web1 y web2) procesa las solicitudes entrantes, y bien responde con contenido estático, o reenvía las solicitudes a servidores de back-end a través del segundo equilibrador de carga lb2. Los servidores de front-end usan dispositivos de base de datos MySQL agrupados db_1_1 y db_1_2. El segundo equilibrador de carga lb2 equilibra el tráfico entre los dispositivos de JBoss agrupados AppSrv4 y AppSrv5. Éstos a su vez usan los dispositivos de base de datos agrupados db_2_1 y db_2_2. El almacenamiento de datos se proporciona a través de NFS mediante el dispositivo NAS.

Dispositivos en uso:

Propiedades en uso:

Propiedad

Valor

Descripción

jboss_env

JBoss 5, JDK 6

Último entorno JBoss en uso.

jboss_cfg

all

toda la configuración de JBoss, incluye agrupamiento en clúster.

tcp_port

8080

Puerto predeterminado para JBoss.

app_base

content

Las aplicaciones se encuentran en el subdirectorio /content del volumen de datos montado en NFS.

content_on_fs

on

El contenido se encuentra en el volumen montado en NFS.

logs_enabled

no

Sin registro.