SlideShare una empresa de Scribd logo
1 de 71
Descargar para leer sin conexión
JBoss Portal 2.6.1GA “Ninja”

Curso Práctico 
Desarrollo de Portlets para JBoss Portal

Neodoo Microsystems S.L.
www.neodoo.es

francisco.solans@neodoo.es
aitor.acedo@neodoo.es
¿Qué es JNDI?
Recordemos...
Hay determinadas acciones asociadas a las páginas web que en caso de tardar excesivo tiempo, darán un 
time­out en el navegador del cliente.
Por regla general, suelen ser tareas que tardan más tiempo que el time­out definido en el navegador por lo 
que la petición es detenida.
En la aplicación CaJBPortalWeb, existen tareas que se pueden ejecutar en paralelo, es decir, dejar la tarea en 
background para que el servidor la ejecute cuando pueda. El cliente recibirá directamente la siguiente 
página y se le informará que en el menor tiempo posible se efectuará la labor solicitada:
Ejemplo aplicaciones:
Creación del PDF del listado de clientes.
Envío de email para recordar password.
¿Qué es JMS?
Mensajería es un método de comunicación entre componentes software o aplicaciones.
Java Message Service (JSR 914) es un API estándar de mensajería que nos permite la comunicación confiable 
entre diferentes partes.
JMS fue desarrollado por Sun para poder ofrecer a los programadores Java acceso a los Sistemas de 
Mensajería Empresariales (Enterprise Messaging Systems), también conocidos como Message Oriented 
Middleware (MOM).
Los MOM's proporcionan:
mecanismos débilmente dependientes para la integración de aplicaciones
envío asíncrono de datos entre aplicaciones (intermediario)
libera de RPC y protocolos de red y de comunicaciones
Mensajería asíncrona significa que el emisor del mensaje puede continuar con otras tareas después del envío del 
mensaje sin tener que esperar a la recepción del mismo.
Arquitectura JMS
Modelos de Comunicación (I)
Existen dos modelos de comunicación con JMS:
Punto­a­Punto (P2P): la comunicación se produce entre una aplicación y otra sin involucrar a ninguna otra 
parte que reciba la información. Por ejemplo, una aplicación de un Centro de Atención al Cliente, una 
llamada de un cliente entra en una cola y la operadora la atiende.
Publicar / Suscribir (P/S): es el modelo de comunicación utilizado cuando queremos que muchas aplicaciones 
reciban el mismo mensaje a la vez. Puede ser que muchas quieran enviar y muchas quieran recibir los 
mensajes. Por ejemplo un chat.
Modelos de Comunicación (II)
Punto a Punto:
Modelos de Comunicación (III)
Publicar / Suscribir
Modelo de Programación JMS
Volvamos a recordar...
En el caso de CaJBPortalWeb y por el hecho de usar servicios de mensajería asíncrona, Apache Tomcat se 
CaJBPortalWeb
queda 'pequeño' puesto que no dispone de este servicio.
Es necesario utilizar de forma complementaria el sistema de mensajería JMS a través de otro servidor de 
aplicaciones, en nuestro caso, JBoss Application Server.
Según la distribución de los elementos de la arquitectura J2EE, podemos emplear Apache Tomcat de 
forma aislada o el que viene integrado en JBoss AS.

 

 
JBoss AS: Instalación binario
La instalación del servidor de aplicaciones JBoss es bastante sencilla:
Nos bajamos la distribución binaria de la versión 4.0.5 GA del servidor:
http://labs.jboss.com/jbossas/downloads
Establecemos la variable de entorno JBOSS_HOME en el directorio en el que hayamos descomprimido el 
fichero .zip.
Creamos una nueva configuración para poder trabajar con las mismas características que default, en nuestro 
caso denominaremos a la nueva configuración curso_portal y a partir de este momento trabajaremos en 
todo momento con esta configuración.
Arrancamos JBoss AS con la configuración curso_portal.
$ JBOSS_HOME/bin/run.sh -c curso_portal
Si queremos para el servidor tendremos que ejecutar:
$ JBOSS_HOME/bin/shutdown.sh -S

 

 
JBoss AS: Instalación EJB 3.0
Dependiendo de la versión de JBoss AS que utilicemos no tendremos soporte para EJB 3.0 por lo que 
señalaremos los pasos que seguiremos para poder dar soporte a este tipo de componentes. La versión 4.0.5 
GA de JBoss no viene con el contenedor de EJB3 instalado.
Lo primero que tendremos que hacer será bajarnos el parche EJB3 RC9 Patch 1 de esta URL y descromprimirlo 
en cualquier directorio: 
http://labs.jboss.com/jbossejb3/downloads 
Para instalar el parche simplemente tenemos que realizar los siguientes pasos:
cd jboss-EJB-3.0_RC9_Patch1
ant -f install.xml -Djboss.server.config=curso_portal
La variable $JBOSS_HOME indica el directorio donde tenemos instalado la versión de nuestro servidor JBoss.

 

 
JBoss AS: Instalación instalador (I)
Bajar el software para instalar JBoss AS de http://labs.jboss.com/jemsinstaller/
Ejecutamos: java ­jar jems­installer­1.2.0.GA.jar y aparecerá el siguiente cuadro, después de seleccionar el idioma de 
la instalación.

 

 
JBoss AS: Instalación instalador (II)

 

 
JBoss AS: Instalación instalador (III)

 

 
JBoss AS: Instalación instalador (IV)

 

 
JBoss AS: Instalación instalador (V)

 

 
JBoss AS: Instalación instalador (VI)

 

 
JBoss AS: Instalación instalador 
(VII)

 

 
JBoss AS: Instalación instalador 
(VIII)

 

 
JBoss AS: Arquitectura JMX

 

 
JBoss AS: Interceptores e 
invocadores

 

 
JBoss AS: Interceptores Cliente

 

 
JBoss AS: Descripción completa

 

 
JBossMQ
JBossMQ es una implementación de la API Java Message Service (parte de la J2EE), que viene con el servidor 
de aplicaciones JBoss. 
Permite el envío asíncrono de mensajes en sistemas distribuidos con posibilidad de utilizar parámetros de QoS, 
como por ejemplo, persistencia, garantía de entrega o transacciones.
JBoss AS 4.0.5 es compatible con la versión 1.1 de la especificación JMS. Esta especificación incluye un 
modelo combinado de conexiones Queue/Topic que puede utilizar los dos modelos de comunicación.
Para versiones futuras de JBoss este servicio se pasará a llamar JBossMessaging.

 

 
Modelos de Comunicación 
JBossMQ

 

 
JBoss Portal: JEMS
JBoss Portal está basado en JEMS (JBoss Enterprise Middleware Systems)
Como la gran mayoría de servicios que componen JBoss, JBoss Portal trabaja en colaboración de otros 
servicios para realizar su tarea, estos servicios son los siguientes:

 

 
JBoss Portal: Instalación (I)
Una vez instalado el servidor de aplicaciones nos bajaremos la versión 2.6­RC3 de JBoss Portal de la siguiente 
página:
http://labs.jboss.com/jbossportal/download/index.html
Descomprimir el fichero .zip en un directorio y copiar el directorio  jboss­portal.sar al destino 
jboss­portal.sar
$JBOSS_HOME/server/curso_portal/deploy/
Configurar el DataSource utilizado, copiar portal­oracle­ds.xml a $JBOSS_HOME/server/curso_portal/deploy/
portal­oracle­ds.xml

