JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer



Documentos relacionados
Fedora Documentación de Contribuyente Guía de Elecciones de Fedora. Nigel Jones

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

Acronis License Server. Guía del usuario

Acronis Backup & Recovery 11 Guía de inicio rápido

Comisión Nacional de Bancos y Seguros

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Tarea 1 Programación José Luis Comesaña

Entorno de Desarrollo - 1 -

Introducción a los sitios de SharePoint en Office 365

Manual de usuario de IBAI BackupRemoto

RefWorks 2.0 Cuaderno de ejercicios Nivel Avanzado. (actualizado Ene. 2012)

Notas para la instalación de un lector de tarjetas inteligentes.

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

Tutorial: Primeros Pasos con Subversion

1. El entorno de desarrollo Eclipse

Tareas básicas en OneNote 2010 Corresponde a: Microsoft Office OneNote 2010

Manual de NetBeans y XAMPP

Edición de Ofertas Excel Manual de Usuario

Manual de Gunaguaro Instalación y Uso

Instrucciones para Integración con PayPal

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

WINDOWS : TERMINAL SERVER

Operación Microsoft Access 97

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

Internet Information Server

Guía de Instalación Proscai

Instrucciones de instalación de IBM SPSS Modeler Server 16 para Windows

Guía de Instalación. Glpi

Instrucciones de instalación de IBM SPSS Modeler (licencia de usuario autorizado)

Servicio de VPN de la Universidad de Salamanca

Comisión Nacional de Bancos y Seguros

DOCENTES FORMADORES UGEL 03 PRIMARIA

Toda base de datos relacional se basa en dos objetos

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Conociendo el ambiente de programación de Java. M. en C. Erika Vilches

V Manual de Portafirmas V.2.3.1

INSTRUCCIONES ACTUALIZACION PASO A PASO a MICROSOFT WINDOWS-7 (rev.1.0):

Guía de inicio rápido a

JAVA EE 5. Arquitectura, conceptos y ejemplos.

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

Guía de acceso a Meff por Terminal Server

SMS Gestión. manual de uso

Introducción a la extensión de scripting en gvsig 2.0

Módulo 1 El lenguaje Java

CÓMO MANEJAR SU NUEVO SITIO WEB SOBRE DRUPAL Manual técnico y de usuario. Pontificia Universidad Javeriana Grupo PSU CDI

EMC SourceOne TM para Microsoft SharePoint 7.0 Búsqueda de archivo Tarjeta de referencia rápida

IBM SPSS Modeler Text Analytics Instrucciones de la instalación (Licencia de red)

Guía de configuración de destinos de digitalización y mensajes de alerta X500 Series

Plantilla de texto plano

Guía de instalación y configuración de IBM SPSS Modeler Social Network Analysis 16

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

Usar Epoptes en Huayra

IBM SPSS Statistics Versión 22. Instrucciones de instalación para Windows (Licencia de usuario autorizado)

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Manual de Usuario Sitio Dinámico e-ducativa Versión

PowerPoint 2010 Modificar el diseño de las diapositivas

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Copias de seguridad y recuperación Guía del usuario

1. Definición. Open Source. Escalable. Alto desempeño. Arquitectura Modular. Producto de licencia de código abierto sin coste adicional.

Instrucciones de instalación de IBM SPSS Modeler Text Analytics (licencia de usuario autorizado)

Descarga, instalación y uso de herramientas:

MANUAL DE USUARIO DESKTOP

2_trabajar con calc I

Administración Local Soluciones

Uso de la red telefónica

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Procedimiento para realizar la configuración de Internet Explorer y usar el Sistema de reservaciones Go! Res versión 4.x

Portal del cliente de Red Hat 1 Administración de suscripciones de RHN

Contenido. cursos.cl / Teléfono:

Servicio de Notificaciones Electrónicas y Dirección Electrónica Habilitada

OFICINA VIRTUAL SIS MANUAL DE TUTOR

Proyecto Fortalecimiento de las capacidades TIC en PyMEs y Gobiernos Locales mediante el uso de software libre Manual de Instalación Openbravo POS

Conceptronic CFULLHDMA Cómo usar Samba/CIFS y NFS

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

CONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003

Creación y administración de grupos locales

Configuracion Escritorio Remoto Windows 2003

Instalación del Admin CFDI

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

Curso de PHP con MySQL Gratis

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

