SlideShare una empresa de Scribd logo
1 de 65
Jboss
Professional Open Source

Visión general de JBoss
Application Server

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Agenda
Introducción a los servidores de aplicaciones
¿Qué es un servidor de aplicaciones?
Características AS, Arquitectura J2EE

JAVA Enviroment

Introducción a Java
Plataformas Java
JAVA EE (J2EE), Tecnología, Especificaciones, Arquitectura

Jboss Enterprise Middelware Suite
Qué es Jboss
Arquitectura, JMX Microkernel
Introducción al producto

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Servidores de Aplicaciones

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
Introducción a los servidores de aplicaciones
• Introducción a los servidores de aplicaciones.
• Términos más utilizados y los conceptos que usaremos más
adelante.
Aplicaciones de empresa
El concepto de servidor de aplicaciones está relacionado con el concepto de sistema distribuido. Un sistema distribuido
permite mejorar tres aspectos fundamentales en una aplicación: la alta disponibilidad, la escalabilidad y el
mantenimiento.
 La alta disponibilidad hace referencia a que un sistema debe estar funcionando las 24 horas del día los 365 días al
año. Para poder alcanzar esta característica es necesario el uso de técnicas de balanceo de carga y de recuperación ante
fallos (failover).
 La escalabilidad es la capacidad de hacer crecer un sistema cuando se incrementa la carga de trabajo (el número de
peticiones). Cada máquina tiene una capacidad finita de recursos y por lo tanto sólo puede servir un número limitado
de peticiones. Si, por ejemplo, tenemos una tienda que incrementa la demanda de servicio, debemos ser capaces de
incorporar nuevas máquinas para dar servicio.
 El mantenimiento tiene que ver con la versatilidad a la hora de actualizar, depurar fallos y mantener un sistema. La
solución al mantenimiento es la construcción de la lógica de negocio en unidades reusables y modulares.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
¿Qué es un servidor de aplicaciones?
• Tipo de servidor que permite el procesamiento de
datos de una aplicación de cliente.
•
En informática se denomina servidor de
aplicaciones
a
un servidor en
una red
de
ordenadores que ejecuta ciertas aplicaciones
Las principales ventajas de la tecnología de los
servidores de aplicación es la centralización y la
disminución de la complejidad del desarrollo de
aplicaciones, dado que las aplicaciones no necesitan
ser programadas; en su lugar, estas son
ensambladas desde bloques provistos por el
servidor de aplicación.
Aunque es aplicable a todas las plataformas,
actualmente el término es prácticamente un
sinónimo de la plataforma J2EE de Sun
Microsystems. De todas maneras, abarca servidores
de aplicaciones basadas en web, como plataformas
para el comercio electrónico, sistemas de gestión de
contenido o creadores de sitios web.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Usualmente se trata de un dispositivo de
software que proporciona servicios de
aplicación a las computadoras cliente. Un
servidor de aplicaciones generalmente
gestiona la mayor parte (o la totalidad) de las
funciones de lógica de negocio y de acceso a
los datos de la aplicación

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
¿Qué es un servidor de aplicaciones?
El estándar J2EE permite el desarrollo de aplicaciones de
empresa de una manera sencilla y eficiente.
Una aplicación desarrollada con las tecnologías J2EE
permite ser desplegada en cualquier servidor de
aplicaciones o servidor web que cumpla con el
estándar. Un servidor de aplicaciones es una
implementación de la especificación J2EE.
Como consecuencia del éxito del lenguaje de programación Java, el término servidor de
aplicaciones usualmente hace referencia a un servidor de aplicaciones Java EE.
WebSphere (IBM) y WebLogic (Oracle, antes BEA Systems) están entre los servidores de aplicación
Java EE de software privado más conocidos. EAServer (Sybase Inc.) es también conocido por ofrecer
soporte a otros lenguajes diferentes a Java, como PowerBuilder. El servidor de aplicaciones JOnAS,
desarrollado por el consorcio ObjectWeb, fue el primer servidor de aplicaciones libre en lograr
certificación oficial de compatibilidad con J2EE. JBoss es otro servidor de aplicaciones libre y muy
popular en la actualidad, así como el GlassFish de SUN. Mucha gente confunde Tomcat (The Apache
Software Foundation) como un servidor de aplicaciones; sin embargo, es solamente un contenedor
de servlets.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
¿Qué es un servidor de aplicaciones? La arquitectura J2EE:
Java EE provee estándares que permiten a un servidor de aplicaciones servir como

"contenedor" de los componentes que conforman dichas aplicaciones. Estos
componentes, escritos en lenguaje Java, usualmente se conocen como Servlets,
Java Server Pages (JSPs) y Enterprise JavaBeans (EJBs) y permiten implementar
diferentes capas de la aplicación, como la interfaz de usuario, la lógica de negocio, la
gestión de sesiones de usuario o el acceso a bases de datos remotas.
La portabilidad de Java también ha permitido que los servidores de aplicación Java
EE se encuentren disponibles sobre una gran variedad de plataformas, como Unix,
Microsoft Windows y GNU/Linux.
El término servidor de aplicaciones también ha sido aplicado a otros productos noJ2EE. Por ejemplo, con el aumento de la popularidad de .NET, Microsoft califica a su
producto Internet Information Server como un servidor de aplicaciones.
Adicionalmente, se pueden encontrar servidores de aplicación de código abierto y
comerciales de otros provedores; algunos ejemplos son Base4 Server y Zope.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
¿Qué es un servidor de aplicaciones?
Características comunes
• Los servidores de aplicación Incluyen también middleware (o software de
conectividad) que les permite intercomunicarse con variados servicios, para
efectos de confiabilidad, seguridad, etc.
• Los servidores de aplicación también brindan a los desarrolladores una
Interfaz para Programación de Aplicaciones (API), de tal manera que no tengan
que preocuparse por el sistema operativo o por la gran cantidad de interfaces
requeridas en una aplicación web moderna.
• Los servidores de aplicación también brindan soporte a una gran variedad de
estándares, tales como HTML, XML, JDBC, SSL, etc., que les permiten su
funcionamiento en ambientes web (como Internet) y la conexión a una gran
variedad de fuentes de datos, sistemas y dispositivos.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
¿Qué es un servidor de aplicaciones?
Ventajas de los servidores de aplicaciones
• Integridad de datos y códigos: al estar centralizada en una o un pequeño
número de máquinas servidoras, las actualizaciones están garantizadas para
todos sus usuarios. No hay riesgos de versiones viejas.* Configuración
centralizada: los cambios en la configuración de la aplicación, como mover el
servidor de base de datos o la configuración del sistema, pueden ser hechos
centralmente.
• Seguridad: se consideran más seguras.
• Performance: limitando el tráfico de la red solamente al tráfico de la capa de
presentación, es percibido como un modelo cliente/servidor que mejora la
performance de grandes aplicaciones.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
¿Qué es un servidor de aplicaciones?
Frente a la tradicional estructura en dos capas de un
servidor web (ver Figura 2) un servidor de
aplicaciones proporciona una estructura en tres
capas que permite estructurar nuestro sistema de
forma más eficiente. Un concepto que debe quedar
claro desde el principio es que no todas las
aplicaciones de empresa necesitan un servidor de
aplicaciones para funcionar. Una pequeña aplicación
que acceda a una base de datos no muy compleja y
que no sea distribuida probablemente no necesitará
un servidor de aplicaciones, tan solo con un servidor
web (usando servlets y jsp) sea suficiente.
Figura 2. Arquitectura en dos capas frente a tres capas utilizando el
servidor de aplicaciones

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
La arquitectura J2EE:

Cliente web (contenedor de applets): Es usualmente
un navegador e interactúa con el contenedor web
haciendo uso de HTTP. Recibe páginas HTML o XML y
puede ejecutar applets y código JavaScript.
Aplicación cliente: Son clientes que no se ejecutan
dentro de un navegador y pueden utilizar cualquier
tecnología para comunicarse con el contenedor web
o directamente con la base de datos.
Contenedor web: Es lo que comúnmente
denominamos servidor web. Es la parte visible del
servidor de aplicaciones. Utiliza los protocolos HTTP
y SSL (seguro) para comunicarse.
Servidor de aplicaciones: Proporciona servicios que
soportan la ejecución y disponibilidad de las
aplicaciones desplegadas. Es el corazón de un gran
sistema distribuido.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Arquitectura
Tres capas

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
N Niveles – Modelo Aplicación empresarial

TIER
Caso real:
Ayuntamiento
de Madrid

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
¿

JBoss es un servidor de aplicaciones?

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.
Por ejemplo, Los Sims online utilizan JBoss para sus juegos
multiusuario.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Java Environment

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
• Lenguaje orientado a objetos:
• Similar a C++ pero:

• Sin punteros: todos los objetos se pasan por referencia.
• Con interfaces ⇔ Clases abstractas sin ninguna implementación ni
variables.
• Herencia múltiple permitida sólo para las interfaces.
• Compilado a byte-code y ejecutado por máquina virtual (Java Virtual
Machine).
• Independiente del Sistema Operativo.
• Gestión de memoria automática por recolector de basura (Garbage
Collector).
• Mecanismo de seguridad integrado.
• Multihilo.
• Librerías, APIs y servicios para todo.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
• Plataformas de Java:

– Java Micro Edition (JME):

• Entorno de ejecución reducido para dispositivos móviles.

– Java Standard Edition (JSE):

• Aplicaciones “standalone”: línea de comando o escritorio.

– Java Enterprise Edition (JEE):

• Entorno de ejecución para aplicaciones corporativas distribuidas y/o
cliente-servidor.

• Dos tipos de instalación:

– Java Runtime Environment (JRE):
• Sólo JVM y librerías estándar.
• Para ejecutar aplicaciones Java.

– Java Development Kit (JDK):

• JVM, librerías estándar, compilador, códigos fuente y otras herramientas
para desarrollo.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

The Java™ Platform

Java Technology
Enabled Devices

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Java Technology
Enabled Desktop

Workgroup
Server

High-End
Server

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

The Java

TM

Platform

Java 2 Platform Micro Edition
(J2METM)

Optional
Packages
Optional
Packages

Java 2
Enterprise
Edition
(J2EE)

Personal
Basis Profile

Java 2
Standard
Edition
(J2SE)

Personal
Profile

Foundation Profile
CDC

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

JVM

MIDP
CLDC
KVM

Java
Card
APIs
CardVM

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
6

Evolución de Java EE

Web
Services

5

Robustez

4

3

2

1

0

JPE
Project
May 1998

J2EE 1.4

Web
Enterprise
Services,
J2EE 1.3
Managemen
Java Platform EJB 2.0,
t,
Connector
Deployment,
J2EE 1.2
Architecture,
JCA 1.5,
Servlet, JSP,
JCA
J2SE 1.4 y
EJB, JMS, JTA,
J2SE 5.0
JNDI, RMI/IIOP

Dec 1999

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Sept 2001

Nov 2003

Facilidad de
Desarrollo
& SOA
Java EE 5
Anotaciones,
EJB 3.0,
Persistence
API,
JSF 1.2, JSTL
SOAP 1.2,
WSDL 2.0,
WS-*,
JAXB 2.0,
J2SE 5.0 y
JavaSE6

May 2006

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
The J2EE Framework

Java Technologies

External
Application

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Introducción a JAVA
 Java Standard Edition Platform 5 (Java SE 5)
 Enterprise JavaBeans (EJB) 3.0
 JavaServer™ Faces 2.0 APIs
APIs y Especificaciones J2EE
 Java Servlet 2.5, JSP 2.1, JSTL 1.1
 JAAS 1.0, Java ACC 1.0
 Web Services Metadata for the Java Platform 1.0
 Java API for XML Processing (JAXP) 1.2
 Java API for XML-Based Web Services (JAX-WS) 2.0
 Java Architecture for XML Binding (JAXB) 2.0
 Streaming API for XML (StAX) 1.0
 WS-I Basic Profile 1.0
 Java EE Application Deployment 1.0, Java EE Management 1.0
 JDBC 3.0 & 4.0 Drivers to Oracle, Sybase, IBM DB2, Msft SQL Server, MySQL, Derby
 Web 2.0 and AJAX support
 Generic JMS Resource Adapter (TIBCO, MQSeries, Sonic, ...)
 Open ESB Starter Kit that includes JBI, BPEL engine
.......
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
• Recordatorio Programación Orientada a Objetos:

Programa

acceso
directo

Datos

Subrutinas
...

Datos

Datos

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

PROCEDURAL

Datos

ORIENTADO A OBJETOS

– Programa = conjunto de objetos que colaboran entre sí enviándose
mensajes.
Objeto
Objeto

Datos
mensajes

Objeto
Datos

Datos

Objeto
Datos

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
• ¿Qué es un objeto?
– Un objeto representa un concepto o entidad del dominio.
– En la práctica, se definen otros objetos por necesidades de diseño e
implementación.
– Encapsulan comportamiento y estado:
• Comportamiento ⇔ Código de programa.
– Operaciones sobre el propio objeto y envío de mensajes a otros objetos.
– Mensajes de dos tipos: “acción para cambiar estado” o “leer estado”. Tienen
parámetros y valor de retorno (otros objetos).
– Java: métodos. Programación procedural: procedimiento.

• Estado ⇔ Datos.
– Información interna del objeto.
– Java: propiedades. Programación procedural: variables.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
• Clases Java:

– Una clase es una especificación de la estructura y comportamiento de
un conjunto (tipo) de objetos “similares”.
– Elementos de la clase tienen control de acceso:
•
•
•
•

private: sólo la propia clase y sus objetos pueden ver el elemento.
protected: la propia clase y todas las que hereden de ella y sus objetos.
- (por defecto): visible para todas las clases del paquete y sus objetos..
public: visible para todas las clases y objetos de la aplicación.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA
• Clase Java:

Herencia. Clase padre
es Contacto.

public class Proveedor extends Contacto {
protected static Log log;
static {
log = LogFactory.getLog(Proveedor.class);
}

Variable global.
Sólo visible en
Proveedor e hijos.
Bloque de
inicialización clase.

private boolean preferido;
public Proveedor(Integer id, String nombre, boolean preferido) {
super(id, nombre);
this.preferido = preferido;
}

}

Propiedad de objeto.
Visible en Proveedor.
Constructor público de
objeto.

public boolean esPreferido() {
return preferido;
}

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Llamada explícita a
constructor de Contacto.
Referencia explícita a
propiedad de objeto.

Ref. implícita a
prop. de objeto.

Método público
de objeto.
19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA EE (J2EE)
• ¿Qué es?

– Plataforma para desarrollo de aplicaciones corporativas:

• Entorno de ejecución para aplicaciones corporativas distribuidas y/o
cliente-servidor.
• Servicios y APIs avanzados.
• Énfasis en integración con otros sistemas.
• Aplicaciones divididas en componentes que se ejecutan en
“contenedores” especializados.

– Ámbito y alcance:
•
•
•
•

Especificaciones de tecnologías, protocolos, servicios y procesos.
Kit de tests de compatibilidad (TCK).
Implementación de referencia (Sun Java System Application Server).
Guías, mejores prácticas y ejemplos (“blueprints”).

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA EE (J2EE)
• Alternativas a J2EE:

– CORBA: Gran complejidad, amplia infraestructura…
– .NET: Propiedad de Microsoft…

• Beneficios de J2EE:

– Fuerte apoyo de la industria y fundaciones OpenSource.
• Sin problemas de patentes o royalties.

– Basado en la plataforma Java Standard Edition.
• Independencia de SO.

– Java Specification Requests (JSR) y Java Community Process (JCP).
• Independencia política.

– Múltiples fabricantes ⇒ Posible cambiar de proveedor.
– Madurez (desde 1997).
– Soluciones OpenSource para todo.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA EE (J2EE)
• Especificaciones:

– JSR-244: Java Platform Enterprise Edition 5 Specification

•
•
•
•
•
•
•
•
•

JSP Standard Tag Library (JSR-52)
JSP 2.1 (JSR-245)
StAX (JSR-173)
Web Services Metadata (JSR-181)
JAXB (JSR-222)
JAX-RPC 2.0 (JSR-224)
Common Annotations (JSR-250)
JavaServer Faces (JSR-252)
EJB 3.0 / New persistence API (JSR-220)

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA EE (J2EE)
• Arquitectura JEE:

– Componentes distribuidos se ejecutan en contenedores
especializados y se comunican con protocolos de red.
• Cada contenedor puede estar en una máquina separada.
• Un contenedor puede estar en cluster de máquinas.
• Modelo más habitual: 3 capas.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA EE (J2EE)
• Tres tipos de contenedores:
– Contenedor de applets:

• Ejecutado en el cliente, incrustado en el navegador web.
• Importantes restricciones de seguridad.
• Utilizar solamente si es imprescindible.

– Prácticamente, el único caso de uso es:
acceder a recursos de la máquina del usuario no disponibles por web
(Javascript, normalmente).
Ejemplos: ficheros, aplicaciones, impresoras, escáneres, lectores de tarjetas,
etc.

• Consejos:

– Procurar reducir las librerías al mínimo.
– Firmar el applet con keytool del JDK usando un certificado X.509 válido.

– Contenedor EJB.

• Componentes Enterprise Java Bean.

– Contenedor web.

• Componentes: Servlets y JSPs.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Introducción a JAVA EE (J2EE)
• Tres tipos de contenedores (cont.):
– Componentes contenedor EJB:

• Encapsulan el modelo de entidades, la lógica de persistencia en BD y la
lógica de negocio.
• Comunicación a través de RMI y CORBA/IIOP.
• No se suele utilizar por su mayor complejidad.
Alternativa más habitual:
– Entidades son Javabeans persistentes con Hibernate.
– Lógica de negocio en Javabeans de servicios de Spring.

– Componentes contenedor web:

• Encargados de interactuar con un cliente por navegador web (protocolo
HTTP).
– Las peticiones HTTP son procesadas por servlets.
– Las páginas HTML de respuesta las generan los JSPs.

• En la práctica, se utilizan frameworks web:

– Procesadores de peticiones JSF, Struts, Spring MVC.
– Páginas HTML asistidas con librerías de tags.

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
Java Naming & Directory Interface
Java DataBase Connectivity
Java Authentication and Authorization Service

Java Transaction API
Java Management Extensions
JavaMail – SMTP, TLS, SSL
Enterprise Java
Bean
Java Message Service
Common Object Request Broker Architecture
Simple Object Access Protocol

Remote Method Invocation
Servlets
Java Server Pages
Extensible Markup Language
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Servlets

JMS

JMX

JNDI

JDBC

JTA

EJB

WAR y EAR Deployment

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

¿Qué Módulos aporta J2EE?
• Empaquetan componentes o aplicaciones J2EE.
• Tres tipos:
– Archivos JAR (Java ARchive)
– Archivos WAR (Web Application ARchive)
– Archivos EAR (Enterprise Application ARchive)

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

¿Qué Módulos aporta J2EE?
Archivos JAR (Java ARchive)
•
•
•
•

•

Permite agrupar distintos archivos java en uno solo.
Sigue el formato ZIP
Incorporado en la versión 1.1 del JDK
Contienen:
– Clases java
– Recursos que emplean las clases
Es el empleado para empaquetar componentes EJBs, respetando
una estructura de directorios

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

¿Qué Módulos aporta J2EE?
Archivos WAR (Web Application ARchive)
•

Permiten empaquetar en una sola unidad aplicaciones web java
completas.
– Servlets y JSPs
– Contenido estático
• Html
• Imágenes
• etc.)
– Otros recursos web

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

¿Qué Módulos aporta J2EE?
Archivos EAR (Enterprise Application ARchive)
•
•

Archivos desplegables en servidores de aplicaciones J2EE
Contienen
– Archivos WAR
– EJBs (Empaquetados dentro de ficheros JAR)

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Qué es JBoss

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

What is JBoss?

• JBoss federates open source projects under the JBoss
Professional Open Source ™ model
• JBoss Inc. employs the lead developers of
– JBoss Application Server: J2EE based
– Tomcat
– Hibernate
– JBossCache/JGroups:
– Nukes,
– ? workflow, rules, new clients, connectors?
• JBoss inc, the new safe choice
– 24/7 Support
– Indemnification
– Certification – J2EE, JASP
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

The JBoss Project
•
•
•
•
•
•
•
•
•

JBoss AS Full J2EE support, EJB, JMX, JMS, JCA, JAAS
Hibernate O/R Mapping solution.
Tomcat JSP/Servlet/Web server.
JBossIDE Eclipse integration, tag driven development.
Debugging.
JBossCache Distributed data.
JGroups Reliable multicast and cluster communication
Nukes JBoss portal and CMS.
JBossAOP Aspect-Oriented Programming with JBoss 4.0.
Javassist Simple bytecode manipulation library

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Arquitectura

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Arquitectura

Server JVM

Port 1234

RemoteInvoker
RemoteInvoker

Client JVM
Typed Interface

Invocation
011101010101

Client
Client

Port 4321

JMX Microkernel
JMX Microkernel

– Internally invocation objects are
routed within the kernel

EJB Container MBean

EJB Container MBean

RemoteInvoker
RemoteInvoker
Service MBean

Client Proxy

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JMX Architecture
• Microkernel design
 Independent cycling and loading

• Hot Deployment of services and applications
 Unified ClassLoaders, total Class visibility/cyclability
 Service Archives (SARs) for easy configuration and net deployment

Service
MBean

Service
MBean

Service
MBean

Server JVM

MBean Server
MBean Server
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
Deployers: Bringing in the Services
Microkernel

DeploymentScanner
DeploymentScanner
MainDeployer
MainDeployer

SARDeployer
SARDeployer
EARDeployer
EARDeployer
EJBDeployer
EJBDeployer
WARDeployer
WARDeployer

Transaction
Transaction
Service
Service
Message Service
Message Service
Security Service
Security Service
Naming Service
Naming Service
EJB Containers
EJB Containers

*.xAR
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Data Sources
Data Sources
19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
Microkernel benefits for SOA architecture
•

Microkernel approach ideal for ISV and OEM
– Easily remove the services you don’t need
– Tight footprint and modular codebase and hot deploy/remove/redeploy
– JBoss is a TRUE Service Oriented Architecture (SOA)
WAR 11
WAR
EAR 22
EAR

Application A
JAR 11
JAR
RAR 33
RAR

RAR 33
RAR
JAR 33
JAR

Microkernel

DeploymentScanner
DeploymentScanner
MainDeployer
MainDeployer

SARDeployer
SARDeployer
EARDeployer
EARDeployer

Microkernel
Transaction
Transaction
Service
Service
Security Service
Security Service

DeploymentScanner
DeploymentScanner
MainDeployer
MainDeployer

Naming Service
Naming Service
Data Sources
Data Sources

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

SARDeployer
SARDeployer
EARDeployer
EARDeployer
EJBDeployer
EJBDeployer
WARDeployer
WARDeployer

Custom SAR
Custom SAR
*.xAR

Application B

Transaction
Transaction
Service
Service
Message Service
Message Service
Security Service
Security Service
Naming Service
Naming Service
EJB Containers
EJB Containers

*.xAR

Data Sources
Data Sources
Custom SAR
Custom SAR

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
Deployers: Working from the Network
Machine 1

Machine 2

Microkernel

Microkernel

DeploymentScanner

Load Services

MainDeployer
MainDeployer

DeploymentScanner
MainDeployer
MainDeployer

HTTP Scan

Web Server
Administrator
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

HTTP Scan

Deployment
Packages
19 Octubre 2009
Curso JBoss JB366
•

•

Visión general de JBoss AS JEAP
Deployers: Working from the Network

Microkernels and netboot enable new grid control
– Domain of applicability: Robot control, Storage area networks, Next generation
routers
– Mars Lander syndrome hardware ships with software
Burn kernel in flash ram
– Deploy applications from centralized repository
– Remote load at a later time
– It changes the way robot/router grids are built, deployed and managed.
Machine 3
Microkernel

Microkernel

Machine 2
Microkernel
DeploymentScanner
DeploymentScanner
Machine 1

Machine 4

DeploymentScanner
DeploymentScanner
DeploymentScanner
DeploymentScanner

Machine 5

MainDeployer
MainDeployer

MainDeployer
MainDeployer

Microkernel

MainDeployer
MainDeployer
DeploymentScanner
DeploymentScanner

DeploymentScanner
DeploymentScanner
MainDeployer
MainDeployer

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

Web Server
Administrator

Deployment
Packages

Machine 6

MainDeployer
MainDeployer

Microkernel

Microkernel
DeploymentScanner
DeploymentScanner
MainDeployer
MainDeployer

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
JMX is JBOSS Backbone
• JBoss uses JMX for an intra-application communication
• JBoss components are MBeans
• JBoss startup is using JMX to (dynamically) load and start
JBoss components
• JBoss Classloader is a MBean as well as used as the
MBean Classloader

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
JMX is based on MVC

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Jboss Enterprise Middelware Suite

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
JEMS Jboss Enterprise Middleware Services
Middleware is composed of software that act as intermediaries between different
application components, to ease programming, integration, and management.
Application

caching

Application

Middleware

Middleware

fault
tolerance

security
logging

replication

transactions
Network

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
JEMS Jboss Enterprise Middleware Services
• Middleware can also be
viewed in the
component model

Security

Network

– Encapsulated software
that performs a service
– Accessed either locally or
remotely

Application

Directory
Services
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JBoss AS 5.x J2EE Application Server
• J2EE 1.5 Certified
• 100% Pure Java
any hardware and OS with compliant JVM
• JMX-Microkernel
 customizable footprint (i.e. plug-n-play services)
 enhanced performance via co-located services
• Monitoring and Management
 web-console provides real-time graphs & email alerts
 Scriptability of JMX modifications and invocations
• Enterprise-Ready Clustering
 simple cluster-wide deployment
 dynamic cluster composition
 fault-tolerance
• state replication
• silent failover
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JBoss AS 5.x J2EE Application Server
JBoss AS 5 Runtime
service.xml
spring beans
.ear
Aspectized User Applications
OSGi
.war
…
jboss-beans
bundle

Spring

OSGi

Java EE

MBean

POJO

Component Deployers

Enterprise Services
Messaging OR Mapping
Clustering

WS

Security

Web Server