Desplegar el conector JDBC necesario para nuestro DataSource, en este caso será el fichero ojdbc14.jar, dentro 
ojdbc14.jar
del directorio $JBOSS_HOME/server/curso_portal/lib
Arrancar el servidor JBoss AS y después introducir en el navegador la siguiente URL:
 

http://localhost:8080/portal/index.html

 
JBoss Portal: Instalación (II)

 

 
JBoss Portal: Conceptos previos (I)
Las empresas punteras tienden a mejorar la productividad y reducir costes desarrollando portales empresariales.
Un portal es un sitio web cuyo objetivo es ofrecer al usuario, de una manera fácil e integrada, una serie de 
recursos y servicios, tales como envío de correo electrónico, foros, motores de búsqueda...
Los portales empresariales simplifican el acceso a la información proporcionando una única fuente de interacción 
con la información corporativa.
JBoss Portal es la solución open­source ofrecida por la empresa Red Hat JBoss para la gestión y el desarrollo 
de portales empresariales.
Dentro de JBoss Portal podemos ver un portal como un conjunto de páginas con diferentes áreas, y dentro de 
cada área diferentes ventanas, y en cada ventana un portlet.
Un portlet es un componente web gestionado por un contenedor, en nuestro caso JBoss Portal, que tras la 
petición de un usuario generan y presentan contenidos dinámicos de forma identificable en el interfaz de 
usuario del portal como componentes de contenido.

 

 
JBoss Portal: Conceptos previos (II)
La jerarquía de objetos pertenecientes a un portal está representada por el siguiente árbol:

 

 
JBoss Portal: Conceptos previos 
(III)
JBoss Portal puede soportar múltiples instancias de portales ejecutándose en un único contenedor, una 
instancia de un portal puede definirse como un recipiente de objetos del portal, tales como, páginas, temas, 
distribuciones (layouts) y ventanas. Además también gestiona la relación entre el usuario y el portal.
Para acceder a una instancia de portal deberemos utilizar una URL del tipo:
http://[domain]/[context]/portal/[portal_name]
Así http://localhost:8080/portal/portal/default accederá a la instancia de portal default.
Páginas del portal son generadas durante la fase de respuesta por el portal, en esta fase el portal introduce el 
marcado HTML para generar los portlets que contiene la página, junto con los controles de dichos portlets. 
En la instalación por defecto tenemos las siguientes páginas:

Para acceder a las páginas utilizaremos una URL como esta o seleccionando las pestañas representadas en la 
figura anterior:
 

 
http://[domain]/[context]/portal/[portal_name]/[page_name]
JBoss Portal: Conceptos previos 
(IV)
Ventana de un portlet: se basan en las páginas del portal y contienen el marcado HTML para un instancia concreta 
de un portlet.
Título de la ventana: define el contenido y propósito de la ventana del portlet
Fragmento de ventana: representa el marcado HTML producido por el portlet en el lado del servidor.
Controles de ventana: se dividen en dos categorías: Estado de ventana y Modo del Portlet.
Estados de ventana:
Normal
Minimizado
Maximizado
Modos de ventana:
Cancelar / Ver: visualiza el estado actual de la ventana del portlet
Editar: permite a un usuario personalizar el comportamiento del portlet
Ayudar: en este modo el portlet proporcionaría ayuda al usuario. 

 

 
JBoss Portal: Conceptos previos (V)
Hemos utilizado el User Portlet, antes de acceder con algún usuario al sistema para representar las partes de las 
User Portlet
que consta:

 

 
JBoss Portal: Gestión de Objetos (I)
Dinamicidad (Dinamicity) significa que todos los objetos que forman parte de un portal se pueden modificar 
Dinamicity
dinámicamente en tiempo de ejecución, sin necesidad de volver a comenzar el servidor para que los 
cambios tengan efecto.
Para poder realizar la gestión de los objetos utilizaremos el portlet titulado Management Portlet que se encuentra 
dentro del Admin Portal, al que únicamente es posible acceder si entramos como usuario admin. El 
Management Portlet tiene este aspecto:

 

 
JBoss Portal: Gestión de Objetos 
(II)
Gestionar instancias de portales: los administradores podrían gestionar el portal, las páginas, subpáginas y 
ventanas en cualquier momento, las acciones principales que podemos realizar en una instancia de un 
portal son:
Proteger la instancia: Al seleccionar la opción Security permite al administrador configurar la seguridad relativa 
a un portal para el role que queramos. Las configuraciones de seguridad con las que contamos son:
view: los usuarios pertenecientes al role pueden ver el objeto
viewrecursive: pueden ver el objeto y sus objetos hijos
personalize: los usuarios son capaces de ver y personalizar el objeto
personalizerecursive: pueden ver y personalizar el objeto y sus objetos hijos
Editar propiedades: gracias al enlace Properties podremos modificar el comportamiento de la instancia 
cuando se produce algún error, tanto en una página como en un portal.
Modificar el Tema/Distribución (Layout): cuando elegimos la opción Theme podremos personalizar el aspecto 
que tienen los elementos dentro de la instancia que tenemos seleccionada.
Destruir: como es lógico también podemos destruir instancias de portales que ya no son necesarias.

 

 
JBoss Portal: Gestión de Objetos 
(III)
Gestionar portlets e instancias de portlets: dentro de las posibilidades que podemos encontrarnos a la hora de 
trabajar con instancias de portlets nos encontramos con la posibilidad de crear instancias de un portlet dado, 
modificar las propiedades de una instancia seleccionada.

 

 
JBoss Portal: Gestión del CMS (I)
Para realizar la gestión del Content Management System, al igual que ocurre con cualquier operación de gestión es 
preciso que entremos como el usuario admin, y después seleccionemos la pestaña CMS que nos llevará a la 
página en la que encontramos el portlet CMS Administration, el cual nos proporcionará todas las opciones 
de las que disponemos para gestionar ficheros, y directorios. El portlet aparece con el siguiente aspecto:

 

 
JBoss Portal: Gestión del CMS (II)
Dentro de las principales acciones que podemos realizar gracias al portlet de administración del CMS se 
encuentran las siguientes:
Creación de un directorio
Creación de un fichero
Ver ficheros y directorios
Copiar ficheros y directorios 
Mover ficheros y directorios
Eliminar ficheros y directorios
Subir un fichero
Exportar un directorio
Proteger el CMS

 

 
JBoss Portal: Usuarios y Roles (I)
Para poder realizar funciones administrativas de los usuarios de nuestro sistema tenemos que entrar con un 
usuario con las acreditaciones adecuadas, en nuestro caso, el usuario  admin, después tendremos que 
admin
seleccionar la pestaña de la página Members dentro del Admin Portal.
Admin Portal
En esta página observaremos dos portlets como los siguientes:

 

 
JBoss Portal: Usuarios y Roles (II)
Gracias a los portlets vistos anteriormente las principales acciones que podremos realizar tanto sobre usuarios 
como sobre roles serán las siguientes:
Búsqueda de usuarios
Crear una cuenta usuarios
Editar el perfil de usuarios
Actualizar roles de un usuario
Crear roles
Editar roles
Editar los miembros de un role
Eliminar roles
Un role es usado para garantizar ciertos niveles de permisos para diferentes elementos como portlets, páginas, 
o instancias de portales.

 

 
Configuración de Eclipse (I)
Para desarrollar nuestro primer portlet, utilizaremos el IDE Eclipse:
Eclipse SDK 3.3 JEE (o Eclipse Europa)
Disponible en: www.eclipse.org/downloads/
Seleccionar la opción Eclipse IDE for Java EE Developers.
 New ­> Project ­> Dynamic Web Project