Capítulo 1 Documentos HTML5

MANUAL DE AYUDA MÓDULOS 2011 MACOS

RefWorks Cuaderno de Ejercicios Nivel Avanzado

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Instalación de Crystal Reports

1. Configuración del entorno de usuario

Redes de área local: Aplicaciones y servicios WINDOWS

Transcripción:

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer para uso con JBoss Enterprise Application Platform 5 Edición 5.1.0 Mark Newton Aleš Justin

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer para uso con JBoss Enterprise Application Platform 5 Edición 5.1.0 Mark Newton Red Hat mark.newto n@jbo ss.o rg Aleš Justin Red Hat ajustin@redhat.co m Edited by Misty Stanley-Jones Red Hat misty@redhat.co m

Legal Notice Copyright 2011 Red Hat, Inc. T his document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux is the registered trademark of Linus Torvalds in the United States and other countries. Java is a registered trademark of Oracle and/or its affiliates. XFS is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. T he OpenStack Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community. All other trademarks are the property of their respective owners. Abstract Este manual está dirigido a aquellos desarrolladores Java que desean utilizar el microcontenedor JBoss para implementar entornos Java modulares y personalizados para sus aplicaciones.

Table of Contents Table of Contents. Prefacio........................................................................................... 4.......... 1. Convenciones del Documento 4 1.1. Convenciones tipográficas 4 1.2. Convenciones del documento 5 1.3. Notas y Advertencias 6 2. Cómo obtener ayuda y hacer sus comentarios 6 2.1. Necesita ayuda? 6 2.2. Necesitamos sus comentarios! 7. Parte...... I... Introducción............. al.. tutorial......... sobre...... el.. Microcontainer................................................... 8........... Capítulo......... 1... Prerequisitos............... para..... el.. uso..... de... este..... manual............................................. 9.......... 1.1. Instale Maven 9 1.2. Configuración especial de Maven para los ejemplos del microcontenedor 12 1.3. Descarga de los ejemplos 13. Capítulo......... 2... Introducción.............. al.. microcontenedor.............................................................. 14............ 2.1. Funcionalidades 14 2.2. Definiciones 14 2.3. Instalación 15. Capítulo......... 3... Construcción.............. de.... servicios............................................................. 16........... 3.1. Introducción al ejemplo de recusos humanos 16 3.2. Compilación del proyecto de ejemplo HRManager 17 3.3. Creación de POJOs 17 3.3.1. Descriptores de implementación XML 17 3.4. Conexión de POJOs 17 3.4.1. Consideraciones especiales 18 3.5. T rabajar con servicios 18 3.5.1. Configuración de un servicio 19 3.5.2. Probar un servicio 19 3.5.3. Empacar un servicio 21. Capítulo......... 4.. Uso..... de... los.... servicios................................................................... 23........... 4.1. Bootstrap del microcontenedor 26 4.2. Implementación del servicio 27 4.3. Acceso directo 28 4.4. Acceso indirecto 30 4.5. Carga de clase dinámica 31 4.5.1. Problemas con cargadores de clase creados con los descriptores de implementación 36. Capítulo......... 5... Agregar......... comportamiento................. con..... AOP................................................ 37........... 5.1. Creación de un aspecto 37 5.2. Configuración del microcontenedor para AOP 39 5.3. Aplicación de un aspecto 41 5.4. Callbacks del ciclo de vida 43 5.5. Agregar búsquedas de servicios por medio de JNDI 45. Parte...... II... Conceptos............ avanzados............ con.... el.. microcontenedor................................................... 4.. 7........... Capítulo......... 6... Modelos......... de.... componentes................................................................. 4.. 8.......... 6.1. Interacciones permitidas con los modelos de componentes 48 6.2. Un Bean sin dependencias 48 6.3. Uso del microcontenedor con Spring 48 1

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer 6.3. Uso del microcontenedor con Spring 6.4. Uso de Guice con el microcontenedor 6.5. MBeans de legado y mezcla de diferentes modelos de componentes 6.6. Exponer POJOs como MBeans 48 49 52 53. Capítulo......... 7... Inyección........... avanzada.......... de... dependencias............... y.. ldc...................................... 56........... 7.1. Fábrica de valores 56 7.2. Callbacks 58 7.3. Modo de acceso del Bean 60 7.4. Alias Bean 61 7.5. Soporte para anotaciones XML (o metadatos) 61 7.6. Autowire 64 7.7. Fábrica de beans 64 7.8. Constructor de metadatos Bean 67 7.9. ClassLoader personalizado 68 7.10. Modo controlador 69 7.11. Ciclo 70 7.12. Oferta y demanda 71 7.13. Instalaciones 71 7.14. Imitación perezosa 72 7.15. Ciclo de vida 73. Capítulo......... 8... El... sistema........ virtual........ de... archivos........................................................ 74............ 8.1. API pública VFS 77 8.2. Arquitectura VFS 86 8.3. Implementaciones existentes 86 8.4. Ganchos de extensión 87 8.5. Funcionalidades 87. Capítulo......... 9... La... capa...... ClassLoading...................................................................... 89........... 9.1. ClassLoader 89 9.2. ClassLoading 96 9.3. Carga de clase VFS 101. Capítulo......... 10..... Marco...... de.... trabajo........ de... la.. implementación................. virtual................................... 103............. 10.1. Manejo agnóstico de tipos de implementación 103 10.2. Separación del reconocimiento de la estructura de la lógica del ciclo de vida de la implementación 103 10.3. Control de flujo natural en forma de anexos 106 10.4. Detalles de la implementación y del cliente, usuario y uso del servidor 107 10.5. Máquina de estado único 108 10.6. Escaneo de clases en busca de anotaciones 108. Historial......... de... revisiones............................................................................ 110............. 2