Virtual Deployer Framework Transactions

…

JBoss Microcontainer
JVM
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Apache Tomcat JSP/Servlet Engine
• Proven
 most popular JSP/Servlet engine on the planet!
 JBoss Inc. supported by inside of JBoss AS or standalone
• Performant
 optimize communications with EJBs via JMX*
 uses Eclipse compiler for even faster JSPs
• Flexible
 attach static webservers via AJP 1.3 (mod_jk 1.2.x)
 hot-deployment & re-deployment
 encrypted session support through SSL

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Hibernate Object-Relational Mapping & Persistence Framework
• Database Independence
 Dynamically generates vendor-specific SQL
 Supports most databases (Oracle, MS-SQL, DB2, Sybase, etc.)
• Transparent Persistence
 Any POJO can be a persistent class
• No interfaces have to be implemented
• No persistent superclass has to be extended
 Override with hand-written SQL or stored procedures
 Support for “detached objects”
•Eliminate DTOs (Data Transfer Objects)
• Basis for EJB3.0 entity beans (EJB3 spec not yet final)
 EJB3 has 15% of the functionality available in Hibernate3

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

EJB3 Enterprise Java Beans
• Simplification of the persistence model
• Light-weight persistence model
In terms of programming and deployment model as well as
runtime performance
• Testability outside of the containers
Create test clients that would use entities in a non-managed
environment
• Domain modelling through inheritance and polymorphism
• Object/Relational (O/R) mapping
• Extensive querying capabilities

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JBoss jBPM 3.0 Business Process Management System

• Declarative business process definition
 Graph Oriented Programming
 Avoids miscomunication between business analyst & developer
 Allows steps to be added/removed to/from process without software
redesign!
• State Management
 Persistent representation of current process state
 Context variables associated with each process instance
• Integration
 Web Services, JCA, JMS, Database, IIOP
 Can run outside a J2EE Application Server
 Standards-based technology : Java & XML
• Future (jBPM 3.0)
 BPEL support
 Visual Process Designer (JBoss Eclipse IDE 1.5)

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

Portal Platform Services

JBoss Portal provides essential portal platform services

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JBoss Portal 2.7
• Robust Portal Framework
 JSR-168 Compliant
 Single-Sign-On (SSO) Support
 Content aggregation and personalization
 Java Server Faces, MyFaces, and Spring MVC support
• Built on JBoss AS
 Scalability and Clustering of Portals and Portlets
 Data Access & Persistence Handled by Hibernate
• Supports most popular databases (Oracle Database, MySQL, Microsoft SQL Server, DB2,..)
• Portal Administration
 Manage Users, Groups, Portal/Portlet Layout
• Content Management
 Manage Files, Folders, Versions
 Integrated HTML Editing and WebDAV Support
• Community Portlets
 Included: Forums, Content Mgt, User Mgt, etc.
 Additional portlets to be built by community (shared)
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JBoss IDE Integrated Development Environment
• Eclipse Plug-ins for JEMS

• Current Features
 Automated XDoclet and Packaging
 Deployment of Enterprise Applications
 Debugging of Enterprise Applications
 JSP/XML/HTML editors
 J2EE wizards
 JBossAOP extension
• Future (JBoss IDE 1.5 targeted Q4 05)
 Hibernate Wizards & Mapping Visualization
 JBoss jBPM Visual Process Designer
• JBoss AS is compatible with many IDEs
 My Eclipse, IntelliJ IDEA, NetBeans, JBuilder, etc.
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JGroups Reliable Multicast Communications Toolkit
• Reliability for group messages
 Fragmentation
 Re-transmission
 Message ordering
• Configurable transport layer (LAN or WAN)
 UDP, TCP, TCP_NIO, TUNNEL, JMS, LOOPBACK
 Defaults to IP-Multicast over UDP
• Dynamic group composition
 Additions & Removals
• Message encryption available via SSL
• Basis for JBoss Cache / clustering state replication
• Future
 Buddy Replication / Sub-partitioning
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP

JBoss Cache Distributed Transactional Caching
• Caches POJOs
 No interfaces to implement!
 No superclasses to sub-class!
• Synchronous or asynchronous replication
• Transactional changes across group
• Automatic fine-grained replication via TreeCache AOP
• Cache persistence via file, SleepyCat, or JDBC
• Superset of jCache (JSR-107) standard
• Built on JGroups technology for superior reliability
César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366
Visión general de JBoss AS JEAP
GET JBOSS 5!

Questions?

César Pajares – ECM /CMS Manager
cesarpajares@gmail.com

19 Octubre 2009
Curso JBoss JB366

Más contenido relacionado

La actualidad más candente

11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio Web11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio Web
José M. Padilla
 
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
Andrea Guaygua
 
Un ejemplo sencillo con ejb
Un ejemplo sencillo con ejbUn ejemplo sencillo con ejb
Un ejemplo sencillo con ejb
lalov777
 
Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7
Mario Alfonso
 
Servidor web lamp
Servidor web lampServidor web lamp
Servidor web lamp
yaser6700
 
Curso Blog Marketing con Wordpress 02 instalacion local
Curso Blog Marketing con Wordpress 02 instalacion localCurso Blog Marketing con Wordpress 02 instalacion local
Curso Blog Marketing con Wordpress 02 instalacion local
David Vaquero
 

La actualidad más candente (20)

Tomcat y Jboss
Tomcat y JbossTomcat y Jboss
Tomcat y Jboss
 
Manual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en EclipseManual Jboss Server,Creación de Proyecto en Eclipse
Manual Jboss Server,Creación de Proyecto en Eclipse
 
EJB con Eclipse y JBoss
EJB con Eclipse y JBossEJB con Eclipse y JBoss
EJB con Eclipse y JBoss
 
11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio Web11 Joomla. Mantenimiento Del Espacio Web
11 Joomla. Mantenimiento Del Espacio Web
 
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
2290277 instalacion-de-un-servidor-de-base-de-datos-postgre sql-apache-jboss-...
 
My Sql Comunity Edition
My Sql Comunity EditionMy Sql Comunity Edition
My Sql Comunity Edition
 
Un ejemplo sencillo con ejb
Un ejemplo sencillo con ejbUn ejemplo sencillo con ejb
Un ejemplo sencillo con ejb
 
Breve introducción a Apache Ant
Breve introducción a Apache AntBreve introducción a Apache Ant
Breve introducción a Apache Ant
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML1/9 Curso JEE5, Soa, Web Services, ESB y XML
1/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
COMO INSTALAR MySQL EN LINUX
COMO INSTALAR  MySQL EN LINUXCOMO INSTALAR  MySQL EN LINUX
COMO INSTALAR MySQL EN LINUX
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Montar un servidor web win7
Montar un servidor web win7Montar un servidor web win7
Montar un servidor web win7
 
Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7Manual de instalacion de PostGreSQL - Windows 7
Manual de instalacion de PostGreSQL - Windows 7
 
6/9 Curso JEE5, Soa, Web Services, ESB y XML
6/9 Curso JEE5, Soa, Web Services, ESB y XML6/9 Curso JEE5, Soa, Web Services, ESB y XML
6/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Servidor web lamp
Servidor web lampServidor web lamp
Servidor web lamp
 
Reporte servicios web
Reporte servicios webReporte servicios web
Reporte servicios web
 
Curso Blog Marketing con Wordpress 02 instalacion local
Curso Blog Marketing con Wordpress 02 instalacion localCurso Blog Marketing con Wordpress 02 instalacion local
Curso Blog Marketing con Wordpress 02 instalacion local
 

Destacado (8)

Curso de JBPM5
Curso de JBPM5Curso de JBPM5
Curso de JBPM5
 
CerebrexPresentacion
CerebrexPresentacionCerebrexPresentacion
CerebrexPresentacion
 
List view y UI en Android
List view y UI en AndroidList view y UI en Android
List view y UI en Android
 
Ppt test familia
Ppt  test familiaPpt  test familia
Ppt test familia
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 

Similar a JBoss AS jeap - Curso JBoss JB366 Día 1

Serivodres de aplicacion
Serivodres de aplicacionSerivodres de aplicacion
Serivodres de aplicacion
aleexsanroman
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
Robert Rayco Quiroz
 
Servidor de aplicaciones.ppt alan gonzalez
Servidor de aplicaciones.ppt alan gonzalezServidor de aplicaciones.ppt alan gonzalez
Servidor de aplicaciones.ppt alan gonzalez
guestab28f09
 
Servidor de aplicaciones
Servidor de aplicacionesServidor de aplicaciones
Servidor de aplicaciones
guestab28f09
 
Servidor de aplicaciones
Servidor de aplicacionesServidor de aplicaciones
Servidor de aplicaciones
guestab28f09
 
Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
Marcos Jara
 
Servidor de aplicaciones
Servidor de aplicacionesServidor de aplicaciones
Servidor de aplicaciones
guestab28f09
 