Librerías utilizadas en un portlet básico: 
JBOSS_HOME/server/<CONF>/deploy/jboss-portal.sar/lib
portlet-api-lib.jar
En el interior de esta librería podemos encontrarnos las clases:
GenericPortlet
RenderRequest
RenderResponse, ...

 

 
Configuración de Eclipse (II)
Instalación del plug­in Subclipse, utilizado para 
trabajar con Subversion dentro de Eclipse
Desde Eclipse accediendo a Help ­> 
Software Updates > Find and Install... 
seleccionando Search for new features to 
install. Elegir New Remote Site...

Aceptamos la licencia y confirmamos la instalación en nuestra versión de Eclipse, presionamos Install All
 

 
Configuración de Eclipse (III)
Los servidores más comunes en las arquitecturas J2EE están embebidos en el IDE Eclipse por lo que es posible 
tanto visualizar las trazas de log como controlar el servidor. Configurar un servidor externo a Eclipse es la 
solución más adecuada para realizar depuraciones.

 

 

Window­>Preferences­>Server­>Installed Runtimes
Generación Proyecto Nuevo (I)
Desde el IDE Eclipse, ir a File > New... > Project y en la ventana 
seleccionar Web > Dynamic Web Project.
Crear un proyecto denominado SimplePortlet.
Context Root: SimplePortlet, Content Directory: WebContent y 
: 
, 
Java Source Directory: src
Librerías utilizadas en un portlet básico: 
JBOSS_HOME/server/<CONF>/deploy/jboss-po
rtal.sar/lib
portlet-api-lib.jar
Botón derecho del ratón en el proyecto (Project 
Explorer) Build Path ­> Configure Build Path...
Seleccionar el tab Libraries y presionar el botón 
Add External JARs...
Cuando finalicemos de implementar el portlet, 
seleccionamos el nombre del proyecto 
presionamos el botón derecho Export ­> WAR file

 

 
Generación Proyecto Nuevo (II)
Todos los proyectos de los portlets mostrados en la presentación estarán ubicados en un repositorio  local 
al que podremos acceder a través de Eclipse.
Es necesario instalar el plugin  Subclipse para tener soporte SVN (seguir las instrucciones de la ficha 
Configuración de Eclipse (II))
Configuración de Eclipse (II)
Ir a File ­> New Project ­> SVN ­> Checkout Projects from SVN e introducir los datos del repositorio.
Nos podremos bajar las soluciones de los ejercicios propuestos.

 

 
JBoss Portal: Implementación (I)
Los portlets son empaquetados en ficheros con extensión .war, al igual que otras aplicaciones JEE. Un fichero 
war de un portlet típico puede contener servlets, resource bundles, imágenes, ficheros html, jsp's y otros 
ficheros estáticos o dinámicos.
Todos los portlets tienen que implementar el interface  javax.portlet.GenericPortlet.
javax.portlet.GenericPortlet
Descriptores de Aplicación: JBoss Portal requiere que ciertos ficheros sean incluidos dentro del fichero war, 
algunos de estos descriptores están descritos por la especificación de los portlets, es decir, serán estándar 
para todas las implementaciones de contenedores de portlets y algunos son específicos de JBoss Portal, los 
ficheros descriptores son los siguientes:
portlet.xml:
portlet.xml
Define el nombre del portlet (portlet­name)
portlet­name
El nombre de la clase portlet debe estar declarado en este fichero ( portlet­class)
portlet­class
Los atributos de soporte son vitales y también están contenidos en el fichero (mime­type y portlet­mode) 
mime­type portlet­mode
todos los modos que queramos que soporte el portlet tienen que estar en este fichero, por 
ejemplo VIEW...
portlet­instances.xml: permite crear una instancia de un portlet.
portlet­instances.xml
*­object.xml: es responsable de la creación y configuración de ventanas, páginas, e incluso instancias de 
*­object.xml
portales.
 

 
Implementación: Portlet Simple (I)
La estructura del paquete que contiene todo lo necesario para desarrollar un ejemplo de un portlet básico sería 
algo como esto:

 

 
Implementación: Portlet Simple (II)
Vamos a echarle un vistazo al fuente que implementa el portlet:

 

 
Implementación: Portlet Simple (III)
Ficheros descriptores dentro de nuestro portlet básico:
portlet.xml (1)

