Instalación y Configuración del JBOSS

10
Servidor de aplicaciones Un servidor de aplicaciones es un computador en red dedicado a ejecutar ciertas aplicaciones software. El término también se refiere al software instalado en tal ordenador para facilitar la ejecución de otras aplicaciones. Debido al éxito de la plataforma Java, el término "servidor de aplicaciones" normalmente se refiere a un servidor de aplicaciones J2EE. WebSphere (IBM) y Weblogic (BEA) son los más conocidos comercialmente. Dentro de los libres JBoss y Jonas son los dominantes. El lenguaje elegido para estas grandes operaciones es Java. Los módulos Web son servlets y Java Servers Pages (JSP), y la lógica de negocio se implementa en Enterprise JavaBeans (EJB). El servidor Tomcat de Apache es un ejemplo de contenedor de código abierto que incluye estos módulos. Los servlets son programas Java que se ejecutan en el servidor. Enterprise JavaBeans — EJB Los Enterprise JavaBeans (también conocidos por sus siglas EJB) son una de las API que forman parte del estandar de construcción de aplicaciones empresariales J2EE de Sun Microsystems . Su especificación detalla cómo los servidores de aplicaciones proveen objetos desde el lado del servidor que son, precisamente, los EJBs: Comunicación remota utilizando CORBA Persistencia Transacciones Control de la concurrencia Eventos utilizando JMS (Java messaging service) Servicios de nombres y de directorio

Transcript of Instalación y Configuración del JBOSS

Page 1: Instalación y Configuración del JBOSS

Servidor de aplicaciones

Un servidor de aplicaciones es un computador en red dedicado a ejecutar ciertas

aplicaciones software. El término también se refiere al software instalado en tal

ordenador para facilitar la ejecución de otras aplicaciones.

Debido al éxito de la plataforma Java, el término "servidor de aplicaciones"

normalmente se refiere a un servidor de aplicaciones J2EE. WebSphere (IBM) y

Weblogic (BEA) son los más conocidos comercialmente. Dentro de los libres JBoss

y Jonas son los dominantes.

El lenguaje elegido para estas grandes operaciones es Java. Los módulos Web son

servlets y Java Servers Pages (JSP), y la lógica de negocio se implementa en

Enterprise JavaBeans (EJB). El servidor Tomcat de Apache es un ejemplo de

contenedor de código abierto que incluye estos módulos.

Los servlets son programas Java que se ejecutan en el servidor.

Enterprise JavaBeans — EJB

Los Enterprise JavaBeans (también conocidos por sus siglas EJB) son una de las API

que forman parte del estandar de construcción de aplicaciones empresariales J2EE

de Sun Microsystems. Su especificación detalla cómo los servidores de

aplicaciones proveen objetos desde el lado del servidor que son, precisamente, los

EJBs:

Comunicación remota utilizando CORBA

Persistencia

Transacciones

Control de la concurrencia

Eventos utilizando JMS (Java messaging service)

Servicios de nombres y de directorio

Seguridad

Ubicación de componentes en un servidor de aplicaciones.

Además, la especificación de Enterprise Java Bean define los papeles jugados por

el contenedor de EJB y los EJBs además de disponer los EJBs en un contenedor.

Los EJBs proporcionan un modelo de componentes distribuido estándar para el

lado del servidor. El objetivo de los Enterprise beans es dotar al programador de

Page 2: Instalación y Configuración del JBOSS

un modelo que le permita abstraerse de los problemas generales de una

aplicación empresarial (concurrencia, transacciones, persistencia, seguridad, ...)

para centrarse en el desarrollo de la lógica de negocio en sí. El hecho de estar

basado en componentes nos permite que éstos sean flexibles y sobre todo

reutilizables.

No hay que confundir a los Enterprise JavaBeans con los JavaBeans. Los JavaBeans

también son un modelo de componentes creado por Sun Microsystems para la

construcción de aplicaciones, pero no pueden utilizarse en entornos de objetos

distribuidos al no soportar nativamente la invocación remota (RMI).

Page 3: Instalación y Configuración del JBOSS

Instalación y Configuración del JBOSS

JBoss es un servidor de aplicaciones J2EE de código abierto implementado en Java

puro. Al estar basado en Java, JBoss puede ser utilizado en cualquier sistema

operativo que lo soporte. Los principales desarrolladores trabajan para una

empresa de servicios, JBoss Inc., adquirida por Red Hat en Abril del 2006, fundada

por Marc Fleury, el creador de la primera versión de JBoss. El proyecto está

apoyado por una red mundial de colaboradores. Los ingresos de la empresa están

basados en un modelo de negocio de servicios.

JBoss implementa todo el paquete de servicios de J2EE.

Pasos Previos

Instalación del JDK (J2SE)

La base para operar cualquier producto que utiliza "Java" es el "JDK" de la

plataforma correspondiente, puede encontrar instrucciones para plataformas Linux así como

