Lo primero que habrá que aclarar es qué es eso del modo producción. Se trata de un estado configurable en nuestro servidor que indica que ya no se está realizando desarrollos de los entregables que se instalan en él. Al contrario del modo desarrollo, este estado mantiene activos una serie de mecanismos de seguridad para impedir un mal uso del servidor que pueda poner en peligro los servicios que se están proporcionando.
Existen numerosas diferencias entre el modo desarrollo y el modo producción de un servidor Weblogic (las cuales podéis encontrar aquí), pero la que nos afecta ahora mismo es que en producción no están activos ni el despliegue automático ni el despliegue en caliente de los entregables.
Es por eso que el despliegue de portlets, que normalmente se realiza con despliegue automático (autodeploy), se complica en aquellos servidores Weblogic en modo producción. Y, en este punto, es cuando tenemos que buscar el modo de poder desplegar portlets en nuestro servidor.
Antes de empezar hay que aclarar que esto ha sido probado para Liferay versión 6.1.1, instalado en un servidor Weblogic versión 10.3.6, por lo que no sé si se puede hacer de igual manera con otras versiones. También voy a dar por hecho que ambas herramientas están instaladas correctamente y en funcionamiento.
Los pasos que hay que seguir son los siguientes:
- Generar un portlet y empaquetarlo utilizando la herramienta Maven. Esto generará el entregable en formato WAR que tendremos que instalar.
- Se debe editar el fichero portal-ext.properties del entregable de Liferay que tenemos instalado en Weblogic. Este fichero se habrá generado en la instalacción si se han seguido los pasos correctamente, y en él ya se habrán añadido ciertos parámetros de la configuración, como el JNDI del origen de datos asociado al esquema de la Base de Datos al que atacará nuestro portal. En este fichero habrá que incluir la siguiente línea para que liferay trate de hacer un despliegue automático:
auto.deploy.enabled=true
Se pueden añadir otros elementos como los listeners que van a usarse en el despliegue automático o la ruta del directorio dónde se automatizan los despliegues. Hay gran cantidad de información por internet sobre posibles elementos configurables de Liferay.
- Se reiniciará el servidor para asegurarnos de que los cambios en la configuración se cargan correctamente.
- Ahora podremos poner nuestro WAR en el directorio que hayamos especificado para los despliegues automáticos. Por defecto, se trata del directorio deploy que se encuentra en el dominio dónde hemos instalado Liferay. Este paso es muy importante, ya que es el que activa el proceso que transforma el WAR en un directorio descomprimido (o exploited) que puede instalarse en nuestro servidor con el contenido del portlet.
- El directorio generado aparecerá en la ruta que se haya especificado en el fichero portal-ext.properties. Si no se ha indicado nada, el entregable descomprimido que desplegaremos aparecerá en el directorio autodeploy del servidor Weblogic, ya que, por defecto, todo entregable que se ponga en él, se desplegará automáticamente si nos encontramos en modo desarrollo.
- Al estar en modo producción, este proceso de despliegue automático no se llevará a cabo, por lo que habrá que acceder a la consola de Weblogic e instalar manualmente el entregable descomprimido generado.
Una vez hecho todo esto, el portlet estará listo para ser incluido en nuestro portal.
Espero que os haya sido útil la explicación y ya sabéis: cualquier duda, comentario o sugerencia constructiva será siempre bienvenido.
No hay comentarios:
Publicar un comentario