simple­object.xml (3)
portlet­instances.xml (2)

 

 
Implementación: Portlet Simple (IV)
El hecho de que tengamos varios ficheros descriptores de la aplicación hace que tengan que haber alguna 
relación entre ellos, lo más destacado es que el valor de la etiqueta  portlet­ref del fichero portlet­instances.xml 
portlet­ref
portlet­instances.xml
tiene que coincidir con el valor de la etiqueta  portlet­name del fichero portlet.xml.
portlet­name
Además el valor del elemento instance­id del fichero portlet­instances.xml tiene que coincidir con el valor del elemento 
instance­id
portlet­instances.xml 
con la etiqueta instance­ref del fichero *­object.xml.
instance­ref
Uno de los puntos importantes dentro del desarrollo es cómo desplegar nuestro portlet dentro del servidor de 
aplicaciones que estamos utilizando, desplegar un portlet es tan simple como copiar el fichero .war en el 
directorio deploy de nuestro servidor.

....

Para eliminar el portlet del portlet simplemente tendremos que eliminar el fichero .war del directorio dentro del 
cual lo hemos desplegado.

 

 
Implementación: Portlet Simple (V)
Una vez realizado el despliegue del portlet solamente nos resta con ver el resultado dentro de Jboss Portal.
Aspecto del portlet en modo VIEW (vista):