Table of Contents 3

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer Prefacio 1. Convenciones del Documento Este manual utiliza varias convenciones para resaltar algunas palabras y frases y llamar la atención sobre ciertas partes específicas de información. En ediciones PDF y de papel, este manual utiliza tipos de letra procedentes de Liberation Fonts. Liberation Fonts también se utilizan en ediciones de HTML si están instalados en su sistema. Si no, se muestran tipografías alternativas pero equivalentes. Nota: Red Hat Enterprise Linux 5 y siguientes incluyen Liberation Fonts predeterminadas. 1.1. Convenciones tipográficas Se utilizan cuatro convenciones tipográficas para llamar la atención sobre palabras o frases específicas. Dichas convenciones y las circunstancias en que se aplican son las siguientes: Negrita m onoespaciado Utilizado para resaltar la entrada del sistema, incluyendo los comandos de shell, nombres de archivos y rutas. T ambién sirve para resaltar teclas y combinaciones de teclas. Por ejemplo: Para ver el contenido del archivo m y_next_bestselling_novel en su directorio actual de trabajo, escriba el comando cat m y_next_bestselling_novel en el intérprete de comandos de shell y pulse Enter para ejecutar el comando. El ejemplo anterior incluye un nombre de archivo, un comando de shell y una tecla. Todo se presenta en negrita-monoespaciado y distinguible gracias al contexto. Las combinaciones de teclas se pueden distinguir de las individuales con el signo más que conecta cada partee de la combinación de tecla. Por ejemplo: Pulse Enter para ejecutar el comando. Pulse Ctrl+Alt+F2 para pasar a una terminal virtual. El primer ejemplo resalta una tecla particular a pulsar. El segundo ejemplo, resalta una combinación de teclas: un set de tres teclas pulsadas simultáneamente. Si se discute el código fuente, los nombres de las clase, los métodos, las funciones, los nombres de variables y valores de retorno mencionados dentro de un párrafo serán presentados en Negritam onoespaciado. Por ejemplo: Las clases de archivo relacionadas incluyen filenam e para sistema de archivos, file para archivos y dir para directorios. Cada clase tiene su propio conjunto asociado de permisos. Negrita proporcional Esta denota palabras o frases encontradas en un sistema, incluyendo nombres de aplicación, texto de cuadro de diálogo, botones etiquetados, etiquetas de cajilla de verificación y botón de radio; títulos de menú y títulos del submenú. Por ejemplo: Seleccione Sistema Preferencias Ratón desde la barra del menú principal para lanzar Preferencias de ratón. En la pestaña de Botones, seleccione la cajilla de ratón 4

