You are on page 1of 19

Sistemas Distribuidos

Dr. Alain Ramrez


Reporte
(JBoss)

P g i n a 1 | 19

CONTENIDO.
1.
2.
3.
4.
5.
6.

INTRODUCCIN A JBOSS3
ESTRUCTURA DE JBOSS.5
TIPOS DE APLICACIONES DESPLEGABLES EN JBOSS.8
MONITOREO EN JBOSS..12
CONECTORES EN JBOSS..15
CLSTER EN JBOSS17

P g i n a 2 | 19

INTRODUCCIN A JBOSS
JBoss es toda una plataforma de desarrollo Java. El conjunto de productos se
conoce como JBoss Enterprise Middleware Stack Enterprise Platform.
Algunos de sus productos:

JBoss Enterprise Application Platform (EAP): Plataforma para desplegar


tanto servicios como aplicaciones construidas co n la tecnologa Java.
JBoss Enterprise Portal Platform (EPP): Plataforma para construir y
desplegar portales Java, permitiendo personalizar e interactuar con
aplicaciones empresariales Java.

Algunas de sus Herramientas y frameworks de desarrollo son:

JBoss Developer Studio: Es un entorno de Desarrollo (IDE) que toma como


base Eclipse e integra sus herramientas de desarrollo JBoss Tools.
Seam: Framework de desarrollo que permite la simplificacin entre la
integracin de tecnologas de JSF y EJB.
Hibernate: Framework de persistencia el cual maneja el concepto Object
Relational Mapping (ORM)

JBoss Application Server (AS).


Es un servidor de aplicaciones Java, construido sobre el micro contenedor JBoss.
Este micro contenedor es un contenedor ligero para la gestin, configuracin
despliegue de clases puras de Java, tambin conocidas como POJO (Plain Old
Java Objects). El micro contenedor se basa en la Programacin Orienta a Aspectos
(conocido como JBoss AOP). Integra servicios empresariales tales como JSPs,
Servlets, EJBs, y en general un entorno empresarial Java EE.
Permite la ejecucin de aplicaciones mviles, permitiendo aprovechar varios
servicios de un ambiente empresarial sin necesidad de un servidor JEE completo.
Utiliza el concepto de inyeccin de dependencia utilizando POJOs para crear
servicos. La configuracin se puede lograr mediante archivos XML o Anotaciones.
JBoss Developer Studio (JBDS).
Es el entorno de desarrollo comercial de JBoss, el cual est construido sobre
eclipse. JBoss cuenta con un plug-in para Eclipse, el cual ofrece varias de las
caractersticas que soporta JBDS, con el soporte de la comunidad JBoss y Eclipse.
El plug-in se conoce como JBoss Tools y permite la integracin con tecnologas
como:

P g i n a 3 | 19

Hibernate.
JBoss Seam
Rich Faces
JBoss AS
JBoss Portal.

JBoss utiliza el archivo bootstrap.xml para cargar e inicializar los servicios. Este
archivo contiene las rutas (URL) de los servicios disponibles.
Un ejemplo del archivo bootstrap.xml vlido sera el siguiente:

P g i n a 4 | 19

Algunos de los servicios que se observan son:


Classloader.xml: Archivo con las clases de carga bsicas y el classpath de la
instancia.
Aop.xml: Contiene los beans JBossAOP, advicers JMX y temas relacionados
con AOP.
Loggin.xml: Configuracin del framework log4j para salida de mensajes.

En JBoss AS podemos configurar mltiples instancias o perfiles en la misma


instalacin. La instalacin de JBoss EAP 5 incluye las siguientes instancias: all,
default, minimal, production, standard, web.
Adems, podemos utilizar las opciones de b para indicar la IP con la cual se
enlazar la instancia. La IP 127.0.0.1 indica que solo es accesible para el
localhost y la IP 0.0.0.0 indica que la instancia puede ser accedida desde
cualquier equipo.

ESTRUCTURA DE JBOSS

P g i n a 5 | 19

bin: Contiene los scripts y archivos necesarios para el arranque y detencin de


JBoss, tales como run.bat, shutdown.bat (Windows) y run.sh, shutdown.sh (Unix) y
run.conf que es el archivo donde establecemos los parmetros de la JVM.
common: Esta carpeta tiene un directorio lib, el cual contiene las libreras que dan
soporte a la versin del servidor, en este caso, JEE 5, adems de libreras para
soporte de frameworks como Hibernate.
lib: Contiene las libreras para el correcto funcionamiento del micro contenedor de
Jboss. Esta carpeta no se debe modificar a menos que sea un requerimiento
especfico del servidor de aplicaciones.
server: Esta carpeta es donde crearemos, configuraremos
mantenimiento a las instancias que utilicemos en JBoss.