Aspecto del portlet en modo HELP (ayuda):

 

 
Implementación: Portlet Servlet (I)
SimpleServletPorlet.war, y contenido del proyecto en Eclipse:
SimpleServletPorlet.war

 

 
Implementación: Portlet Servlet (II)
Fichero de implementación con servlets de nuestro portlet básico:

 

 
Implementación: Portlet Servlet (III)
Aquí tenemos la implementación del servlet GetDateServlet que tiene la misma funcionalidad que el portlet básico:
GetDateServlet

 

 
Implementación: Portlet Servlet (IV)
Fichero web.xml del proyecto SimpleServletPortlet:
web.xml
SimpleServletPortlet

 

 
Implementación: Portlet Servlet (V)
Esto es lo que aparecerá como salida del servidor tras el despliegue y visualización del portlet­servlet, la primera 
secuencia aparece cuando visualizamos el portlet por primera vez.

Esta otra secuencia aparecerá cuando seleccionamos el modo HELP dentro del portlet:

 

 
Implementación: Portlet JSP(I)
Después de haber visto un ejemplo de un portlet simple es momento de pasar al desarrollo de un portlet que 
utilizará ficheros JSP para el renderizado de la vista, junto con la librería de etiquetas de portlets para la 
generación de enlaces.
Una de las cosas más importantes dentro de este ejemplo son las dos vistas jsp's. La primera vista permite al 
usuario introducir su nombre que es pasado al método processAction dentro de nuestro portlet, puesto como 
processAction
renderParameter al método doView, el cual lo envía a la segunda vista.
renderParameter

 

 
Implementación: Portlet JSP (II)
La estructura del 
paquete que 
contiene 
todo lo 
necesario 
para 
desarrollar 
un ejemplo 
de un portlet 
con jsp's 
sería algo 
como esto:

 

 
Implementación: Portlet JSP (III)
Esta es la clase que implementa 
el portlet del proyecto 
SimpleJSPPortlet:
SimpleJSPPortlet

 

 
Implementación: Portlet JSP (IV)
El fichero JSP más complejo de los que tenemos dentro del proyecto SimpleJSPPortlet es:

 

 
Implementación: Portlet JSF(I)
Una vez finalizado el ejemplo de portlets con JSP el siguiente paso será utilizar la framework JSF en nuestro 
desarrollo con portlets.
Un detalle a tener en cuenta en este tipo de desarrollos es que dentro del fichero .war que almacena el portlet 
tenemos que empaquetar el fichero faces­config.xml que como sabemos será utilizado para definir los 
faces­config.xml
managed­beans, conversores, validadores, reglas de navegación, ...
managed­beans conversores validadores reglas de navegación
Es preciso notar que cuando despleguemos en JBoss AS nuestro desarrollo no será necesario empaquetar la 
librería myfaces con nuestra aplicación, esto es así ya que JBoss tiene unas librerías propias en 
<JBOSS_HOME>/server/default/deploy/jbossweb­tomcat55.sar/jsf­libs/

 

 
Implementación: Portlet JSF(II)
La estructura del paquete 
que contiene todo lo 
necesario para 
desarrollar un ejemplo 
de un portlet utilizando 
la framework JSF sería 
algo como lo siguiente:

 

 
Implementación: Portlet JSF(III)
Fichero portlet.xml del proyecto SimpleJSFPortlet:
portlet.xml
SimpleJSFPortlet

 

 
Implementación: Portlet JSF(IV)
Fichero faces­config.xml del proyecto SimpleJSFPortlet:
faces­config.xml
SimpleJSFPortlet

 

 
Implementación: Portlet JSF(V)
Una vez desplegado dentro de Jboss Portal el proyecto  SimpleJSFPortlet si todo ha ido bien obtendremos la 
SimpleJSFPortlet 
siguiente salida:

 

 
Proyectos Software Necesarios
Descargamos los siguientes proyectos para insertar las librerías necesarias en nuestro desarrollo web:
Añadir el driver JDBC de la base de datos (en nuestro caso Oracle XE) si no está ya en el servidor de 
aplicaciones, en el CLASSPATH del sistema o <JAVA_HOME>/jre/lib/ext. El conector JDBC aparece 
dentro del directorio <ORACLE_HOME>/jdbc/lib/.
Implementación JavaServer Faces (Elegir una de las dos):
MyFaces (Apache): MyFaces Core 1.1.5 Distributions de http://myfaces.apache.org/download.html
JSF RI (Sun): Descargar de https://javaserverfaces.dev.java.net
Descargar las Jarkarta Taglibs http://www.apache.org/dist/jakarta/taglibs/standard/
Añadir al proyecto standard.jar (Es una implementación Open Source de JSP Standard Tag Library 
(JSTL), versión 1.1.2). 

 

 
Bibliografía
JMS ­ http://en.wikipedia.org/wiki/Java_Message_Service
Oracle 10g XE Documentation ­ http://www.oracle.com/pls/xe102/homepage
RSS ­ http://en.wikipedia.org/wiki/RSS
Data Access Object ­ http://es.wikipedia.org/wiki/Data_Access_Object
Etiquetas HTML en JSF ­ http://www.exadel.com/tutorial/jsf/jsftags­guide.html

 

 
Glosario (I)
JMS: Java Message Service
MOM: Message Oriented Middleware, Enterprise Messaging 
Systems
JSR: Java Specification Request
JCP: Java Community Process
JNDI: Java Naming and Directory Interface
J2EE: Java Enterprise Edition
JVM: Java Virtual Machine
QoS: Quality of Service
 

 
Glosario (II)
JMX: Java Management Extensions
WSRP: Web Services for Remote Portlets
CMS: Content Management System
RSS (v 2.0): Really Simply Sindication
*.WAR: Web Application Archive
*.SAR: Service Archive
*.EAR: Enterprise Archive
*.HAR: Hibernate Archive
LDAP: Lightweight Directory Access Protocol
 

 
Glosario (III)
RPC: Remote Procedure Call

 

 