Prefacio de m ano izquierda y luego haga clic en Cerrar para cambiar el botón principal del ratón de la izquierda a la derecha (adecuando el ratón para la mano izquierda). Para insertar un carácter especial en un archivo gedit, seleccione Aplicaciones Accesorios Mapa de caracteres de la barra del menú. Luego, seleccione Búsqueda Buscar de la barra del menú de Mapa de caracteres, escriba el nombre del carácter en el campo de Búsqueda y haga clic en Siguiente. El carácter que buscó será resaltado en la T abla de caracteres. Haga doble clic en ese carácter resaltado para colocarlo en el campo de Texto a copiar y luego haga clic en el botón Copiar. Ahora regrese al documento y elija Modificar Pegar de la barra de menú de gedit. El texto anterior incluye nombres de aplicación; nombres y elementos del menú de todo el sistema; nombres de menú de aplicaciones específicas y botones y texto hallados dentro de una interfaz gráfica de usuario, todos presentados en negrita proporcional y distinguibles por contexto. Itálicas-negrita monoespaciado o Itálicas-negrita proporcional Ya sea negrita monoespaciado o negrita proporcional, la adición de itálicas indica texto reemplazable o variable. Las itálicas denotan texto que usted no escribe literalmente o texto mostrado que cambia dependiendo de la circunstancia. Por ejemplo: Para conectar a una máquina remota utilizando ssh, teclee ssh nombre de usuario@ dominio.nombre en un intérprete de comandos de shell. Si la máquina remota es example.com y su nombre de usuario en esa máquina es john, teclee ssh john@ exam ple.com. El comando m ount -o rem ount file-system remonta el sistema de archivo llamado. Por ejemplo, para volver a montar el sistema de archivo /home, el comando es mount -o rem ount /hom e. Para ver la versión de un paquete actualmente instalado, utilice el comando rpm -q paquete. Éste entregará el resultado siguiente: paquete-versión-lanzamiento. Observe que las palabras resaltadas en itálicas nombre de usuario, dominio.nombre, sistema de archivo, paquete, versión y lanzamiento. Cada palabra es un marcador de posición, ya sea de texto a ingresar cuando se ejecuta un comando o para un texto ejecutado por el sistema. Aparte del uso estándar para presentar el título de un trabajo, las itálicas denotan el primer uso de un término nuevo e importante. Por ejemplo: Publican es un sistema de publicación de DocBook. 1.2. Convenciones del documento Los mensajes de salida de la terminal o fragmentos de código fuente se distinguen visualmente del texto circundante. Los mensajes de salida enviados a una terminal se muestran en romano monoespaciado y se presentan así: books Desktop documentation drafts mss photos stuff svn books_tests Desktop1 downloads images notes scripts svgs Los listados de código fuente también se muestran en rom ano m onoespaciado, pero se presentan y resaltan de la siguiente manera: 5

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer package org.jboss.book.jca.ex1; import javax.naming.initialcontext; public class ExClient public static void main(string args[]) throws Exception InitialContext inictx = new InitialContext(); Object ref = inictx.lookup("echobean"); EchoHome home = (EchoHome) ref; Echo echo = home.create(); System.out.println("Created Echo"); System.out.println("Echo.echo('Hello') = " + echo.echo("hello")); 1.3. Notas y Advertencias Finalmente, utilizamos tres estilos visuales para llamar la atención sobre la información que de otro modo se podría pasar por alto. Nota Una nota es una sugerencia, atajo o enfoque alternativo para una tarea determinada. Ignorar una nota no debería tener consecuencias negativas, pero podría perderse de algunos trucos que pueden facilitarle las cosas. Importante Los cuadros con el título de importante dan detalles de cosas que se pueden pasar por alto fácilmente: cambios de configuración únicamente aplicables a la sesión actual, o servicios que necesitan reiniciarse antes de que se aplique una actualización. Ignorar estos cuadros no ocasionará pérdida de datos, pero puede causar enfado y frustración. Aviso Las advertencias no deben ignorarse. Ignorarlas muy probablemente ocasionará pérdida de datos. 2. Cómo obtener ayuda y hacer sus comentarios 2.1. Necesita ayuda? Si encuentra dificultades con alguno de los procedimientos descritos en este documento, visite el Portal del cliente de Red Hat en http://access.redhat.com. A través del portal del cliente, usted podrá: 6

