Upload
cesar-pajares
View
797
Download
6
Tags:
Embed Size (px)
DESCRIPTION
JBoss AS Installation -JBoss as jeap - Curso JBoss JB366 Día 2 Configuración e implementación
Citation preview
César Pajares – ECM /CMS [email protected]
1
JBoss AS Instalación, Configuración e Implementación
JBossProfessional Open Source
20 Octubre 2009Curso JBoss JB366
César Pajares – ECM /CMS [email protected]
2
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Preparamos la instalación
César Pajares – ECM /CMS [email protected]
3
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Disk space to install JDK and JBoss Application Server
• Configuring Your Java Environment• Download the Sun JDK 5.0 or JDK 6 • http://java.sun.com/javase/downloads/index.jsp• Set up an environment variable called JAVA_HOME EJ: C:\Archivos
de programa\Java\jdk1.6.0_16• Verify your Java environment, type java –version
• Install the JBoss Application Server• Available on http://labs.jboss.com/jbossas/downloads/• Set your JBOSS_HOME environment variables
César Pajares – ECM /CMS [email protected]
4
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
•Ejecutamos run.bat (para Windows) o run.sh (para Linux) script
Testeamos la instalación
César Pajares – ECM /CMS [email protected]
5
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Abrimos un navegador y escribimos http://localhost:8080
Testeamos la instalación
César Pajares – ECM /CMS [email protected]
6
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Abrimos un navegador y escribimos http://localhost:8080 Diferencias entre Versiones instaladas JBoss 5.0.1 vs JBoss 5.1.0
• JBoss 5.0.1
• JBoss 5.1.0
César Pajares – ECM /CMS [email protected]
7
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Abrimos un navegador y escribimos http://localhost:8080/admin-console JBoss AS Administrtion Console 1.2.0.GA
César Pajares – ECM /CMS [email protected]
8
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Abrimos un navegador y escribimos http://localhost:8080/admin-console JBoss AS Administrtion Console 1.2.0.GA
César Pajares – ECM /CMS [email protected]
9
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Abrimos un navegador y escribimos http://localhost:8080/jmx-console JBoss JMX Management Console
César Pajares – ECM /CMS [email protected]
10
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Abrimos un navegador y escribimos http://localhost:8080/web-console JBoss WEB Console
César Pajares – ECM /CMS [email protected]
11
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedPreparing for the installation
• Abrimos un navegador y escribimos http://localhost:8080/status Tomcat Status / Full / XML
César Pajares – ECM /CMS [email protected]
12
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
La conexión remota con el servidor de JBoss AS JBoss AS es accesible en la dirección localhost (127.0.0.1) por defecto, en lugar de permitir el acceso para todas las interfaces disponibles (0.0.0.0). Esto se realiza principalmente por razones de seguridad debido a las preocupaciones de los administradores cuando van a producción sin haber securizado sus servidores correctamente. Para habilitar el acceso remoto mediante la unión de servicios de JBoss a un interfaz en particular, sólo se tiene que ejecutar JBoss con la opción-b. (--host=0.0.0.0 o -b 0.0.0.0)
César Pajares – ECM /CMS [email protected]
14
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Preparando la desistalación
César Pajares – ECM /CMS [email protected]
15
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
JBoss Application Server puede ser desistalado borrando el directorio de instalación del servidor de aplicaciones Jboss.
Necesitaremos borrar la variable de entorno JBOSS_HOME de nuestra instalación de Linux o Windows.
César Pajares – ECM /CMS [email protected]
16
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
ANT y MAVEN
César Pajares – ECM /CMS [email protected]
17
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es ant?Una vez que tenemos hecho nuestro programa java o mientras lo estamos haciendo, hay una serie de tareas repetitivas que hacemos con cierta frecuencia: borrar todos los .class para recompilar desde cero, compilar, generar la documentación de nuestro programa con javadoc, generar el jar con nuestro proyecto, etc, etc.
La forma normal de hacer esto al principio es hacerse unos ficheros de comandos en linux o ficheros .bat en windows. Ahi ponemos todos los comandos necesarios y llamamos a estos scripts cuando nos hace falta.ant es una herramienta gratuita (se puede bajar de http://ant.apache.org) que funciona similar a los scripts o ficheros .bat. En un fichero de texto en formato xml ponemos qué tareas queremos que se ejecuten. Este fichero habitualmente se llama build.xml. Luego, desde línea de comandos de una ventana de ms-dos o shell de linux, nos basta ejecutar:
$ ant
o bien $ ant compila$ ant documenta
y la tarea en cuestión se hace. "compila" y "documenta" son nombres que hemos definido nosotros para compilar y generar el javadoc respectivamente.
César Pajares – ECM /CMS [email protected]
18
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?En nuestros proyectos java siempre tenemos varias tareas que realizar. La primera suele ser crear una estructura de directorios para nuestro proyecto, con un hueco para los fuentes, otro para iconos, ficheros de configuración o datos, directorio para dejar los .class o el .jar, para dejar el javadoc, etc, etc.
La herramienta que nos ayuda un poco con todo esto es ant. Sin embargo, con ant no tenemos todas estas tareas hechas y debemos reescribir posiblemente nuestro fichero build.xml (el de tareas que se ejecutan con ant) de un proyecto a otro. También tendremos que copiar los jar externos de los que dependemos
Si vamos a una herramienta más evolucionada, llegamos a maven. Maven, con comandos simples, nos crea una estructura de directorios para nuestro proyecto con sitio para los fuentes, los iconos, ficheros de configuración y datos, etc, etc. Si a maven le indicamos qué jar externos necesitamos, es capaz de ir a buscarlos a internet y descargarlos por nosotros.
Sin necesidad prácticamente de configurar nada, maven sabe como borrar los .class, compilar, generar el jar, generar el javadoc y generar un documentación web con montones de informes (métricas, código duplicado, etc).
César Pajares – ECM /CMS [email protected]
19
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Antes de ponernos a hacer nada, necesitamos tener una conexión de internet. Maven la primera vez que se ejecuta empieza a bajarse cosas y si no puede, no sirve para nada.
Basta bajarse el zip de maven, desempaquetarlo y poner su directorio bin en el path de busqueda de ejecutables.
En mi caso lo he desempaquetado en C:\JBoss, con lo que se me ha creado el directorio C:\Jboss\apache-maven-2.2.1
Pasos de configuración:1.- Variable de entorno, buscamos Path, editamos y añadimos al final, con punto y coma delante2.- Comprobamos que funciona ejecutando desde ms-dos: mvn -version
César Pajares – ECM /CMS [email protected]
20
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Crear un proyectoEl primer paso que podemos hacer con maven es crear un proyecto desde cero. El comando de maven que tenemos que ejecutar es:
Veamos los parámetrosarchetype:create es el comando/plugin, de maven para crear un proyecto. Por defecto crea un proyecto de java normalito (nada de aplicación web, aunque también se puede)-DgroupId=JBoss.ejemplos es el conjunto de proyectos al que pertenece nuestro proyecto. Por ejemplo, yo puedo meter todos mis programas de ejemplo en un grupo que llamaré “JBoss.ejemplos". Este nombre que pongamos aquí va a servir de paquete inicial para todas las clases del proyecto. Todos los proyectos maven deben pertenecer a un grupo, aunque sea único para él, que se denominará groupId. -DartifactId=EjemploMaven es el nombre que queramos dar al proyecto. Maven creará un directorio con este nombre y el jar que genere para el proyecto tendrá también este nombre. Todos los proyectos maven tienen un nombre para identificarlos, que se denomirá artifactId
mvn archetype:create -DgroupId=JBoss.ejemplos -DartifactId=EjemploMaven
César Pajares – ECM /CMS [email protected]
21
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Crear un proyectoUna vez ejecutado este comando, Maven empezará a bajarse cosas de internet cuando lo ejecutemos por primera vez (en los próximos proyectos ya no necesita bajarse nada) y creará una estructura de directorios y ficheros como la siguiente.
EjemploMaven+---src¦ +---main¦ ¦ +---java //Para nuestros fuentes¦ ¦ +---JBoss¦ ¦ +---ejemplos¦ ¦ +---App.java¦ +---test¦ +---java //Para test de Junit¦ +---JBoss¦ +---ejemplos¦ +---AppTest.java +---pom.xml
César Pajares – ECM /CMS [email protected]
22
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Empezamos a trabajarAhora llega el momento duro. Debemos empezar a escribir el código, tanto de nuestro proyecto como de las clases de test de JUnit, si es que seguimos al pie de la letra las costumbres de buena programación. Desgraciadamente, todavía no hay herramientas que hagan este trabajo por nosotros, así que a ello.
CompilarUna vez que tenemos todo, podemos compilar de forma sencilla. Basta ponerse en el directorio donde está el fichero pom.xml y escribir mvn compile
Esto creará un directorio target justo debajo de EjemploMaven y ahí un subdirectorio classes donde meterá todos los .class de nuestro compilado
César Pajares – ECM /CMS [email protected]
23
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Generar el JARPara generar el jar, es igual de sencillo
JARBasta ponerse en el directorio donde está el fichero pom.xml y escribir mvn package
Esto primero compilará si es necesario, pasará las clases de test de JUnit y si no hay fallos, meterá en el directorio target nuestro jar, que por defecto tendrá un nombre tan feo como este: EjemploMaven-1.0-SNAPSHOT.jar
Maven añade un 1.0 para indicar que es la versión 1.0 de nuestro proyecto
-SNAPSHOT es para indicar que esta versión está en construcción, que no es definitiva
César Pajares – ECM /CMS [email protected]
24
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Dependencias de nuestro proyectoUna vez que sabemos que hay un montón de jars por el mundo a nuestra disposición, sólo tenemos que saber cómo hacer que maven se los baje cuando nosotros queramos.
Para decir que necesitamos un jar de los que algún alma caritativa ha puesto a nuestra disposición, tenemos que editar el fichero pom.xml que tiene por defecto esta pinta:
César Pajares – ECM /CMS [email protected]
25
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Dependencias de nuestro proyecto
Vemos que hay un apartado dependencies y que dentro tiene un dependency de junit. Esto es la opción por defecto. Para esta dependencia de Junit hay que dar el groupId (junit), el artifactId (junit otra vez), la versión que deseamos (3.8.1) y cuándo la necesitamos (en los test)
César Pajares – ECM /CMS [email protected]
26
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Dependencias de nuestro proyecto
Imaginemos que queremos el log4j, pero para nuestro programa, no para el test.Nos vamos al respositorio oficial de maven http://www.ibiblio.org/maven2/ y navegamos hasta llegar el fichero .pom del log4j en la versión que queremos, es decir, vamos "pinchando" en: log4j, log4j, 1.2.13 y finalmente log4j-1.2.13.pom. Ahí vemos el groupId, artifactId y versión del log4j que queremos. Ahora editamos nuestro pom.xml y le añadimos la dependencia
César Pajares – ECM /CMS [email protected]
27
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Integración con los IDE
Si trabajamos con un IDE, como eclipse, IntelliJ IDEA, netbeans, etc , ¿cómo encuentro ahora los jar en un sitio tan escondido?. "Fácil" entre comillas. Maven es capaz de generar un proyecto de eclipse, de idea y creo que de netbeans. Basta ejecutar esto mvn eclipse:eclipse
mvn idea:idea
César Pajares – ECM /CMS [email protected]
28
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Generar documentaciónGenerar el javadoc es fácil también entre comillas. Lo primero es que debemos editar el fichero pom.xml para indicarle que queremos este tipo de documentación. Puede quedar así Luego ya es sencillo. Basta ejecutar
mvn javadoc:javadoc
y maven nos generará en target un directorio target\site\apidocs y dentro de él meterá el javadoc.
Si ejecutamos
mvn site:site
César Pajares – ECM /CMS [email protected]
29
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
¿Qué es Maven?Esto es lo básico para hacerse una idea de qué es maven y empezar con ello. Hay muchísimas más cosas que se pueden configurar en maven, pero nos alargaríamos demasiado. Por ejemplo, algunas de las cosas que se pueden hacer con maven:
Generar un .jar con los fuentesGenerar en formato web una documentación similar al javadoc, pero con los fuentes en colorines.Generar un .zip con todos los jar y ficheros de configuración, para distribuir nuestro programaUn análisis de métricas de nuestro código.Un análisis de cobertura de los test, indicando qué líneas de código se han ejecutado o no en los test.Ejecutar desde maven tareas de antPreparar una distrubucción etiquetando todos los fuentes en cvs.Crear un proyecto maven compuesto de varios subproyectosCrear un gran jar que tenga todos los .class, tanto los nuestros como los de los jar ajenos. Evitamos así distribuir varios jar con nuestra aplicación.
Para finalizar
César Pajares – ECM /CMS [email protected]
30
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Estructura del Servidor
César Pajares – ECM /CMS [email protected]
31
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedThe JBoss Server - A Quick Tour
Estructura del Servidor
• Exploraramos la estructura de directorios• Ubicaciones de los archivos de configuración• Ubicación de los ficheros de registro• Ubicación de los archivos de despliegue
¿que vamos a explorar?
César Pajares – ECM /CMS [email protected]
32
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting Started+ bin/ - contains start scripts and run.jar+ client/ - client jars + docs/ - docs, schemas/dtds, examples + lib/ - core bootstrap jars, different with the introduction of the microcontainer and breakup of jboss-common. + server/ - contains the same server configuration directories.
+ default/ configuration + conf/ - contains server configuration files used when starting the
server. changes in here are detected on restarting your server. # bootstrap-beans.xml - new mc kernel bootstrap configuration # jax-ws-catalog.xml - oasis catalog driven schema/dtd namespace configuration # jbossjta-properties.xml - new JBossTS properties # jboss-service.xml - legacy static mbeans for compatibility # jndi.properties - the same jndi props # log4j.xml - the same log4j config # login-config.xml - the same jaas login config # props/ - the same default jaas login properties files # standardjaws.xml - obsolete cmp config # standardjbosscmp-jdbc.xml - the same cmp2 config # standardjboss.xml - the same ejb2 config # xmdesc/ - legacy xmbean descriptors
Estructura del Servidor The JBoss Server - A Quick Tour
César Pajares – ECM /CMS [email protected]
33
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting Started+ data/ - contains hypersonic local database, transactions, xmbean configuration files.+ deploy/ - this is where services and your java applications are deployed. You can deploy
an application on the JBoss application server by simply copying the application's (WAR, EAR or JAR files) into this directory.
+ deployers/ - new vdf deployers # bsh-deployer - beanshell deployer # ejb3.deployer - ejb3 deployers # jboss-aop-jboss5.deployer - aspect deployer # jboss-jca.deployer - JCA deployers # jbossweb.deployer - war deployers # jbossws.deployer - web services deployers # ear-deployer-beans.xml - ear deployers # ejb-deployer-beans.xml - ejb2.x deployers # metadata-beans.xml - metadata handlers # security-deployer-beans.xml - security deployers # profileservice-beans.xml.bak - an example of the repository based profile service
+ lib/ - the JBoss AS static library files shared by the services and applications in the respective configuration.
Estructura del Servidor The JBoss Server - A Quick Tour
César Pajares – ECM /CMS [email protected]
34
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Archivos de Configuración
César Pajares – ECM /CMS [email protected]
35
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedArchivos de configuración
Fundamentalmente, la arquitectura de JBoss consiste en el microcontainer, beans de arranque de carga del microcontainer, una colección de implantadores (deployers) para la carga de diferentes tipos de implementación, y varios McBean (jboss-beans.xml) y Bean de implementación (jboss-service.xml). Esto hace que sea fácil de montar diferentes configuraciones y nos da la flexibilidad de adaptar JBoss para satisfacer nuestros requisitos.
• No es necesario cargar todos los componentes que NO sean necesarios• Podemos reducir el tiempo de arranque del servidor• Podemos integrar servicios adicionales escribiendo nuestros propios Mbeans.
César Pajares – ECM /CMS [email protected]
36
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedArchivos de configuración
JBoss esta compuesto por diversos archivos de configuración los cuales seencuentran bajo el directorio /server/<modalidad>/conf de la instalación deJBoss, este directorio a su vez puede contener varios subdirectorios. Nos basaremos en esta sección en el contenido del directorio default.
bootstrap.xml Este es el fichero que define que implantaciones adicionales del microcontainer se cargan como parte de la fase de arranque.
bootstrap/*Este directorio contiene los descriptores de arranque del microcontainer a los que se hace referencia en el archivo bootstrap.xml.
jboss-service.xmlArchivo que contiene los parámetros principales del Servidor JBoss; estearchivo XML define los valores para la variable CLASSPATH, el puerto para elservidor JNDI y el directorio donde serán colocados los distintos EJB's para serejecutados, entre otros parámetros como usuarios y roles disponibles paraemplear el sistema "Messaging" proporcionado con JBoss..
El arranque de servicios de este fichero será migrado a las implementaciones de arranque (bootstrap) en un futuro.
A continuación se mencionan los parámetros de los principales archivos para lamodalidad default, lo cual equivale al contenido del directorio /server/default/conf
César Pajares – ECM /CMS [email protected]
37
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedArchivos de configuración
jndi.propertiesContiene las Clases que serán utilizadas ("Factory's") para realizar búsquedas JNDI.
Jbossjta-properties.xmlEspecifica las propiedades por defecto del gestor de transacciones JBossTs
Java.policyUn marcador que define la política de seguridad de java y que simplemente otorga todos los permisos
jboss-log4j.xmlContiene los parámetros empleados por el mecanismo Log4J utilizado en Jboss para generar registros ("Logs").
login-config.xmlContiene los parámetros JAAS empleados por JBoss para verificar/autentificar usuarios.
standardjbosscmp-jdbc.xmlContiene los valores para ser empleados en CMP ("Container Managed Persistence") EJB's.
standardjboss.xmlContiene 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.
César Pajares – ECM /CMS [email protected]
38
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedArchivos de configuración
Props/*Contiene los ficheros de las propiedades de usuarios y roles para la consola JMX
xmdesc/*-mbean.xmlEste directorio contiene los descriptores XMBean para varios servicios configurados en el fichero jboss-service.xml
César Pajares – ECM /CMS [email protected]
39
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedArchivos de configuración
• JBoss Application Server incluye tres configuraciones de servidor diferente.• Dentro del directorio <JBoss_Home> / server , se encuentran cinco subdirectorios:
• default• mínimal• standard• all• web
Existe un directorio para cada configuración del servidor. Cada una de estas configuraciones ofrecen un diferente conjunto de servicios. La configuración “default” es la que utiliza si no se especifica otra cuando se pone en marcha el servidor.
Si le introducimos el parámetro ‘-c’ , modificaremos el arranque de la configuración del servidor.Ej: run –c all
César Pajares – ECM /CMS [email protected]
40
20 Octubre 2009Curso JBoss JB366
Jboss AS 5.1.0 Instalación
Getting StartedArchivos de configuración
• minimalTiene una configuración mínima de los servicios para arrancar JBoss. Inicia:
• el servicio de registro• un servidor JNDI• un escáner de despliegue para buscar nuevos despliegues
Lo usaríamos para utilizar JMX e iniciar nuestros propios servicios sin tecnologías Java EENo hay ningún contenidor web, tampoco EJBs, ni JMS
• defaultEs una base del perfil del servidor de Java EE 5 que contiene un conjunto predeterminado de los servicios. Cuenta con los servicios más utilizados para desplegar una aplicación Java EE. No incluye el servicio de JAXR (Java API for XML Registries), o cualquiera de los servicios de clustering
• allLa configuración inicia todos los servicios disponibles. Esto incluye Web Services y los servicios de clustering, que no están cargados en la configuración ‘default’.
• standardEs la configuración certificada de JavaEE 5 de todos los servicios.
• webEs un contenedor web ligero orientado al perfil de Internet de JavaEE 6.
César Pajares – ECM /CMS [email protected]
41 Jboss AS 5.1.0 Instalación
GET JBOSS 5!
http://www.jboss.org/jbossas/downloads
Questions?