Introducción a JBoss

15,889 views

Published on

Introducción, configuración e instalación del Servidor de aplicaciones JBoss(sobre Ubuntu). Se repasan EJBs, Servicios Web, JBOSS Seam, seguridad con JAAS, etc. todo orientado a JBOSS.

Published in: Technology
2 Comments
3 Likes
Statistics
Notes
No Downloads
Views
Total views
15,889
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
377
Comments
2
Likes
3
Embeds 0
No embeds

No notes for slide

Introducción a JBoss

  1. 1. Servidor de aplicaciones JBOSS
  2. 2. IntroducciónConceptos básicos  Servidor de aplicaciones J2EE Open Source implementado en Java.  Multiplataforma.  Desarrollo: JBoss Inc. → Red Hat en 2006.  Implementa todo el paquete de servicios de J2EE.  Versión estable actual (11/2011): JBOSS 7.x.  Vamos a usar la JBOSS 5.1.0 GA http://www.jboss.org/jbossas
  3. 3. IntroducciónConceptos básicos  Licencia de código abierto (GPL/LGPL).  Cumple los estándares.  Incrustable, orientado a arquitectura de servicios.  Flexibilidad consistente.  Middleware para cualquier objeto de Java.  Ayuda profesional 24x7 de JBOSS.  Soporte completo para JMX.
  4. 4. Introducción¿Qué ofrece JBOSS?  EJB 3.0: Implementa la especificación EJB 3.0.  JBoss AOP: Orientado a Programación Orientada a Aspectos (en Java AspectJ).  Hibernate: Servicio de persistencia de objeto/relaciones y consultas para Java.  JBoss Cache: Aumenta el rendimiento de aplicaciones → Se cachean objetos Java más frecuentemente accedidos.
  5. 5. Introducción¿Qué ofrece JBOSS?  JBoss IDE: IDE Eclipse para el JBoss AS.  JBoss jBPM: WorkFlow. Soporta tres lenguajes de procesos: • PDL • BPEL • Pageflow  JBoss Portal: plataforma para albergar y servir una interfaz de portales Web. (Prtlets: JSR-168)
  6. 6. Introducción¿Qué ofrece JBOSS?  Tomcat: Contenedor de servlets.  JBoss Mail Server: Servidor de correo (JEMS).  JBoss MQ: Colas de mensajes (JMS).  JForum: Paquete dedicado a foros: soporte RSS, hilos y mensajes individuales, caché configurable, internacionalización, instalación gráfica, etc.
  7. 7. IntroducciónConfiguraciones (Modos)  minimal: Servicios mínimos para que funcione Jboss. Sin contenedor web, EJB ni JMS.  default: Tiene los servicios usados más frecuentemente.  all: Arranca todos los servicios disponibles. Incluyendo los servicios de clustering y RMI/IIOP.  standard: Configuración de servicios certificada JavaEE 5.  web: Configuración ligera de contenedor web.
  8. 8. IntroducciónEstructura de directorios  bin: arranque, cierre, y otros scripts y ejecutables.  client: JARs que serán utilizados por los distintos. clientes de los EJBs utilizados en JBoss.  docs: contiene documentación acerca de Jboss.  lib, common: JARs requeridos en cualquier modo.  server: modos all, default, minimal, standard, web.
  9. 9. IntroducciónEstructura de directorios  [modo]/conf: Contiene el fichero bootstrap.xml (configuración de servidor).  [modo]/data: Almacena contenido en el sistema. Mantiene datos persistentes aunque se reinicie el servidor. Ejemplo → Hypersonic: BD embebida guardan datos aquí.  [modo]/deploy: Contiene aplicaciones deployables (WARs, EARs, JARs, etc.) [modo] = all, default, minimal, standard, web.
  10. 10. IntroducciónEstructura de directorios  [modo]/lib: Contiene librerías JAR.  [modo]/log: Ficheros de logs.  [modo]/tmp: Ficheros temporales. Al desplegar aplicaciones, JBOSS escribe sus ficheros de despliegue aquí.  [modo]/work: Usado por Tomcat para las JSP compiladas. [modo] = all, default, minimal, standard, web.
  11. 11. IntroducciónInstalación y ejecución  Instalar Java  Descargar JBOSS (jboss-5.1.0.GA.) aquí.  Descomprimir el ZIP en /usr/local/jboss  Arrancar JBOSS: • cd /usr/local/jboss/bin • ./run.sh o /etc/init.d/jboss start  Prueba: Consola de administración de JBOSS: http://localhost:8080/admin-console
  12. 12. IntroducciónConsola de administración
  13. 13. IntroducciónInstalación y ejecución  Es posible elegir arrancar las instancias de JBOSS: • ./run.sh -c nombre_instancia  Es habitual copiar la instancia default y pegarla como “deusto” (por ejemplo): • sudo cp -r -p default/ deusto • ./run.sh -c deusto • Siempre tendremos default limpio por si tenemos que recuperar alguna configuración inicial. ;)
  14. 14. ConfiguraciónFicheros de configuración  conf/jboss-service.xml – Configura servicios que provee JBOSS cuando se arranca.  conf/standardjboss.xml – Configuración por defecto para EJBs.  conf/standardjbosscmp-jdbc.xml – Datasources por defectos, databases, tipos de datos de BD, etc.  conf/bootstrap.xml – Contenedores que se desplegarán en la fase de arranque. (AOP, JMX, etc.)  conf/java.policy– Políticas simples de seguridad de Java.
  15. 15. ConfiguraciónFicheros de configuración  conf/jbossjta-properties.xml – Propiedades por defecto del gestor de transacciones.  conf/standardjboss.xml – Configuración por defecto para EJBs.  conf/jndi.properties – Propiedades iniciales del contexto de JNDI.  conf/jboss-log4j.xml – Configuración de log4j.  login-config.xml – Ejemplo de configuración de seguridad en la parte del servidor cuando se utiliza JAAS como sistema de seguridad.
  16. 16. ConfiguraciónDirectorio deploy  Directorio de despliegue de aplicaciones.  Soltar dentro de deploy la aplicación (WAR, EAR, etc.) → JBOSS la despliega.  Eliminar aplicación → JBOSS la repliega.  Contiene ficheros de configuración de despliegues: • mail-service.xml, transaction-service.xml, etc. • *-ds.xml: Para JBOSS son datasources. Por ejemplo: hsqldb-ds.xml: configura los datasource oara la base de datos embebida Hypersonic.
  17. 17. ConfiguraciónConfiguración de un Datasource  Crear fichero nombre-ds.xml: oracle-ds.xml  Pegar el fichero en el directorio deploy.  JBOSS lo despliega como un datasource.  Ejemplos de datasources: /usr/local/jboss/docs/examples/jca • db2-400-ds.xml • oracle-ds.xml • mssql-ds.xml • msaccess-ds.xml • Muchos más...
  18. 18. SeguridadJAAS  Java Authentication and Authorization Service  Interfaz que permite a las aplicaciones Java acceder a servicios de control de autenticación y acceso.  Diferentes formas de seguridad: • Ficheros de properties. • Base de datos. • Etc. EJEMPLO JAAS1
  19. 19. EJBConceptos básicos  Enterprise JavaBeans  Su especificación detalla cómo los servidores de aplicaciones proveen objetos desde el lado del servidor (EJB): • Comunicación remota utilizando CORBA • Transacciones • Control de la concurrencia • Eventos utilizando JMS • Servicios de nombres y de directorio • Seguridad
  20. 20. EJBTipos de EJBs  EJB de Entidad (Entity EJBs): Encapsulan objetos del lado del servidor que almacena los datos para su persistencia.  EJB de Sesión (Session EJBs): Lógica de negocio.  EJB dirigidos por mensajes (Message-driven EJBs): beans con funcionamiento asíncrono.
  21. 21. EJBFuncionamiento de EJB  Se disponen en contenedor EJB dentro del JBOSS.  Cada EJB facilita una clase de implementación Java y dos interfaces Java → Remote y Home. • Home: Permite crear las instancias de EJB de entidad o sesión a través del método create que puede ser sobrecargado. • Remote: Especifica los métodos de instancia públicos encargados de realizar las operaciones.
  22. 22. EJBArquitectura básica
  23. 23. EJBEJEMPLO DE EJB
  24. 24. Servicios webWS en JBOSS  No requiere ninguna aplicación externa (Axis2).  JBOSS contiene un contenedor de WS.  Se despliegan como WARs.  Se implementan a través de Java Annotations (javax.jws.*).  Para ver los servicios web disponibles en JBOSS: http://localhost:8080/jbossws/services
  25. 25. Servicios web vs EJB¿Cuando usar unos u otros?  EJB implican clientes Java. WS pueden consumirse desde plataformas distintas.  Los servicios web no necesitan redistribuir ningún cliente, basta con el WSDL publicado accesible por HTTP y actualizado continuamente.  A nivel interno se recomienda EJB.  Para clientes externos se recomienda WS.  EJB mejor rendimiento que servicios web.
  26. 26. JSFConceptos básicos  Java Server Faces: especificación desarrollada por la Java Community Process como JSR 127.  Tecnología y framework para aplicaciones web Java que simplifica el desarrollo de interfaces de usuario.  Usa JavaServer Pages (JSP) para desplegar páginas.  Puede ser integrado con las bibliotecas de componentes JSF JBoss RichFaces o ICEFaces.
  27. 27. JSFIncluye  APIs para componentes de una interfaz de usuario y administrar su estado, manejar eventos, validar entrada, definir un esquema de navegación de las páginas y dar soporte para internacionalización y accesibilidad.  Conjunto por defecto de componentes para la interfaz de usuario.  Dos bibliotecas de etiquetas personalizadas para JavaServer Pages que permiten expresar una interfaz JavaServer Faces dentro de una página JSP.
  28. 28. JSFIncluye  Un modelo de eventos en el lado del servidor.  Administración de estados.  Beans administrados.
  29. 29. JSFImplementaciones  JSF Reference Implementation de Sun Microsystems.  MyFaces: proyecto de Apache Software Foundation.  Rich Faces:  ICEFaces: http://www.icefaces.org/main/home/  jQuery4jsf: Basados en uno de los más populares framework javascript → jQuery.  PrimeFaces
  30. 30. JBOSS SEAMImplementaciones  Framework desarrollado por JBoss,  Combina a los 2 frameworks EJB3 y JSF.  Desarrollo WYSIWYG es facilitado a través del uso de las JBoss Tools.  Jboss Tools: Conjunto de plug-ins diseñados para el entorno integrado de desarrollo Eclipse. http://www.seamframework.org/Home
  31. 31. Temas pendientesLista de temas  Conectar Apache2 con JBOSS.  JSP que sirva contenido estático del Apache.
  32. 32. JBOSS FIN Iker Canarias iker.canarias@gmail.com

×