Prefacio buscar o navegar a través de la base de artículos de soporte técnico sobre productos de Red Hat. enviar un caso de soporte a Servicios de Soporte Global de Red Hat (GSS) acceder a otra documentación del producto. Red Hat alberga una lista grande de correos electrónicos para discutir sobre software de Red Hat y tecnología. Encontrará un listado de las listas de correo disponibles al público en https://www.redhat.com/mailman/listinfo. Haga clic en el nombre de la lista a la que quiera suscribirse o para acceder a los archivos de listados. 2.2. Necesitamos sus comentarios! Si encuentra algun error o si se le ocurre una manera de mejorar este manual, nos encantaría escuchar sus sugerencias. Complete un reporte en Bugzilla frente al producto JBoss Enterprise Application Platform 5 y el componente doc-jboss_microcontainer_user_guide. El siguiente enlace le llevará a un reporte de error ya completado para este producto: http://bugzilla.redhat.com/. Llene la siguiente plantilla en el campo de Description de Bugzilla. Sea tan especifico como le sea posible al describir el problema, esto ayudará a asegurarnos de que lo podemos solucionar rápidamente. URL del documento: Número de la sección y nombre: Describa el problema: Sugerencias para mejorar: Información adicional: Asegúrese de darnos su nombre para poder darle todo el crédito por reportar el problema. 7

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer Parte I. Introducción al tutorial sobre el Microcontainer 8

Capítulo 1. Prerequisitos para el uso de este manual Capítulo 1. Prerequisitos para el uso de este manual Para poder utilizar los ejemplos en este manual es necesario instalar y configurar el software de soporte y debe descargar el código para los ejemplos. 1.1. Instale Maven Los ejemplos utilizados en este proyecto requieren Maven v2.2.0 o posteriores. Descargue Maven directamente de la página de inicio de Apache Maven e instale y configure su sistema tal como se describe en Procedimiento 1.1, Instale Maven. Procedimiento 1.1. Instale Maven 1. Verifique que tiene instalado Java Developer Kit 1.6 o posteriores. Este también es un requerimiento para la plataforma empresarial. Asegúrese de que tiene instalado Java en su sistema y configure la variable de entorno JAVA_HOME en su ~/.bash_profile para Linux o en las propiedades del sistema para Windows. Para mayor información con relación a la configuración de las variables de entorno, consulte el paso Paso 4 en este procedimiento. 2. Descargue Maven Nota Este paso y en el futuro se asume que ha guardado Maven en la ubicación sugerida en su sistema operativo. Maven, como cualquier otra aplicación Java se puede instalar en cualquier lugar razonable en su sistema. Visite http://maven.apache.org/download.html. Haga clic en el enlace de fichero zip compilado, por ejemplo apache-m aven-2.2.1-bin.zip Seleccione un espejo de descarga de la lista. Para usuarios de Linux Guarde el fichero zip en su directorio home. Para usuarios de Windows Guarde el fichero zip en su directorio C:\Docum ents and Settings\user_name. 3. Instale Maven Para usuarios de Linux Extraiga el archivo zip en su directorio home. Si seleccionó el fichero zip en el paso 2 y no vuelve a nombrar el directorio, el directorio extraído se llama apache-m aven-version. Para usuarios de Windows Extraiga el fichero zip en C:\Program Files\Apache Software Foundation. Si seleccionó el fichero zip en el paso 2 y no vuelve a nombrar el directorio, el directorio extraído se llama apachem aven-version. 4. Configure las variables del entorno 9

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer Para usuarios de Linux Agregue las siguientes líneas a su ~/.bash_profile. Asegúrese de cambiar el [username] a su nombre de usuario real y verifique que el directorio Maven es de hecho el nombre del directorio. El número de la versión puede ser diferente del que se lista a continuación. export M2_HOME=/home/[username]/apache-maven-2.2.1 export M2=$M2_HOME/bin export PATH=$M2:$PATH Al incluir M2 al comienzo de su ruta, la versión Maven que acabó de instalar será la versión predeterminada utilizada. Puede que también quierar establecer la ruta de su variable de entorno JAVA_HOME con la ubicación del JDK en su sistema. Para usuarios de Windows Agregue las variables de entorno M2_HOME, M2 y JAVA_HOME. a. Oprima Start+Pause Break. Se presenta la ventana de propiedades del sistema. b. Haga clic en la pestaña Advanced y luego haga clic en el botón Environment Variables. c. Bajo System Variables, seleccione Path. d. Haga clic en Edit y agregue las dos rutas Maven usando un punto y coma para separar cada entrada. No se requieren comillas alrededor de las rutas. Agregue la variable M2_HOME y establezca la ruta como C:\Program Files\Apache Software Foundation\apache-m aven-2.2.1. Agregue la variable M2 y configure el valor como %M2_HOME%\bin. e. En la misma ventana, cree la variable de entorno JAVA_HOME: Agregue la variable %JAVA_HOME% y establezca el valor con la ubicación de su JDK. Por ejemplo C:\Program Files\Java\jdk1.6.0_02. f. En la misma ventana actualice o cree la variable de entorno de la ruta: Agregue la variable %M2% para permitir que se ejecute Maven desde la línea de comandos. Agregue la variable %JAVA_HOME%\bin para establecer la ruta con la instalación correcta de Java. g. Haga clic en OK hasta que la ventana System Properties se cierre. 5. Implemente los cambios en.bash_profile Solo para los usuarios de Linux Para actualizar los cambios realizados al.bash_profile en la sesión de la terminal actual proporcione su.bash_profile. [localhost]$ source ~/.bash_profile 6. Update gnome-terminal profile Solo para los usuarios de Linux Actualice el perfil de la terminal para asegurarse de que las iteraciones posteriores de la terminal gnome (o la terminal Konsole) lean las nuevas variables de entorno. 10