Windows, en las siguientes direcciones:

JDK para Linux : http://javabasico.osmosislatina.com/java_linux.htm

JDK para Windows : http://javabasico.osmosislatina.com/java_windows.htm

Los pasos anteriores son los suficientes para el "JDK" en lo que concierne a la

instalación de JBoss, seguramente después tenga que trabajar con la también

sumamente importante variable ambiental CLASSPATH, por ahora lo anterior es

suficiente. (Más sobre CLASSPATH en Utilización de la variable CLASSPATH).

Instalación de JBoss

1. Una vez obtenido el archivo Tar o Exe (sea el sistetema operativo) de

http://www.jboss.org que contiene el binario, este debe ser instalado ( o

descomprimido en Linux) en un directorio temporal ( /tmp por lo general)

para poder iniciar la instalación.

2. El paso anterior genera un directorio por nombre JBoss-

<numero_de_version> dentro del directorio temporal ( /tmp ) si

desciende a este directorio observará el directorio jboss el cual contiene

la distribución de JBoss.

Page 4: Instalación y Configuración del JBOSS

Cabe mencionar que la versión de Tomcat incluida en JBoss es idéntica a la

proporcionada en http://jakarta.apache.org/tomcat , la única diferencia es

que los archivos de configuración para JBoss se encuentran adaptados a

Tomcat.

3. Se recomienda movilizar el directorio jboss al directorio /usr/local,

además se recomienda definir la variable ambiental JBOSS_HOME al archivo

/etc/bashrc , si no esta familiarizado con ambientes *nix, esto significa

agregar la linea: export JBOSS_HOME=/usr/local/jboss;; para

instalaciones Windows esta variable ambiental puede ser definida de la

misma manera que CLASSPATH, descrita en las instrucciones del JDK.

Estructura

bin

Este directorio contiene los ejecutables utilizados por JBoss, el más importante

siendo el "script" de arranque utilizado por éste (run.sh)

client

Contiene los diversos archivos JAR's que serán utilizados por los distintos clientes

de los EJB's utilizados en JBoss. Dichos archivos deben ser agregados a la

variable CLASSPATH del sistema donde radica el cliente; el cliente generalmente

siendo un JSP/Servlet que accesa el EJB, este paradigma gira alrededor de

Stubs/Skeletons de RMI una parte central de EJB's — .

docs

Este directorio contiene documentación acerca de JBoss.

lib

Este directorio contiene los archivos JAR's empleados por JBoss requeridos en

cualquier modalidad.

server

Este directorio contiene tres sub-directorios nombrados: all, default y

minimal; cada sub-directorio contiene los distintos archivos de configuración

necesarios para ejecutar JBoss en diferentes modalidades.

La modalidad all incluye la ejecución de JBoss para emplearse como "Cluster",

ejecución de "Web-Services" y otras funcionalidades más ; el directorio

default como su nombre lo implica, incluye la configuración para ejecutar JBoss

Page 5: Instalación y Configuración del JBOSS

de manera básica, mientras el directorio minimal contiene los valores de

configuración necesarios para ejecutar JBoss con requerimientos mínimos; el

"Script" de arranque proporcionado con JBoss emplea los valores del directorio

default, para emplear otra modalidad es necesario modificar dicho "Script" de

arranque (run.sh).

A continuación se describen los directorios residentes en la modalidad de

arranque default:

conf

Este directorio contiene las diferentes secciones de configuración utilizadas por

JBoss, dependiendo de la modalidad utilizada este directorio puede contener

distintos archivos , sin embargo, sus detalles serán descritos en configuración

de JBoss .

data

Contiene distintos parámetros y archivos de configuración para las Bases de

Datos proporcionadas con JBoss (Hypersonic y la implementación "Messaging" de

JBoss) -- generalmente utilizada para aplicaciones demo.

deploy

Este directorio es ampliamente utilizado ya que aquí se colocan los EJB's para

que sean ejecutados por JBoss, una vez colocado el archivo JAR (en forma de EJB)

en este directorio, JBoss automáticamente expande y ejecuta el EJB.

lib

Contiene los archivos JAR's empleados por JBoss en base a la modalidad tratada.

log

Contiene los distintos registros ("Logs") generados por JBoss.

tmp

Contiene archivos creados por JBoss y utilizados de manera temporal.

work

Contiene las clases y archivos utilizados por JBoss para ejecución.

Page 6: Instalación y Configuración del JBOSS

Ejecución

La ejecución de JBoss es relativamente sencilla, dentro del directorio bin de la

instalación de JBoss se encuentran los archivos de arranque en forma de "scripts"

para Shell.El archivo de ejecución run.sh es utilizado para iniciar JBoss en

ambientes *nix con los parámetros encontrados en el directorio

server/default/conf, de igual manera, el archivo run.bat lo hace para ambientes

Windows.

Debe observar algo similar al siguiente desplegado; los detalles de estos