y daremos

Una instancia o perfil es una configuracin con cierto nmero de servicios.


default: Esta es la instancia ms utilizada por los desarrolladores, ya que est
enfocada en brindar servicios JEE 5, con el cual podemos manejar EJB 3.0, JPA,
Anotaciones, entre varias caractersticas ms.
P g i n a 6 | 19

production: Esta instancia ya est habilitada con los servicios de clster y preconfigurada para utilizarse en ambientes productivos.
all: Contiene todos los servicios habilitados, incluyendo clster. Es un buen punto
de partida para instancias con servicios de clster.
standard: Soporta el estndar JEE 5, incluyendo servicios Web y llamadas remotas
(RMI)
web: Soporta la tecnologa de Servlets y JSPs, con soporte para JTA, JNDI, entre
otras. Esta instancia no est obligada a cumplir con el estndar JEE 5.

conf: Contiene los archivos de carga e inicializacin de nuestra instancia.


nicamente se cargan una vez al momento de arrancar nuestra instancia. Aqu se
encuentra el archivo bootstrap.xml.
deploy: En esta carpeta se encuentran los servicios que podemos utilizar en la
instancia respectiva, adems aqu se encuentran los distintos tipos de aplicaciones
que podemos desplegar como son .war, .ear o .sar.
P g i n a 7 | 19

deployers: En esta carpeta se encuentran los Mbeans (servicios) que permiten


desplegar las aplicaciones, como pueden ser .war, .ear y .sar.
lib: Contiene las libreras comunes que se pueden utilizar para las aplicaciones que
residan en esta instancia. Estas libreras son ledas solo la primera vez al cargar la
instancia.
*otras: Existen otras carpetas, como la carpeta de log, tmp, work y data. Las cuales
nos permiten examinar el trabajo realizado por la instancia, incluyendo sus
aplicaciones.

TIPOS DE APLICACIONES DESPLEGABLES EN JBOSS


.war (Web Archive): Este tipo de archivos empaquetan una aplicacin Web Java y
suelen contener Servlets, JSPs, descriptores como web.xml, jbossweb. xml, css,
javascript, entre otros archivos.
.ear (Enterprise Archive): Este tipo de archivos empaquetan una aplicacin
Empresarial Java y suelen contener adems de la parte Web, archivos .jar con
EJBs, descriptores como application.xml y jboss-app.xml.
.sar (JBoss Services Archive): Este tipo de archivos empaquetan un servicio
JBoss, los cuales se utilizan comnmente dentro del servidor JBoss y estn basados
en JMX.
*-ds.xml: Este tipo de archivos contienen los datos de conexin a bases de datos
externas y pueden ser reutilizados por todas las aplicaciones o servicios de la
instancia.

A nivel raz: Archivos pblicos


como *.html, *.jsp, *.css, *.js,
entre otros. Este directorio
base contiene comnmente
todos los elementos pblicos
de una aplicacin web. Estos
archivos pueden ser accedidos
desde un navegador Web.
WEB-INF: Esta carpeta
contiene los elementos de
configuracin, pginas,
libreras y clases de nuestra
aplicacin Web. Ningn
P g i n a 8 | 19

archivo de esta carpeta puede ser accedido desde el navegador Web, ya que son
privados.
WEB-INF/web.xml y jboss-web-xml: Contiene la configuracin de la aplicacin
web, definicin de componentes Web tales como Servlets, Listeners, Filtros, etc.
El archivo jboss-web.xml permite definir algunos recursos a utilizar, como pueden
ser dtaSources, EJBs, entre otro tipo de recursos.
WEB-INF/lib: contiene las libreras (.jar) que sern utilizadas por la aplicacin. En
le caso de JBoss, ya no es necesario integrar los .jar de JEE 5, ya que el servidor
ya tiene el soporte para este tipo de tecnologa.

Estructura de Archivos .ear