Capítulo 1. Prerequisitos para el uso de este manual a. Haga clic en Edit Profiles b. Seleccione Default y luego haga clic en el botón Edit. c. En la ventana Editing Profile, haga clic en la pestaña T itle and Com m and. d. Seleccione la opción Run com m and as login shell. e. Cierre todas las terminales que tenga abiertas. 7. Verifique los cambios en las variables de entorno y en la instalación de Maven Para usuarios de Linux Para verificar que los cambios se han implementado correctamente, abra una terminal y ejecute los siguientes comandos: Ejecute echo $M2_HOME, el cual debe retornar el siguiente resultado. [localhost]$ echo $M2_HOME /home/username/apache-maven-2.2.1 Ejecute echo $M2, el cual debe retornar el siguiente resultado. [localhost]$ echo $M2 /home/username/apache-maven-2.2.1/bin Ejecute echo $PAT H y verifique que el directorio Maven /bin está incluído. [localhost]$ echo $PATH /home/username/apache-maven-2.2.1/bin Ejecute which m vn, el cual debe presentar la ruta al Maven ejecutable. [localhost]$ which mvn ~/apache-maven-2.2.1/bin/mvn Ejecute m vn -version, la cual debe presentar la versión de Maven, la versión Java relacionada y la información relacionada con el sistema operativo. [localhost]$ $ mvn -version Apache Maven 2.2.1 (r801777; 2009-08-07 05:16:01+1000) Java version: 1.6.0_0 Java home: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre Default locale: en_us, platform encoding: UTF-8 OS name: "Linux" version: "2.6.30.9-96.fc11.i586" arch: "i386" Family: "unix" Para usuarios de Windows Para verificar que los cambios se han implementado correctamente, abra una terminal y ejecute el siguiente comando: En una línea de comandos ejecute m vn -version C:\> mvn -version Apache Maven 2.2.1 (r801777; 2009-08-06 12:16:01-0700) Java version: 1.6.0_17 Java home: C:\Sun\SDK\jdk\jre Default locale: en_us, platform encoding: Cp1252 OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows" Ha configurado de manera exitosa Maven para utilizarlo con los ejemplos en este manual. 11

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer 1.2. Configuración especial de Maven para los ejemplos del microcontenedor Maven es un sistema modular de construcción que llama las dependencias cuando se necesitan. Los ejemplos en este manual asumen que ha incluído el bloque de XML en Ejemplo 1.1, Archivo settings.xml de ejemplo en su ~/.m2/settings.xml (Linux) o C:\Documents and Settings\username\.m 2\settings.xm l (Windows). Si el archivo no existe entonces créelo primero. Ejemplo 1.1. Archivo settings.xm l de ejemplo <settings> <profiles> <profile> <id>jboss.repository</id> <activation> <property> <name>!jboss.repository.off</name> </property> </activation> <repositories> <repository> <id>snapshots.jboss.org</id> <url>http://snapshots.jboss.org/maven2</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>repository.jboss.org</id> <url>http://repository.jboss.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginrepositories> <pluginrepository> <id>repository.jboss.org</id> <url>http://repository.jboss.org/maven2</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginrepository> <pluginrepository> <id>snapshots.jboss.org</id> <url>http://snapshots.jboss.org/maven2</url> <snapshots> <enabled>true</enabled> </snapshots> </pluginrepository> </pluginrepositories> </profile> </profiles> </settings> 12