Más contenido relacionado

Similar a JBoss AS: Desarrollo con JBoss Portal 2.6.1GA “Ninja”

Introducción a las aplicaciones web con java
Introducción a las aplicaciones web con javaIntroducción a las aplicaciones web con java
Introducción a las aplicaciones web con javaPedro Arteaga
 
Arquitectura cliente servidor rodofo jacobo rodriguez
Arquitectura cliente servidor rodofo jacobo rodriguezArquitectura cliente servidor rodofo jacobo rodriguez
Arquitectura cliente servidor rodofo jacobo rodriguezTito Jacobo Rodriguez
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !ouuyeah
 
Unidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webUnidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webZacarias Marquez Cruz
 
Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee Rodrigo Zottola Pareja
 
Iron workers y javascript
Iron workers y javascriptIron workers y javascript
Iron workers y javascriptJavier Constain
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoManuel Carrasco Moñino
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.jsINSIGNIA4U
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptKarsarmi
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBUNIV DE CIENCIAS Y ARTES
 
Universidad tecnica particular d loja tati
Universidad tecnica particular d loja tatiUniversidad tecnica particular d loja tati
Universidad tecnica particular d loja tatitatu18
 
I introduccion a_las_aplicaciones_web_co
I introduccion a_las_aplicaciones_web_coI introduccion a_las_aplicaciones_web_co
I introduccion a_las_aplicaciones_web_cofanny casadiego
 