Un .ear contiene una aplicacin empresarial Java, la cual consta de: Aplicacin
Empresarial Java = Archivo .war + EJB-JAR.
La estructura de un .ear es:
/*war (Archivos .war)
/* .jar (Archivos EBJ-JAR)
/META-INF/application.xml (Descriptor de despliegue del mdulo EAR).
En este archivo se declaran los distintos mdulos Web y EJB que forman la
aplicacin empresarial.

Estructura de Archivos .sar


Los archivos SAR (Service Archive) tienen un objetivo distinto a los archivos .jar,
.war o.aer.
Los archivos .sar son utilizados nicamente en el servidor de aplicaciones JBoss.
Los archivos .sar son utilizados para desplegar servcios en el servidor de
aplicaciones JBoss sin depender de otros componentes.
La arquitectura de los archivos .sar est basada en Java eXtension Management
(JMX).
Durante el arranque del servidor de aplicaciones, el servicio de despliegue sar
(SARDeployer) inicia e instancia las clases que permiten manejar estos servicios a
travs de JMX.
Los componentes registrados va JMX se pueden observar en la consola de
JBoss.
P g i n a 9 | 19

En la figura se pueden observar algunos de los componentes que pueden ser


monitoreados va JMX (Java Management eXtensions). El API de JMX es un
estndar de Java para la gestin y monitoreo de recursos tales como:

Aplicaciones y dispositivos locales o remotos.


Servidores y servicios locales o remotos.
La Mquina Virtual (JVM) local o remota.

Algunos de los puntos fundamentales de JMX son:


La API JMX permite acceder a informacin que es publicada por una
aplicacin Java.
Para poder acceder a dicha informacin se deben crear clases Java
conocidas como Mbeans.
JBoss implementa sus servicios como Mbeans, lo que permite que
puedan ser monitoreados.
Existen herramientas para usar JMX de JBoss y monitorear su estado.

P g i n a 10 | 19

En JBoss los archivos de tipo dataSource se describen en archivos *-ds.xml y se


depositan en la carpeta de deploy de la instancia respectiva.
Estos archivos permiten especificar los valores para conectarnos a una base de
datos.

Un dataSource de tipo XADataSource permite ejecutar transacciones distribuidas,


es decir, en una misma transaccin se incluyen varias Bases de Datos.
P g i n a 11 | 19

MONITOREO EN JBOSS
JBoss tiene varias opciones para monitorear los servicios del servidor, desde
herramientas de lnea de comandos hasta consolas visuales. Las consolas Web y
JMX han sido parte de JBoss en versiones anteriores y continan en la versin 5,
adems se tienen las consolas Admin Console y Tomcat. Las herramientas de
monitoreo visuales se pueden acceder con la ruta: http://localhost:8080.

Tipos de consola en JBoss.

Consola de Administracin.
Consola JMX.
Consola Web.
Consola Tomcat.

CONSOLA DE ADMINISTRACIN.

Esta consola permite administrar, monitorear, generar alertas y operaciones de


control sobre JBoss. Tambin nos permite hacer tareas como: Reinicio de JBoss,
despliegue de aplicaciones .war, .ear entre otras, manejo de estadsticas, entre
otras muchas actividades de administracin.

P g i n a 12 | 19

El Panel de Control se compone de las siguientes opciones:

Summary: Resume las propiedades generales de un recurso, por ejemplo


JNDI, as como sus mtricas ms relevantes.

Configuration: Esta opcin permite la edicin y creacin de nuevos recursos.

Metrics: Esta opcin despliega las estadsticas y mtricas del recurso


seleccionado.

Control: Si est habilitado, se pueden utilizar acciones especiales


relacionadas con el recurso seleccionado. Por ejemplo, hacer un flush en un
pool de conexiones.

CONSOLA JMX.

Provee una vista de los servicios del microkernel de JBoss listndolos como
servicios registrados activos (Mbeans).
Los MBean pueden representar un dispositivo, una aplicacin o cualquier recurso
que necesite ser monitoreado. Un MBean incluye un conjunto de propiedades para
leer o escribir, tales como: Uso de la memoria, CPU, monitoreo del recolector de
basura, un conjunto de operaciones que se pueden invocar, entre otras
caractersticas.
P g i n a 13 | 19

CONSOLA WEB.

Es similar a JMX, excepto que contiene un applet interactivo que permite capturar
mtricas del sistema.
La consola Web soporta crear notificaciones y eventos listener. Los monitores que
se crean son MBeans. Cuando ocurre un evento, el MBean listener manda una
notificacin ya sea a la consola estndar de JBoss o va email.
En esta consola tambin se pueden observar grficas en tiempo real del uso de los
recursos de los MBeans y en general de JBoss.
Debido a que la consola Web y JMX son accesibles nicamente de manera local a
la instancia o nodo de trabajo, varios administradores prefieren utilizar software de
terceros, tal como es JBoss ON (JBoss Operations Network).

P g i n a 14 | 19

CONSOLA JCONSOLE.

Jconsole es una aplicacin de utilera que viene como parte de jdk 5 o superior y
provee informacin relacionada con una VM(Virtual Machine) ya sea local o remota.
Para utilizar Jconsole y Jboss de manera local, basta abrir la aplicacin JConsole y
conectarse a la instancia que fue levantada.
Con ello se podrn analizar el uso de la memoria, los hilos que se encuentran
ejecutando, el nmero de clases cargadas en memoria, el uso del CPU y varios
detalles ms de la mquina virtual ligada al proceso analizado.

CONECTORES EN JBOSS.
Conectores en la Capa WEB.
JBoss soporta los siguientes conectores en la capa WEB: HTTP1.1, HTTPS, APJ 1.3
HTTP 1.1: Permite establecer una comunicacin directa entre el cliente y servidor, su
puerto por default es 8080, y est habilitado por default.
HTTPS: Permite establecer una comunicacin encriptada entre el cliente y el servidor, su
puerto por default es 8443, no est habilitado por default.

P g i n a 15 | 19

APJ 1.3: Tambien conocido como Apache Java Protocol, permite conectar el servidor web
Apache y apache Tomcat, va el conector mod_jk (o va mod_proxy), su puerto por
default es 8009, est habilitado por default.

Conectores en la Capa de Servicio.

JBoss EAP al ser una plataforma de servicios, est construida de componentes


bajamente acoplados y unidos a travs del microcontenedor.
JBoss soporta mltiples servicios y estos servicios estn comnmente ligados a un
puerto y una ip, o una combinacin de ellos. Dependiendo del tipo de servicio, es el
puerto que se utiliza. Algunos ejemplos son:
JNDI (Java Naming and Directory Interface):

Es bsicamente un directorio donde se pueden buscar los componentes de


una aplicacin empresarial Java.

El puerto por default es el 1099.

JMS (Java Messaging Service):

Es una tecnologa que permite interactuar con distintos sistemas y


mantenerlos sincronizados a todos ellos.

Utiliza el concepto de colas de mensajes. Utiliza los modelos de mensajes


como son: publish-subscribe y point-to-point.

JBoss Messaging reemplaza a JBossMQ en la versin 5 de JBoss.

P g i n a 16 | 19

CLSTER EN JBOSS.
Un Clster es un conjunto de instancias agrupadas bajo un mismo nombre. El
clster se utiliza para garantizar entre otras cosas, la disponibilidad de los servicios
y aplicaciones publicadas en el servidor JBoss.
Algunas de las caractersticas de un clster son:

Todas las instancias est idnticamente configuradas.


Cada nodo tiene un identificador nico y pertenecen al mismo grupo.
Todos los nodos se pueden comunicar entre s.
Todos los nodos comparten el estado entre ellos.

La configuracin de un clster nos permite manejar dos conceptos fundamentales:

Balanceo de Cargas: Esto se puede lograr ya sea por hardware o por


software, en nuestro caso utilizaremos Apache.

Tolerancia a fallos: En caso de que un nodo falle, la peticin se re direcciona


al nodo que se encuentre activo, en nuestro caso utilizaremos Apache para
lograr esta configuracin.

AMBIENTE DEL CLSTER


Podemos observar que Apache es ahora es el responsable de procesar las
peticiones y re direccionar la peticin al nodo del clster JBoss ms indicado
(Balance de cargas) o al nodo que est disponible (fail-over).
El concepto de clster maneja una terminologa muy particular. A continuacin
mencionaremos varios de estos conceptos:

P g i n a 17 | 19

Escalabilidad: Entre ms usuarios conectados a nuestra aplicacin, ms


recursos se necesitan. La escalabilidad nos permite incrementar el hardware
y el software necesario para dar soporte a un mayor nmero de usuarios.

Alta Disponibilidad: Los servicios deben estar accesibles en los tiempos


indicados y con una garanta predictiva de disponibilidad.

Balanceo de Cargas: El objetivo es mejorar el performance de la aplicacin,


seleccionando de manera dinmica bajo cierto algoritmo, el nodo que tiene
menos carga y que permite procesar la peticin del usuario.

Sesin de afinidad (sticky): Un nodo es el que atiende de principio a fin la


sesin de un usuario.

Tolerancia a Fallos: En caso de que falle algn nodo, las sesiones de los
usuarios se transfieren a algn servidor disponible en el clster.

P g i n a 18 | 19

INTEGRACIN ENTRE APACHE Y JBOSS.

Apache es uno de los servidores web ms utilizados a nivel mundial. Posee una
arquitectura muy flexible y por lo tanto permite configurarlo para integrarlo con
distintas tecnologas, en nuestro caso con el servidor de aplicaciones Java JBoss.
JBoss maneja internamente un servidor web Apache Tomcat embebido para el
procesamiento de las peticiones Web.
En resumen Apache es un software muy robusto y conocido para el manejo de
aplicaciones Web estticas, mientras que la integracin con JBoss nos permitir
ejecutar nuestras aplicaciones dinmicas Java. En ambos casos los servidores se
pueden configurar para manejar el concepto de Clster.

P g i n a 19 | 19

You might also like