Capítulo 1. Prerequisitos para el uso de este manual 1.3. Descarga de los ejemplos Los ejemplos en este manual le muestran cómo crear un proyecto maven que dependa del JBoss Microcontainer utilizando Maven. Puede descargarlos de images/examples.zip. Esta ubicación cambiará pero la hemos incluído para su conveniencia. Después de descargar el archivo Z IP que contiene los ejemplos, extraiga su contenido en un lugar conveniente y mire los ejemplos para familiarizarse con su estructura. 13

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer Capítulo 2. Introducción al microcontenedor El microcontenedor JBoss es un rediseño del JBoss JMX Microkernel para soportar la implementación POJO directa y el uso autónomo fuera del servidor de aplicaciones JBoss. El microcontenedor está diseñado para llenar las necesidades especificas de los desarrolladores Java que querían utilizar técnicas de programación orientadas a objetos para implementar software de manera rápida. Además permite implementar software en un amplio rango de dispositivos desde plataformas de computación móviles, entornos de computación de grande escala y lo que se encuentre entre estos dos. 2.1. Funcionalidades T odas las funcionalidades del microkernel JMX Implementación POJO directa (no hay necesidad de estándar/xmbean o MBeanProxy) Inyección directa de dependencias de estilo IOC Administración mejoarada del ciclo de vida Control adicional sobre las dependencias Integración transparente AOP Sistema virtual de archivos Marco de trabajo de implementación virtual Carga de clase OSGi 2.2. Definiciones Este manual usa algunos términos que puede que no le sean familiares. Algunos de ellos se definen en Lista de definición del mmicrocontenedor. Lista de definición del mmicrocontenedor Microkernel JMX JBoss JMX Microkernel es un entorno Java modular. Es diferente de los entornos estándar como J2EE ya que el desarrollador puede escoger exactamente los componentes que son parte del entorno y dejar por fuera el resto. POJO Un POJO (del inglés Plain Old Java Object) es un objeto Java modular y reutilizable. El nombre se utiliza para enfatizar que un objeto dado es un objeto Java normal, no es un objeto especial y en particular no es un JavaBean empresarial. El término lo utilizó por primera vez Martin Fowler, Rebecca Parsons y Josh MacKenzie in September 2000 en una charla en la cual estaban resaltando los muchos beneficios de codificar la lógica empresarial en objetos java normales en lugar de utilizar beans de entidad. Bean Java Un bean Java es un componente software re-utilizable que se puede manipular visualmente en una herramienta de construcción. Un bean Java es un pedazo de código independiente. No requiere herencias de ninguna clase o interfaz base en particular. Aunque los beans Java se crean principalmente en IDEs gráficos también se pueden desarrollar en simples editores de texto. 14

Capítulo 2. Introducción al microcontenedor AOP Aspect-Oriented Programming (AOP) es un paradigma de programación en el cual las funciones secundarias o de soporte se aislan de la lógica empresarial del programa principal. Es un sub-grupo de la programación orientada a objetos. 2.3. Instalación El microcontenedor es una parte integral de la plataforma empresarial. En el manual de configuración y administración encontrará mayor información sobre la instalación y configuración de la plataforma empresarial. 15

