Daniel Prado Rodríguez - Página Personal - Presentación
Daniel Prado Rodríguez Visita: Sacarse el carnet de conducir por libre DGT
  Jueves, 26 de Diciembre de 2024 Inicio | Contactar
Añadir a favoritos | Imprimir 
 
» Bienvenidos a mi página web

Daniel Prado Rodríguez En primer lugar quisiera presentarme, mi nombre es Daniel Prado Rodríguez y vivo en Lugo de Llanera (Asturias - España).

Actualmente trabajo en Sermicro, como progamador Senior para el proyecto del portal del principado de Asturias. Los motivos que me han llevado a realizar está página son en primer lugar la de ofrecer mi Curriculum Vitae siempre actualizado y un medio para contactar conmigo. No obstante también tendrán cabida otros contenidos como recursos paraa programadores o información sobre mi tierra natal.

No obstante no deja de asombrarme este medio, que permite que tú, que has llegado aquí posiblemente por azar, quizá solo con la intención de curiosear, me conozcas un poco mejor. Así que, si algo te interesa, si quieres preguntar o comentar algo, no dudes en contactar conmigo. Mi dirección de correo y el libro de visitas de esta web están a tu entera disposición.


» Viajes Destacados

Viaje a Roma

Visitar Londres

Guía de Nueva York

Visitar la Riviera Maya

Visitar Túnez

Viaje a Tenerife

Viaje a Benidorm

Visitar Florencia

Guía de Milán

Guía de Boston

Visitar Washington DC

Viajar a Philadelphia


» Programacion » Java » Struts-Bridge – Migración de una aplicación Struts a un Portlet JSR-168, en el contendor de portlets Jetspeed 2 Ver
19 de Abril de 2006 (Daniel P.)

Objetivos:

El objetivo principal es la de servir como guía, en la que se explica paso a paso, todas las tareas que se debe de realizar para poder realizar con éxito una migración de una aplicación Struts a un Portlet JSR 168 que se pueda desplegar con éxito en un contendor de Portlets como es JetSpeed.

Prerrequisitos:

1. Tener instalado Jetspeed 2.
2. Aplicación Struts con la versión 1.2.4 o 1.2.7.
3. Nociones básicas sobre Portlets JSR-168.
4. Aplicación desarrollada siguiendo los buenas prácticas de programación para Struts, los enlaces generados con la etiqueta html:link

Procedimiento – Pasos para la Migración:

Actualizar la versión de Struts

En este paso se deberá de migrar la aplicación Struts a una de las dos versiones de Struts soportadas por Struts-Bridge.

Se ha probado con otras versiones de Struts (1.1) y parece funcionar sin problemas sin realizar esta migración, no obstante este punto debería de estudiarse a fondo hasta poder concluir si tiene alguna implicación posterior la no realización de esta migración a una de las dos versiones requeridas por Struts-Bridge.

Para la elaboración de esta guía se ha migrado a la versión 1.2.7.

• Copia de los archivos contenidos en la versión 1.2.7:
     o Nos bajamos la versión 1.2.7 de Struts.
     o Descomprimimos el archivo
     o Copiamos todos los archivos .jar al directorio: webapp\WEB-INF\lib
     o Copiamos todos los archivos .tld al directorio: webapp\WEB-INF\tld
     o Copiamos todos los archivos .dtd al directorio: webapp\WEB-INF\dtd

Nota: Los directorios destinos podrán variar dependiendo de la estructura que se ha seguido en la realización de la aplicación.

• Comprobamos una vez actualizada a la nueva versión de Struts si nuestra aplicación continúa funcionando sin problemas para lo cual deberemos de arrancar nuestro servidor de aplicación y ejecutarla.

Migrar a un Portlet JSR 168 desplegado en Jetspeed

Introducción

Una vez migrada, o no, la aplicación a la versión correspondiente de Struts, nos dispondremos a realizar las tareas necesarias para migrar la aplicación Struts a un Portlet para su despliegue posterior en Jetspeed.

Pasos

• Instalación y configuración de la librería portals-bridges-struts-1.2.7-1.0.jar.
     o Copia de la librería portals-bridges-struts-1.2.7-1.0.jar dentro de WEB-INF/lib.
     o Configuración de las tareas ANT para el empaquetizado de esta librería en el war (Si es que las utilizamos).

• Probar que la aplicación siga funcionando como aplicación Struts.

• Sustituir la taglib struts-html por la http://portals.apache.org/bridges/struts/tags-portlet-html, para lo cual se deberá de sustituir la siguiente línea de cada archivo JSP que la utilice:

<%@ taglib uri="struts-html" prefix="html" %>

Por la siguiente:

<%@ taglib uri="http://portals.apache.org/bridges/struts/tags-portlet-html" prefix="html" %>

     o Esta permitirá, que las etiquetas html:link generen los enlaces tanto para la aplicación Struts como para la aplicación Portlet, ya que los enlaces serán totalmente distintos dependiendo de que con que tipo de aplicación se esté trabajando.

• Probar que la aplicación funcione correctamente como aplicación Struts.

• Modificaciones en el archivo de configuración web.xml
     o Buscar el servlet action y sustituir su información por la siguiente

 <servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.portals.bridges.struts.PortletServlet</servlet-class>

</servlet>

• Probar que la aplicación funcione correctamente como aplicación Struts.

• Modificaciones en el archivo de configuración struts-config.xml:
     o Introducir en este archivo justo encima de la etiqueta <message-resources> la siguiente línea:

<controller pagePattern="$M$P" inputForward="false" processorClass="org.apache.portals.bridges.struts.PortletRequestProcessor"/>