Similar a JBoss AS jeap - Curso JBoss JB366 Día 1 (20)

Serivodres de aplicacion
Serivodres de aplicacionSerivodres de aplicacion
Serivodres de aplicacion
 
[ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition [ES] Fundamentos de Java Enterprise Edition
[ES] Fundamentos de Java Enterprise Edition
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Servidores de Aplicaciones (Definiciones)
Servidores de Aplicaciones (Definiciones)Servidores de Aplicaciones (Definiciones)
Servidores de Aplicaciones (Definiciones)
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1Act1 tecnologiaweb uni1
Act1 tecnologiaweb uni1
 
Gestores de Base de Datos
Gestores de Base de DatosGestores de Base de Datos
Gestores de Base de Datos
 
Servidor de aplicaciones.ppt alan gonzalez
Servidor de aplicaciones.ppt alan gonzalezServidor de aplicaciones.ppt alan gonzalez
Servidor de aplicaciones.ppt alan gonzalez
 
JEE y Tomcat
JEE y TomcatJEE y Tomcat
JEE y Tomcat
 
Servidor de aplicaciones
Servidor de aplicacionesServidor de aplicaciones
Servidor de aplicaciones
 
Servidor de aplicaciones
Servidor de aplicacionesServidor de aplicaciones
Servidor de aplicaciones
 
Modulo Jee Intro Pos Fp Une
Modulo Jee Intro  Pos Fp UneModulo Jee Intro  Pos Fp Une
Modulo Jee Intro Pos Fp Une
 
TEMAS RELACIONADOS WEB2
TEMAS RELACIONADOS WEB2TEMAS RELACIONADOS WEB2
TEMAS RELACIONADOS WEB2
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Servidor de aplicaciones
Servidor de aplicacionesServidor de aplicaciones
Servidor de aplicaciones
 
01 jee5-componentes
01 jee5-componentes01 jee5-componentes
01 jee5-componentes
 
Sistema.inventario@hotmail.com
Sistema.inventario@hotmail.comSistema.inventario@hotmail.com
Sistema.inventario@hotmail.com
 
framework.pptx
framework.pptxframework.pptx
framework.pptx
 
Guía estratégica de migración de WAS a JBoss
Guía estratégica de migración de WAS a JBossGuía estratégica de migración de WAS a JBoss
Guía estratégica de migración de WAS a JBoss
 
Plataformas de desarrollo web
Plataformas de desarrollo web Plataformas de desarrollo web
Plataformas de desarrollo web
 

JBoss AS jeap - Curso JBoss JB366 Día 1

  • 1. Jboss Professional Open Source Visión general de JBoss Application Server César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 2. Visión general de JBoss AS JEAP Agenda Introducción a los servidores de aplicaciones ¿Qué es un servidor de aplicaciones? Características AS, Arquitectura J2EE JAVA Enviroment Introducción a Java Plataformas Java JAVA EE (J2EE), Tecnología, Especificaciones, Arquitectura Jboss Enterprise Middelware Suite Qué es Jboss Arquitectura, JMX Microkernel Introducción al producto César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 3. Visión general de JBoss AS JEAP Servidores de Aplicaciones César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 4. Visión general de JBoss AS JEAP Introducción a los servidores de aplicaciones • Introducción a los servidores de aplicaciones. • Términos más utilizados y los conceptos que usaremos más adelante. Aplicaciones de empresa El concepto de servidor de aplicaciones está relacionado con el concepto de sistema distribuido. Un sistema distribuido permite mejorar tres aspectos fundamentales en una aplicación: la alta disponibilidad, la escalabilidad y el mantenimiento.  La alta disponibilidad hace referencia a que un sistema debe estar funcionando las 24 horas del día los 365 días al año. Para poder alcanzar esta característica es necesario el uso de técnicas de balanceo de carga y de recuperación ante fallos (failover).  La escalabilidad es la capacidad de hacer crecer un sistema cuando se incrementa la carga de trabajo (el número de peticiones). Cada máquina tiene una capacidad finita de recursos y por lo tanto sólo puede servir un número limitado de peticiones. Si, por ejemplo, tenemos una tienda que incrementa la demanda de servicio, debemos ser capaces de incorporar nuevas máquinas para dar servicio.  El mantenimiento tiene que ver con la versatilidad a la hora de actualizar, depurar fallos y mantener un sistema. La solución al mantenimiento es la construcción de la lógica de negocio en unidades reusables y modulares. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 5. Visión general de JBoss AS JEAP ¿Qué es un servidor de aplicaciones? • Tipo de servidor que permite el procesamiento de datos de una aplicación de cliente. • En informática se denomina servidor de aplicaciones a un servidor en una red de ordenadores que ejecuta ciertas aplicaciones Las principales ventajas de la tecnología de los servidores de aplicación es la centralización y la disminución de la complejidad del desarrollo de aplicaciones, dado que las aplicaciones no necesitan ser programadas; en su lugar, estas son ensambladas desde bloques provistos por el servidor de aplicación. Aunque es aplicable a todas las plataformas, actualmente el término es prácticamente un sinónimo de la plataforma J2EE de Sun Microsystems. De todas maneras, abarca servidores de aplicaciones basadas en web, como plataformas para el comercio electrónico, sistemas de gestión de contenido o creadores de sitios web. César Pajares – ECM /CMS Manager cesarpajares@gmail.com Usualmente se trata de un dispositivo de software que proporciona servicios de aplicación a las computadoras cliente. Un servidor de aplicaciones generalmente gestiona la mayor parte (o la totalidad) de las funciones de lógica de negocio y de acceso a los datos de la aplicación 19 Octubre 2009 Curso JBoss JB366
  • 6. Visión general de JBoss AS JEAP ¿Qué es un servidor de aplicaciones? El estándar J2EE permite el desarrollo de aplicaciones de empresa de una manera sencilla y eficiente. Una aplicación desarrollada con las tecnologías J2EE permite ser desplegada en cualquier servidor de aplicaciones o servidor web que cumpla con el estándar. Un servidor de aplicaciones es una implementación de la especificación J2EE. Como consecuencia del éxito del lenguaje de programación Java, el término servidor de aplicaciones usualmente hace referencia a un servidor de aplicaciones Java EE. WebSphere (IBM) y WebLogic (Oracle, antes BEA Systems) están entre los servidores de aplicación Java EE de software privado más conocidos. EAServer (Sybase Inc.) es también conocido por ofrecer soporte a otros lenguajes diferentes a Java, como PowerBuilder. El servidor de aplicaciones JOnAS, desarrollado por el consorcio ObjectWeb, fue el primer servidor de aplicaciones libre en lograr certificación oficial de compatibilidad con J2EE. JBoss es otro servidor de aplicaciones libre y muy popular en la actualidad, así como el GlassFish de SUN. Mucha gente confunde Tomcat (The Apache Software Foundation) como un servidor de aplicaciones; sin embargo, es solamente un contenedor de servlets. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 7. Visión general de JBoss AS JEAP ¿Qué es un servidor de aplicaciones? La arquitectura J2EE: Java EE provee estándares que permiten a un servidor de aplicaciones servir como "contenedor" de los componentes que conforman dichas aplicaciones. Estos componentes, escritos en lenguaje Java, usualmente se conocen como Servlets, Java Server Pages (JSPs) y Enterprise JavaBeans (EJBs) y permiten implementar diferentes capas de la aplicación, como la interfaz de usuario, la lógica de negocio, la gestión de sesiones de usuario o el acceso a bases de datos remotas. La portabilidad de Java también ha permitido que los servidores de aplicación Java EE se encuentren disponibles sobre una gran variedad de plataformas, como Unix, Microsoft Windows y GNU/Linux. El término servidor de aplicaciones también ha sido aplicado a otros productos noJ2EE. Por ejemplo, con el aumento de la popularidad de .NET, Microsoft califica a su producto Internet Information Server como un servidor de aplicaciones. Adicionalmente, se pueden encontrar servidores de aplicación de código abierto y comerciales de otros provedores; algunos ejemplos son Base4 Server y Zope. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 8. Visión general de JBoss AS JEAP ¿Qué es un servidor de aplicaciones? Características comunes • Los servidores de aplicación Incluyen también middleware (o software de conectividad) que les permite intercomunicarse con variados servicios, para efectos de confiabilidad, seguridad, etc. • Los servidores de aplicación también brindan a los desarrolladores una Interfaz para Programación de Aplicaciones (API), de tal manera que no tengan que preocuparse por el sistema operativo o por la gran cantidad de interfaces requeridas en una aplicación web moderna. • Los servidores de aplicación también brindan soporte a una gran variedad de estándares, tales como HTML, XML, JDBC, SSL, etc., que les permiten su funcionamiento en ambientes web (como Internet) y la conexión a una gran variedad de fuentes de datos, sistemas y dispositivos. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 9. Visión general de JBoss AS JEAP ¿Qué es un servidor de aplicaciones? Ventajas de los servidores de aplicaciones • Integridad de datos y códigos: al estar centralizada en una o un pequeño número de máquinas servidoras, las actualizaciones están garantizadas para todos sus usuarios. No hay riesgos de versiones viejas.* Configuración centralizada: los cambios en la configuración de la aplicación, como mover el servidor de base de datos o la configuración del sistema, pueden ser hechos centralmente. • Seguridad: se consideran más seguras. • Performance: limitando el tráfico de la red solamente al tráfico de la capa de presentación, es percibido como un modelo cliente/servidor que mejora la performance de grandes aplicaciones. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 10. Visión general de JBoss AS JEAP ¿Qué es un servidor de aplicaciones? Frente a la tradicional estructura en dos capas de un servidor web (ver Figura 2) un servidor de aplicaciones proporciona una estructura en tres capas que permite estructurar nuestro sistema de forma más eficiente. Un concepto que debe quedar claro desde el principio es que no todas las aplicaciones de empresa necesitan un servidor de aplicaciones para funcionar. Una pequeña aplicación que acceda a una base de datos no muy compleja y que no sea distribuida probablemente no necesitará un servidor de aplicaciones, tan solo con un servidor web (usando servlets y jsp) sea suficiente. Figura 2. Arquitectura en dos capas frente a tres capas utilizando el servidor de aplicaciones César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 11. Visión general de JBoss AS JEAP La arquitectura J2EE: Cliente web (contenedor de applets): Es usualmente un navegador e interactúa con el contenedor web haciendo uso de HTTP. Recibe páginas HTML o XML y puede ejecutar applets y código JavaScript. Aplicación cliente: Son clientes que no se ejecutan dentro de un navegador y pueden utilizar cualquier tecnología para comunicarse con el contenedor web o directamente con la base de datos. Contenedor web: Es lo que comúnmente denominamos servidor web. Es la parte visible del servidor de aplicaciones. Utiliza los protocolos HTTP y SSL (seguro) para comunicarse. Servidor de aplicaciones: Proporciona servicios que soportan la ejecución y disponibilidad de las aplicaciones desplegadas. Es el corazón de un gran sistema distribuido. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 12. Visión general de JBoss AS JEAP Arquitectura Tres capas César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 13. Visión general de JBoss AS JEAP N Niveles – Modelo Aplicación empresarial TIER Caso real: Ayuntamiento de Madrid César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 14. Visión general de JBoss AS JEAP ¿ JBoss es un servidor de aplicaciones? 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. Por ejemplo, Los Sims online utilizan JBoss para sus juegos multiusuario. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 15. Visión general de JBoss AS JEAP Java Environment César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 16. Visión general de JBoss AS JEAP Introducción a JAVA • Lenguaje orientado a objetos: • Similar a C++ pero: • Sin punteros: todos los objetos se pasan por referencia. • Con interfaces ⇔ Clases abstractas sin ninguna implementación ni variables. • Herencia múltiple permitida sólo para las interfaces. • Compilado a byte-code y ejecutado por máquina virtual (Java Virtual Machine). • Independiente del Sistema Operativo. • Gestión de memoria automática por recolector de basura (Garbage Collector). • Mecanismo de seguridad integrado. • Multihilo. • Librerías, APIs y servicios para todo. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 17. Visión general de JBoss AS JEAP Introducción a JAVA • Plataformas de Java: – Java Micro Edition (JME): • Entorno de ejecución reducido para dispositivos móviles. – Java Standard Edition (JSE): • Aplicaciones “standalone”: línea de comando o escritorio. – Java Enterprise Edition (JEE): • Entorno de ejecución para aplicaciones corporativas distribuidas y/o cliente-servidor. • Dos tipos de instalación: – Java Runtime Environment (JRE): • Sólo JVM y librerías estándar. • Para ejecutar aplicaciones Java. – Java Development Kit (JDK): • JVM, librerías estándar, compilador, códigos fuente y otras herramientas para desarrollo. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 18. Visión general de JBoss AS JEAP The Java™ Platform Java Technology Enabled Devices César Pajares – ECM /CMS Manager cesarpajares@gmail.com Java Technology Enabled Desktop Workgroup Server High-End Server 19 Octubre 2009 Curso JBoss JB366
  • 19. Visión general de JBoss AS JEAP The Java TM Platform Java 2 Platform Micro Edition (J2METM) Optional Packages Optional Packages Java 2 Enterprise Edition (J2EE) Personal Basis Profile Java 2 Standard Edition (J2SE) Personal Profile Foundation Profile CDC César Pajares – ECM /CMS Manager cesarpajares@gmail.com JVM MIDP CLDC KVM Java Card APIs CardVM 19 Octubre 2009 Curso JBoss JB366
  • 20. Visión general de JBoss AS JEAP Introducción a JAVA 6 Evolución de Java EE Web Services 5 Robustez 4 3 2 1 0 JPE Project May 1998 J2EE 1.4 Web Enterprise Services, J2EE 1.3 Managemen Java Platform EJB 2.0, t, Connector Deployment, J2EE 1.2 Architecture, JCA 1.5, Servlet, JSP, JCA J2SE 1.4 y EJB, JMS, JTA, J2SE 5.0 JNDI, RMI/IIOP Dec 1999 César Pajares – ECM /CMS Manager cesarpajares@gmail.com Sept 2001 Nov 2003 Facilidad de Desarrollo & SOA Java EE 5 Anotaciones, EJB 3.0, Persistence API, JSF 1.2, JSTL SOAP 1.2, WSDL 2.0, WS-*, JAXB 2.0, J2SE 5.0 y JavaSE6 May 2006 19 Octubre 2009 Curso JBoss JB366
  • 21. Visión general de JBoss AS JEAP Introducción a JAVA The J2EE Framework Java Technologies External Application César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 22. Introducción a JAVA  Java Standard Edition Platform 5 (Java SE 5)  Enterprise JavaBeans (EJB) 3.0  JavaServer™ Faces 2.0 APIs APIs y Especificaciones J2EE  Java Servlet 2.5, JSP 2.1, JSTL 1.1  JAAS 1.0, Java ACC 1.0  Web Services Metadata for the Java Platform 1.0  Java API for XML Processing (JAXP) 1.2  Java API for XML-Based Web Services (JAX-WS) 2.0  Java Architecture for XML Binding (JAXB) 2.0  Streaming API for XML (StAX) 1.0  WS-I Basic Profile 1.0  Java EE Application Deployment 1.0, Java EE Management 1.0  JDBC 3.0 & 4.0 Drivers to Oracle, Sybase, IBM DB2, Msft SQL Server, MySQL, Derby  Web 2.0 and AJAX support  Generic JMS Resource Adapter (TIBCO, MQSeries, Sonic, ...)  Open ESB Starter Kit that includes JBI, BPEL engine ....... César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 23. Visión general de JBoss AS JEAP Introducción a JAVA • Recordatorio Programación Orientada a Objetos: Programa acceso directo Datos Subrutinas ... Datos Datos César Pajares – ECM /CMS Manager cesarpajares@gmail.com PROCEDURAL Datos ORIENTADO A OBJETOS – Programa = conjunto de objetos que colaboran entre sí enviándose mensajes. Objeto Objeto Datos mensajes Objeto Datos Datos Objeto Datos 19 Octubre 2009 Curso JBoss JB366
  • 24. Visión general de JBoss AS JEAP Introducción a JAVA • ¿Qué es un objeto? – Un objeto representa un concepto o entidad del dominio. – En la práctica, se definen otros objetos por necesidades de diseño e implementación. – Encapsulan comportamiento y estado: • Comportamiento ⇔ Código de programa. – Operaciones sobre el propio objeto y envío de mensajes a otros objetos. – Mensajes de dos tipos: “acción para cambiar estado” o “leer estado”. Tienen parámetros y valor de retorno (otros objetos). – Java: métodos. Programación procedural: procedimiento. • Estado ⇔ Datos. – Información interna del objeto. – Java: propiedades. Programación procedural: variables. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 25. Visión general de JBoss AS JEAP Introducción a JAVA • Clases Java: – Una clase es una especificación de la estructura y comportamiento de un conjunto (tipo) de objetos “similares”. – Elementos de la clase tienen control de acceso: • • • • private: sólo la propia clase y sus objetos pueden ver el elemento. protected: la propia clase y todas las que hereden de ella y sus objetos. - (por defecto): visible para todas las clases del paquete y sus objetos.. public: visible para todas las clases y objetos de la aplicación. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 26. Visión general de JBoss AS JEAP Introducción a JAVA • Clase Java: Herencia. Clase padre es Contacto. public class Proveedor extends Contacto { protected static Log log; static { log = LogFactory.getLog(Proveedor.class); } Variable global. Sólo visible en Proveedor e hijos. Bloque de inicialización clase. private boolean preferido; public Proveedor(Integer id, String nombre, boolean preferido) { super(id, nombre); this.preferido = preferido; } } Propiedad de objeto. Visible en Proveedor. Constructor público de objeto. public boolean esPreferido() { return preferido; } César Pajares – ECM /CMS Manager cesarpajares@gmail.com Llamada explícita a constructor de Contacto. Referencia explícita a propiedad de objeto. Ref. implícita a prop. de objeto. Método público de objeto. 19 Octubre 2009 Curso JBoss JB366
  • 27. Visión general de JBoss AS JEAP Introducción a JAVA EE (J2EE) • ¿Qué es? – Plataforma para desarrollo de aplicaciones corporativas: • Entorno de ejecución para aplicaciones corporativas distribuidas y/o cliente-servidor. • Servicios y APIs avanzados. • Énfasis en integración con otros sistemas. • Aplicaciones divididas en componentes que se ejecutan en “contenedores” especializados. – Ámbito y alcance: • • • • Especificaciones de tecnologías, protocolos, servicios y procesos. Kit de tests de compatibilidad (TCK). Implementación de referencia (Sun Java System Application Server). Guías, mejores prácticas y ejemplos (“blueprints”). César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 28. Visión general de JBoss AS JEAP Introducción a JAVA EE (J2EE) • Alternativas a J2EE: – CORBA: Gran complejidad, amplia infraestructura… – .NET: Propiedad de Microsoft… • Beneficios de J2EE: – Fuerte apoyo de la industria y fundaciones OpenSource. • Sin problemas de patentes o royalties. – Basado en la plataforma Java Standard Edition. • Independencia de SO. – Java Specification Requests (JSR) y Java Community Process (JCP). • Independencia política. – Múltiples fabricantes ⇒ Posible cambiar de proveedor. – Madurez (desde 1997). – Soluciones OpenSource para todo. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 29. Visión general de JBoss AS JEAP Introducción a JAVA EE (J2EE) • Especificaciones: – JSR-244: Java Platform Enterprise Edition 5 Specification • • • • • • • • • JSP Standard Tag Library (JSR-52) JSP 2.1 (JSR-245) StAX (JSR-173) Web Services Metadata (JSR-181) JAXB (JSR-222) JAX-RPC 2.0 (JSR-224) Common Annotations (JSR-250) JavaServer Faces (JSR-252) EJB 3.0 / New persistence API (JSR-220) César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 30. Visión general de JBoss AS JEAP Introducción a JAVA EE (J2EE) • Arquitectura JEE: – Componentes distribuidos se ejecutan en contenedores especializados y se comunican con protocolos de red. • Cada contenedor puede estar en una máquina separada. • Un contenedor puede estar en cluster de máquinas. • Modelo más habitual: 3 capas. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 31. Visión general de JBoss AS JEAP Introducción a JAVA EE (J2EE) • Tres tipos de contenedores: – Contenedor de applets: • Ejecutado en el cliente, incrustado en el navegador web. • Importantes restricciones de seguridad. • Utilizar solamente si es imprescindible. – Prácticamente, el único caso de uso es: acceder a recursos de la máquina del usuario no disponibles por web (Javascript, normalmente). Ejemplos: ficheros, aplicaciones, impresoras, escáneres, lectores de tarjetas, etc. • Consejos: – Procurar reducir las librerías al mínimo. – Firmar el applet con keytool del JDK usando un certificado X.509 válido. – Contenedor EJB. • Componentes Enterprise Java Bean. – Contenedor web. • Componentes: Servlets y JSPs. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 32. Visión general de JBoss AS JEAP Introducción a JAVA EE (J2EE) • Tres tipos de contenedores (cont.): – Componentes contenedor EJB: • Encapsulan el modelo de entidades, la lógica de persistencia en BD y la lógica de negocio. • Comunicación a través de RMI y CORBA/IIOP. • No se suele utilizar por su mayor complejidad. Alternativa más habitual: – Entidades son Javabeans persistentes con Hibernate. – Lógica de negocio en Javabeans de servicios de Spring. – Componentes contenedor web: • Encargados de interactuar con un cliente por navegador web (protocolo HTTP). – Las peticiones HTTP son procesadas por servlets. – Las páginas HTML de respuesta las generan los JSPs. • En la práctica, se utilizan frameworks web: – Procesadores de peticiones JSF, Struts, Spring MVC. – Páginas HTML asistidas con librerías de tags. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 33. Visión general de JBoss AS JEAP Java Naming & Directory Interface Java DataBase Connectivity Java Authentication and Authorization Service Java Transaction API Java Management Extensions JavaMail – SMTP, TLS, SSL Enterprise Java Bean Java Message Service Common Object Request Broker Architecture Simple Object Access Protocol Remote Method Invocation Servlets Java Server Pages Extensible Markup Language César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 34. Visión general de JBoss AS JEAP Servlets JMS JMX JNDI JDBC JTA EJB WAR y EAR Deployment César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 35. Visión general de JBoss AS JEAP ¿Qué Módulos aporta J2EE? • Empaquetan componentes o aplicaciones J2EE. • Tres tipos: – Archivos JAR (Java ARchive) – Archivos WAR (Web Application ARchive) – Archivos EAR (Enterprise Application ARchive) César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 36. Visión general de JBoss AS JEAP ¿Qué Módulos aporta J2EE? Archivos JAR (Java ARchive) • • • • • Permite agrupar distintos archivos java en uno solo. Sigue el formato ZIP Incorporado en la versión 1.1 del JDK Contienen: – Clases java – Recursos que emplean las clases Es el empleado para empaquetar componentes EJBs, respetando una estructura de directorios César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 37. Visión general de JBoss AS JEAP ¿Qué Módulos aporta J2EE? Archivos WAR (Web Application ARchive) • Permiten empaquetar en una sola unidad aplicaciones web java completas. – Servlets y JSPs – Contenido estático • Html • Imágenes • etc.) – Otros recursos web César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 38. Visión general de JBoss AS JEAP ¿Qué Módulos aporta J2EE? Archivos EAR (Enterprise Application ARchive) • • Archivos desplegables en servidores de aplicaciones J2EE Contienen – Archivos WAR – EJBs (Empaquetados dentro de ficheros JAR) César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 39. Visión general de JBoss AS JEAP Qué es JBoss César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 40. Visión general de JBoss AS JEAP What is JBoss? • JBoss federates open source projects under the JBoss Professional Open Source ™ model • JBoss Inc. employs the lead developers of – JBoss Application Server: J2EE based – Tomcat – Hibernate – JBossCache/JGroups: – Nukes, – ? workflow, rules, new clients, connectors? • JBoss inc, the new safe choice – 24/7 Support – Indemnification – Certification – J2EE, JASP César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 41. Visión general de JBoss AS JEAP The JBoss Project • • • • • • • • • JBoss AS Full J2EE support, EJB, JMX, JMS, JCA, JAAS Hibernate O/R Mapping solution. Tomcat JSP/Servlet/Web server. JBossIDE Eclipse integration, tag driven development. Debugging. JBossCache Distributed data. JGroups Reliable multicast and cluster communication Nukes JBoss portal and CMS. JBossAOP Aspect-Oriented Programming with JBoss 4.0. Javassist Simple bytecode manipulation library César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 42. Visión general de JBoss AS JEAP Arquitectura César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 43. Visión general de JBoss AS JEAP Arquitectura Server JVM Port 1234 RemoteInvoker RemoteInvoker Client JVM Typed Interface Invocation 011101010101 Client Client Port 4321 JMX Microkernel JMX Microkernel – Internally invocation objects are routed within the kernel EJB Container MBean EJB Container MBean RemoteInvoker RemoteInvoker Service MBean Client Proxy César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 44. Visión general de JBoss AS JEAP JMX Architecture • Microkernel design  Independent cycling and loading • Hot Deployment of services and applications  Unified ClassLoaders, total Class visibility/cyclability  Service Archives (SARs) for easy configuration and net deployment Service MBean Service MBean Service MBean Server JVM MBean Server MBean Server César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 45. Visión general de JBoss AS JEAP Deployers: Bringing in the Services Microkernel DeploymentScanner DeploymentScanner MainDeployer MainDeployer SARDeployer SARDeployer EARDeployer EARDeployer EJBDeployer EJBDeployer WARDeployer WARDeployer Transaction Transaction Service Service Message Service Message Service Security Service Security Service Naming Service Naming Service EJB Containers EJB Containers *.xAR César Pajares – ECM /CMS Manager cesarpajares@gmail.com Data Sources Data Sources 19 Octubre 2009 Curso JBoss JB366
  • 46. Visión general de JBoss AS JEAP Microkernel benefits for SOA architecture • Microkernel approach ideal for ISV and OEM – Easily remove the services you don’t need – Tight footprint and modular codebase and hot deploy/remove/redeploy – JBoss is a TRUE Service Oriented Architecture (SOA) WAR 11 WAR EAR 22 EAR Application A JAR 11 JAR RAR 33 RAR RAR 33 RAR JAR 33 JAR Microkernel DeploymentScanner DeploymentScanner MainDeployer MainDeployer SARDeployer SARDeployer EARDeployer EARDeployer Microkernel Transaction Transaction Service Service Security Service Security Service DeploymentScanner DeploymentScanner MainDeployer MainDeployer Naming Service Naming Service Data Sources Data Sources César Pajares – ECM /CMS Manager cesarpajares@gmail.com SARDeployer SARDeployer EARDeployer EARDeployer EJBDeployer EJBDeployer WARDeployer WARDeployer Custom SAR Custom SAR *.xAR Application B Transaction Transaction Service Service Message Service Message Service Security Service Security Service Naming Service Naming Service EJB Containers EJB Containers *.xAR Data Sources Data Sources Custom SAR Custom SAR 19 Octubre 2009 Curso JBoss JB366
  • 47. Visión general de JBoss AS JEAP Deployers: Working from the Network Machine 1 Machine 2 Microkernel Microkernel DeploymentScanner Load Services MainDeployer MainDeployer DeploymentScanner MainDeployer MainDeployer HTTP Scan Web Server Administrator César Pajares – ECM /CMS Manager cesarpajares@gmail.com HTTP Scan Deployment Packages 19 Octubre 2009 Curso JBoss JB366
  • 48. • • Visión general de JBoss AS JEAP Deployers: Working from the Network Microkernels and netboot enable new grid control – Domain of applicability: Robot control, Storage area networks, Next generation routers – Mars Lander syndrome hardware ships with software Burn kernel in flash ram – Deploy applications from centralized repository – Remote load at a later time – It changes the way robot/router grids are built, deployed and managed. Machine 3 Microkernel Microkernel Machine 2 Microkernel DeploymentScanner DeploymentScanner Machine 1 Machine 4 DeploymentScanner DeploymentScanner DeploymentScanner DeploymentScanner Machine 5 MainDeployer MainDeployer MainDeployer MainDeployer Microkernel MainDeployer MainDeployer DeploymentScanner DeploymentScanner DeploymentScanner DeploymentScanner MainDeployer MainDeployer César Pajares – ECM /CMS Manager cesarpajares@gmail.com Web Server Administrator Deployment Packages Machine 6 MainDeployer MainDeployer Microkernel Microkernel DeploymentScanner DeploymentScanner MainDeployer MainDeployer 19 Octubre 2009 Curso JBoss JB366
  • 49. Visión general de JBoss AS JEAP JMX is JBOSS Backbone • JBoss uses JMX for an intra-application communication • JBoss components are MBeans • JBoss startup is using JMX to (dynamically) load and start JBoss components • JBoss Classloader is a MBean as well as used as the MBean Classloader César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 50. Visión general de JBoss AS JEAP JMX is based on MVC César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 51. Visión general de JBoss AS JEAP Jboss Enterprise Middelware Suite César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 52. Visión general de JBoss AS JEAP JEMS Jboss Enterprise Middleware Services Middleware is composed of software that act as intermediaries between different application components, to ease programming, integration, and management. Application caching Application Middleware Middleware fault tolerance security logging replication transactions Network César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 53. Visión general de JBoss AS JEAP JEMS Jboss Enterprise Middleware Services • Middleware can also be viewed in the component model Security Network – Encapsulated software that performs a service – Accessed either locally or remotely Application Directory Services César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 54. Visión general de JBoss AS JEAP JBoss AS 5.x J2EE Application Server • J2EE 1.5 Certified • 100% Pure Java any hardware and OS with compliant JVM • JMX-Microkernel  customizable footprint (i.e. plug-n-play services)  enhanced performance via co-located services • Monitoring and Management  web-console provides real-time graphs & email alerts  Scriptability of JMX modifications and invocations • Enterprise-Ready Clustering  simple cluster-wide deployment  dynamic cluster composition  fault-tolerance • state replication • silent failover César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 55. Visión general de JBoss AS JEAP JBoss AS 5.x J2EE Application Server JBoss AS 5 Runtime service.xml spring beans .ear Aspectized User Applications OSGi .war … jboss-beans bundle Spring OSGi Java EE MBean POJO Component Deployers Enterprise Services Messaging OR Mapping Clustering WS Security Web Server Virtual Deployer Framework Transactions … JBoss Microcontainer JVM César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 56. Visión general de JBoss AS JEAP Apache Tomcat JSP/Servlet Engine • Proven  most popular JSP/Servlet engine on the planet!  JBoss Inc. supported by inside of JBoss AS or standalone • Performant  optimize communications with EJBs via JMX*  uses Eclipse compiler for even faster JSPs • Flexible  attach static webservers via AJP 1.3 (mod_jk 1.2.x)  hot-deployment & re-deployment  encrypted session support through SSL César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 57. Visión general de JBoss AS JEAP Hibernate Object-Relational Mapping & Persistence Framework • Database Independence  Dynamically generates vendor-specific SQL  Supports most databases (Oracle, MS-SQL, DB2, Sybase, etc.) • Transparent Persistence  Any POJO can be a persistent class • No interfaces have to be implemented • No persistent superclass has to be extended  Override with hand-written SQL or stored procedures  Support for “detached objects” •Eliminate DTOs (Data Transfer Objects) • Basis for EJB3.0 entity beans (EJB3 spec not yet final)  EJB3 has 15% of the functionality available in Hibernate3 César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 58. Visión general de JBoss AS JEAP EJB3 Enterprise Java Beans • Simplification of the persistence model • Light-weight persistence model In terms of programming and deployment model as well as runtime performance • Testability outside of the containers Create test clients that would use entities in a non-managed environment • Domain modelling through inheritance and polymorphism • Object/Relational (O/R) mapping • Extensive querying capabilities César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 59. Visión general de JBoss AS JEAP JBoss jBPM 3.0 Business Process Management System • Declarative business process definition  Graph Oriented Programming  Avoids miscomunication between business analyst & developer  Allows steps to be added/removed to/from process without software redesign! • State Management  Persistent representation of current process state  Context variables associated with each process instance • Integration  Web Services, JCA, JMS, Database, IIOP  Can run outside a J2EE Application Server  Standards-based technology : Java & XML • Future (jBPM 3.0)  BPEL support  Visual Process Designer (JBoss Eclipse IDE 1.5) César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 60. Visión general de JBoss AS JEAP Portal Platform Services JBoss Portal provides essential portal platform services César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 61. Visión general de JBoss AS JEAP JBoss Portal 2.7 • Robust Portal Framework  JSR-168 Compliant  Single-Sign-On (SSO) Support  Content aggregation and personalization  Java Server Faces, MyFaces, and Spring MVC support • Built on JBoss AS  Scalability and Clustering of Portals and Portlets  Data Access & Persistence Handled by Hibernate • Supports most popular databases (Oracle Database, MySQL, Microsoft SQL Server, DB2,..) • Portal Administration  Manage Users, Groups, Portal/Portlet Layout • Content Management  Manage Files, Folders, Versions  Integrated HTML Editing and WebDAV Support • Community Portlets  Included: Forums, Content Mgt, User Mgt, etc.  Additional portlets to be built by community (shared) César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 62. Visión general de JBoss AS JEAP JBoss IDE Integrated Development Environment • Eclipse Plug-ins for JEMS • Current Features  Automated XDoclet and Packaging  Deployment of Enterprise Applications  Debugging of Enterprise Applications  JSP/XML/HTML editors  J2EE wizards  JBossAOP extension • Future (JBoss IDE 1.5 targeted Q4 05)  Hibernate Wizards & Mapping Visualization  JBoss jBPM Visual Process Designer • JBoss AS is compatible with many IDEs  My Eclipse, IntelliJ IDEA, NetBeans, JBuilder, etc. César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 63. Visión general de JBoss AS JEAP JGroups Reliable Multicast Communications Toolkit • Reliability for group messages  Fragmentation  Re-transmission  Message ordering • Configurable transport layer (LAN or WAN)  UDP, TCP, TCP_NIO, TUNNEL, JMS, LOOPBACK  Defaults to IP-Multicast over UDP • Dynamic group composition  Additions & Removals • Message encryption available via SSL • Basis for JBoss Cache / clustering state replication • Future  Buddy Replication / Sub-partitioning César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 64. Visión general de JBoss AS JEAP JBoss Cache Distributed Transactional Caching • Caches POJOs  No interfaces to implement!  No superclasses to sub-class! • Synchronous or asynchronous replication • Transactional changes across group • Automatic fine-grained replication via TreeCache AOP • Cache persistence via file, SleepyCat, or JDBC • Superset of jCache (JSR-107) standard • Built on JGroups technology for superior reliability César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366
  • 65. Visión general de JBoss AS JEAP GET JBOSS 5! Questions? César Pajares – ECM /CMS Manager cesarpajares@gmail.com 19 Octubre 2009 Curso JBoss JB366