Similar a JBoss AS: Desarrollo con JBoss Portal 2.6.1GA “Ninja” (20)

Aprendiendo GWT
Aprendiendo GWTAprendiendo GWT
Aprendiendo GWT
 
Introducción a las aplicaciones web con java
Introducción a las aplicaciones web con javaIntroducción a las aplicaciones web con java
Introducción a las aplicaciones web con java
 
Proxy presentacion
Proxy presentacionProxy presentacion
Proxy presentacion
 
Arquitectura cliente servidor rodofo jacobo rodriguez
Arquitectura cliente servidor rodofo jacobo rodriguezArquitectura cliente servidor rodofo jacobo rodriguez
Arquitectura cliente servidor rodofo jacobo rodriguez
 
Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !Programación Reactiva, Javascript Isomorfo y Meteorjs !
Programación Reactiva, Javascript Isomorfo y Meteorjs !
 
Tutor Java Web
Tutor Java WebTutor Java Web
Tutor Java Web
 
Unidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones webUnidad ii desarrollo de aplicaciones web
Unidad ii desarrollo de aplicaciones web
 
Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee Introduccion Aplicaciones Web en java j2ee
Introduccion Aplicaciones Web en java j2ee
 
Iron workers y javascript
Iron workers y javascriptIron workers y javascript
Iron workers y javascript
 
Gwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrascoGwt seminario java_hispano_manolocarrasco
Gwt seminario java_hispano_manolocarrasco
 
Java 123
Java 123Java 123
Java 123
 
Actividad 1
Actividad 1Actividad 1
Actividad 1
 
Code Blast 2012 - Node.js
Code Blast 2012 - Node.jsCode Blast 2012 - Node.js
Code Blast 2012 - Node.js
 
Aprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScriptAprendiendo a Programas en 4 horas JavaScript
Aprendiendo a Programas en 4 horas JavaScript
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEBEQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
EQUIPO 2,2A PARTE DE REVISION DE TECNOLOGIAS WEB
 
Universidad tecnica particular d loja tati
Universidad tecnica particular d loja tatiUniversidad tecnica particular d loja tati
Universidad tecnica particular d loja tati
 
I introduccion a_las_aplicaciones_web_co
I introduccion a_las_aplicaciones_web_coI introduccion a_las_aplicaciones_web_co
I introduccion a_las_aplicaciones_web_co
 
Apuntes entorno cliente servidor
Apuntes entorno cliente   servidorApuntes entorno cliente   servidor
Apuntes entorno cliente servidor
 
EQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILASEQUIPO 2,2A PARTE DE LAS AGUILAS
EQUIPO 2,2A PARTE DE LAS AGUILAS
 

Último

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (15)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

JBoss AS: Desarrollo con JBoss Portal 2.6.1GA “Ninja”