JBoss Enterprise Application Platform 5 Manual del usuario de JBoss Microcontainer Capítulo 3. Construcción de servicios Los servicios son pedazos de código que realizan tareas que múltiples clientes necesitan. Poara nuestro propósito pondremos algunas restricciones adicionales en la definición de un servicio. Los servicios deben tener nombres únicos, a los cuales se puede hacer referencia o los clinetes pueden llamar. El interior de un servicio debe ser invisible y sin importancia para los clientes. Este es el concepto "caja negra"de la programación orientada a objetos (OOP del inglés object-oriented programming). En OOP, cada objeto es independente y ningún otro objeto necesita saber cómo hace su trabajo. En el contexto del microcontenedor, los servicios se construyen desde POJOs. Un POJO es casi un servicio como tal pero no se puede acceder por un nombre único y debe ser creado por el cliente que lo necesita. Aunque un POJO se debe crear en tiempo de ejecución por parte del cliente, no es necesario implementarlo por medio de una clase separada con el fin de proporcionar una interfaz bien definida. Con tal de que no se borren los métodos y campos y el acceso a ellos no sea restringido, no hay necesidad de recompilar los clientes para utilizar un POJO recién creado. Nota El iimplementar una interfaz solo es necesario con el fin de permitir que un cliente escoja entre implementaciones opcionales. Si el cliente se compila frente a una interfaz, se pueden proporcionar muchas implementaciones diferentes de la interfaz sin tener que recompilar el cliente. La interfaz se asegura de que las firmas de método no cambien. El resto de este manual consiste de la creación del servicio de recursos humanos utilizando el microcontenedor para capturar y modularizar la lógica empresarial de la aplicación. Después de que el microcontenedor esté instalado, el código de ejemplo se encuentra en exam ples/user_guide/gettingstarted/hum anresourcesservice. 3.1. Introducción al ejemplo de recusos humanos Al familiarizarse con la estructura del directorio de los archivos en el ejemplo note que usa la estructura del directorio estándar Maven. Los archivos fuente Java se encuentran en los paquetes debajo del directorio exam ples/user_guide/gettingstarted/hum anresourcesservice/src/m ain/java/org/j boss/exam ple/service después de extraer el archivo Z IP. Cada una de estas clases representa un POJO simple que no implementa ninguna interfaz especial. La clase más importante es HRManager, la cual representa el punto de entrada del servicio proporcionando todos los métodos públicos que los clientes llamarán. Métodos que la clase HRManager proporciona addem ployee(employee employee) rem oveem ployee(employee employee) getem ployee(string firstname, String lastname) getem ployees() getsalary(employee employee) setsalary(employee employee, Integer newsalary) 16

Capítulo 3. Construcción de servicios ishiringfreeze() sethiringfreeze(boolean hiringfreeze) getsalarystrategy() setsalarystrategy(salarystrategy strategy) El servicio de recursos humanos está compuesto de unas pocas clases, las cuales mantienen una lista de empleados y sus detalles (direcciones y salarios, en este caso). Al utilizar la interfaz SalaryStrategy es posible configurar el HRManager de manera que hayan disponibles diferentes implementaciones de la estrategia de salario para poner límites mínimos y máximos en los salarios para diferentes roles de empleados. 3.2. Compilación del proyecto de ejemplo HRManager Para compilar el código fuente, escriba mvn compile desde el directorio hum anresourcesservice/. Esto crea un nuevo directorio llamado target/classes, el cual contiene las clases compiladas. Para limpiar el proyecto y borrar el directorio destino emita el comando mvn clean. 3.3. Creación de POJOs antes de poder utilizar un POJO, necesita crearlo. Necesita un mecanismo de nombrado que le permita registrar una referencia a la instancia POJO con un nombre. Los clientes necesitan este nombre para utilizar el POJO. El microcontenedor proporciona dicho mecanismo: un controlador. Un controlador le permite implementar sus servicios basados en POJO en un entorno en tiempo de ejecución. 3.3.1. Descriptores de implementación XML Después de compilar las clases, use un descriptor de implementación XML para crear instancias de ellas. El descriptor contiene una lista de beans representandos instancias individuales. Cada bean tiene un nombre único de manera que los clientes lo pueden llamar en tiempo de ejecución. El siguiente descriptor implementa una instancia del HRManager: <?xml version="1.0" encoding="utf-8"?> <deployment xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="urn:jboss:bean-deployer:2.0 bean-deployer_2_0.xsd" xmlns="urn:jboss:bean-deployer:2.0"> <bean name="hrservice" class="org.jboss.example.service.hrmanager"/> </deployment> Este XML crea una instancia de la clase HRManager y la registra con el nombre HRService. Este archivo se le pasa a un programa de implementación XML asociado con el microcontenedor en tiempo de ejecución, el cual realiza la implementación real e instancia los beans. 3.4. Conexión de POJOs Las instancias individuales POJO solo pueden proporcionar comportamientos relativamente simples. El verdadero poder de los POJOs viene de conectarlos entre ellos para realizar tareas complejas. Cómo puede conectar POJOs para seleccionar diferentes implementaciones de estrategia de salarios? El siguiente descriptor de implementación XML hace justamente eso: 17