• Probar que la aplicación funcione correctamente como aplicación Struts.

• Crear el archivo struts-portlet-config.xml en WEB-INF. Ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
<config>
<render-context>
<attribute name="errors"/>
<attribute name="message"/>
</render-context>
<portlet-url-type>
<action path="/shop/add"/>
<action path="/shop/switch"/>
<action path="/shop/remove"/>
<action path="/shop/signoff"/>
<action path="/shop/viewCategory"/>
<action path="/shop/viewItem"/>
<action path="/shop/viewProduct"/>
<action path="/shop/viewCart"/>
<action path="/shop/newOrder"/>
<render path="/shop/newOrderForm"/>
<action path="/shop/listOrders"/>
<resource path="/images/"/>
</portlet-url-type>
</config>

Se indicará las action que son entradas en el portlet.

• Crear el archivo portlet.xml en WEB-INF. Ejemplo:

<?xml version="1.0" encoding="UTF-8"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
<portlet>
<portlet-name>JPetstorePortlet</portlet-name>
<portlet-class>org.apache.portals.bridges.struts.StrutsPortlet</portlet-class>
<init-param>
<name>ServletContextProvider</name>
<value>org.apache.jetspeed.portlet.ServletContextProviderImpl </value>
</init-param>
<init-param>
<name>ViewPage</name>
<value>/index.shtml</value>
</init-param>
<init-param>
<name>HelpPage</name>
<value>/help.shtml</value>
</init-param>
<expiration-cache>-1</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
<portlet-mode>HELP</portlet-mode>
</supports>
<portlet-info>
<title>JPetstore</title>
<keywords>Struts</keywords>
</portlet-info>
</portlet>
</portlet-app>

Donde se deberá de cambiar el nombre comprendido en <portlet-name>JPetstorePortlet</portlet-name> por el nombre que tendrá el Portlet.

Desplegar el Portlet en Jetspeed

Para desplegar el Portlet en Jetspeed es necesario crear un archivo psml e introducirlo en \Apache Jetspeed 2.0\webapps\jetspeed\WEB-INF\pages veamos un ejemplo de un archivo de este tipo:

<!--
Copyright 2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<page id="jpetstore">
<defaults
skin="orange"
layout-decorator="tigris"
portlet-decorator="pretty-single-portlet"
/>
<title>JPetstore</title>
<metadata name="title" xml:lang="ja">ペットストア</metadata>
<metadata name="short-title" xml:lang="es">JPetstore</metadata>
<metadata name="title" xml:lang="es">Demo: tienda de animales</metadata>
<metadata name="title" xml:lang="hu">Kisállatkereskedés (JPetstore)</metadata>
<metadata name="title" xml:lang="zh">å® ç‰©åº—</metadata>
<fragment id="jp-1" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="jp-2" type="portlet" name="jpetstore::JPetstorePortlet"/>
</fragment>
<security-constraints>
<security-constraints-ref>public-view</security-constraints-ref>
</security-constraints>
</page>

Después se deberá de copiar la aplicación empaquetada como war al siguiente directorio de Jetspeed:
<apache root>\Apache Jetspeed 2.0\webapps\jetspeed\WEB-INF\deploy\, una vez iniciado el servidor de aplicaciones de Jetspeed, la aplicación será desplegada.

Podremos acceder al portal en la siguiente dirección http://localhost:8080/jetspeed/portal/, entonces deberemos de ver la nueva pestaña que contendrá el Portlet, pudiera suceder que la aplicación todavía no ha sido registrada para lo cual se deberá acceder directamente a ella, simplemente se tendrá que ir a la siguiente dirección para poder comprobar si se tiene desplegada y funcionando la aplicación Portlet: http://localhost:8080/jetspeed/portal/nombrePortlet.psml, donde nombrePortlet.psml es el nombre del archivo psml que se ha creado.

Otras consideraciones

Se ha detectado un pequeño problema con las tiles. Al pasar una aplicación Struts a Portlet la aplicación se vuelve sensible a mayúsculas, por tanto deberemos de revisar el archivo tiles-defs.xml en busca de posibles incongruencias.

Resumen

En este apartado se ha mostrado las tareas necesarias para poder realizar una migración con éxito entre una aplicación Struts y un Portlet JSR-168 en el contenedor de Portlets Jetspeed.

En está pagína web podrá encontrar un pequeño resumen donde se explican las características de cada uno de los archivos de configuración que hemos visto hasta el momento y que servirán para realizar la configuración de estos correctamente:
Archivo de configuración de un portlet portlet.xml
Archivo de configuración de Struts-Bridge struts-portlet-config.xml
Archivo de despliegue de un porlet en Jetspeed 2 asistenciaTecnica2.psml



» Publicidad

  
» Programacion Ver
Miércoles, 19 de Abril de 2006

Java

Struts-Bridge – Migración de una aplicación Struts a un Portlet JSR-168, en el contendor de portlets Jetspeed 2


» Programacion Ver
Miércoles, 19 de Abril de 2006

Java

Struts-Bridge – Migración de una aplicación Struts a un Portlet JSR-168, en el contendor de portlets Jetspeed 2

En este artículos se comentan los pasos para la migración de una aplicación Struts o Struts Tiles a un Portlet JSR-168 (caso práctico de su despliegue en Jetspeed 2). Para esta migración utilizaremos Struts-Bridge (Proyecto de la fundación Apache) que nos permite hacer la migración con unos pequeños ajustes y la inserción de unos pocos paquetes.
 
Mapa web |  Página principal  | Blog de Recetas | Recetas de Pescado | | Política de privacidad | Política de cookies
www.daniel.prado.name - Página Personal - © Copyright