parámetros son aquellos definidos en la configuración de JBoss e incluyen: bases

de datos para trabajar con JBoss, ubicación de registros, parámetros JNDI, EJB's

disponibles y cargados, entre otra información.

Secuencia:

1. Ejecutar run.sh:

[web@ws_osmosis bin]$ ./run.sh

=========================================================================

JBoss Bootstrap Environment

JBOSS_HOME: /tmp/jboss-3.2.7

JAVA: /usr/local/jdk1.4.2//bin/java

JAVA_OPTS: -server -Dprogram.name=run.sh

CLASSPATH: /tmp/jboss-3.2.7/bin/run.jar:/usr/local/jdk1.4.2//lib/tools.jar

=========================================================================

12:55:10,608 INFO [Server] Starting JBoss (MX MicroKernel)...

12:55:10,610 INFO [Server] Release ID: JBoss [WonderLand] 3.2.7 (build: CVSTag=JBoss_3_2_7 date=200501280217)

12:55:10,610 INFO [Server] Home Dir: /tmp/jboss-3.2.7

12:55:10,610 INFO [Server] Home URL: file:/tmp/jboss-3.2.7/

12:55:10,623 INFO [Server] Library URL: file:/tmp/jboss-3.2.7/lib/

12:55:10,625 INFO [Server] Patch URL: null

12:55:10,642 INFO [Server] Server Name: default

12:55:10,642 INFO [Server] Server Home Dir: /tmp/jboss-3.2.7/server/default

12:55:10,643 INFO [Server] Server Home URL: file:/tmp/jboss-3.2.7/server/default/

12:55:10,643 INFO [Server] Server Data Dir: /tmp/jboss-3.2.7/server/default/data

........

< 50-70 lineas >

.......

.......

12:55:31,862 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080

12:55:32,074 INFO [ChannelSocket] JK2: ajp13 listening on /0.0.0.0:8010

12:55:32,192 INFO [JkMain] Jk running ID=1 time=0/149 config=null

12:55:32,216 INFO [Server] JBoss (MX MicroKernel) [3.2.7 (build: CVSTag=JBoss_3_2_7 date=200501280217)]

Page 7: Instalación y Configuración del JBOSS

Started in 21s:146ms

2. Esta pantalla donde se ejecuta JBoss permanecerá congelada por el término en

que este activo JBoss, a esta pantalla se enviarán entre otras cosas: los errores

de ejecución y resultados de agregar EJB's al directorio deploy de JBoss; desde

luego este comportamiento es modificable pero por ahora es el

comportamiento "default" de JBoss.

3. Para finalizar JBoss basta ejecutar Ctrl-C bajo la pantalla en cuestión y JBoss

será terminado, en el proceso desplegando ciertos mensajes de terminación.

Configuración

JBoss esta compuesto por diversos archivos de configuración los cuales se

encuentran bajo el directorio /server/<modalidad>/conf de la instalación de JBoss,

este directorio a su vez puede contener varios subdirectorios (como fue

mencionado en la instalación y estructura ), esta sección se basa en el contenido

del directorio default.

A continuación se mencionan los parámetros de los principales archivos para la

modalidad default, lo cual equivale al contenido de l directorio

/server/default/conf.

jboss-minimal.xml

Archivo que contiene los parámetros principales para la configuración "default"

de JBoss; este archivo XML define los valores para la variable CLASSPATH, el

puerto para el servidor JNDI y el directorio donde serán colocados los distintos

EJB's para ser ejecutados, entre otros parámetros.

jboss-service.xml

Archivo que contiene los parámetros principales del Servidor JBoss; este archivo

XML define los valores para la variable CLASSPATH, el puerto para el servidor

JNDI y el directorio donde serán colocados los distintos EJB's para ser

ejecutados, entre otros parámetros como usuarios y roles disponibles para

emplear el sistema "Messaging" proporcionado con JBoss.

jndi.properties

Contiene las Clases que serán utilizadas ("Factory's") para realizar búsquedas

JNDI.

log4j.xml

Page 8: Instalación y Configuración del JBOSS

Contiene los parámetros empleados por el mecanismo Log4J utilizado en JBoss

para generar registros ("Logs").

login-config.xml

Contiene los parámetros JAAS empleados por JBoss para verificar/autentificar

usuarios.

server.policy

Parámetros de seguridad empleados por JBoss.

standardjaws.xml

JAWS es el motor de mapeo Objeto/Relacional empleado por JBoss en CMP

("Container Managed Persistence") EJB's, este archivo contiene sus valores

"Default".

standardjbosscmp-jdbc.xml

Contiene los valores para ser empleados en CMP ("Container Managed

Persistence") EJB's.

standardjboss.xml

Contiene los parámetros estándar de configuración para JBoss tales como:

Tamaño de "Pools" para EJB's, valores de "Cache", numero de "Pools" para

Bases de Datos, Clases empleadas para Control de Transacciones, entre otros

parámetros.