Liferay

desarrollo de software a medida - Evos Consulting

Evos Design, Consultoría IT para sistemas Web

Liferay como framework de desarrollo

01.06.2007

¿Qué es liferay? si llegas aqui haciendo esa pregunta probablemente este artículo te de algunas pistas. Primero, En su forma más simple podríamos decir que Liferay es una aplicación desarrollada en java que implementa el estándar JSR-168 de Sun Microsystems. Dicho estándar consiste en lo que se conoce como entorno de portlets. Lo que hace un portlet es más o menos lo que hace una ventana dentro de un sistema operativo como windows; utiliza todas las herramientas de entorno (look &feel) restricciones de seguridad y otras funcionalidades, evitando así que cuando se desarrolle una aplicación tengamos que hacerla desde cero(crear la ventana, implementar la gestión de ratón, etc). En el caso de windows las aplicaciones (el bloc de notas o la calculadora, por mencionar algunas) se basan en lo que el entorno les ofrece y se apoyan en ello para existir y cumplir con su objetivo. en el caso de los portlets, estos se basan en lo que el entorno de portales, en nuestro caso liferay implementa para no tener que desarrollar aplicativos desde cero. La gestión de permisos, el Look &feel, al acceso a bases de datos y más cosas son precisamente las que resuelve el entorno permitiendonos trabajar a un nivel más alto de abstracción para resolver el problema que tengamos entre manos.

¿Cual es el problema? Primero, la curva de aprendizaje. Para trabajar con portlets tendremos que aprender (aunque siempre es posible aprender sobre la marcha) Struts (MVC), Tiles y Hibernate o algo parecido como mínimo, sin contar con que debemos tener un control cuando menos medio en Linux (aunque se puede tambien hacer sobre windows u otro S.O.) , Javascript y por supuesto JSP.

Si el problema a resolver el simple es mejor trabajar en algo como PHP o JSP directamente, ahora si el trabajo a desarrollar implica la creación de características como desarrollos parametrizables, Accesos de tipo Single Sing-on (el típico login único para todo el sistema), soporte multilingüe o cosas parecidad quizas sea más fácil en el mediano plazo trabajar con un entorno de este tipo.

Como contraparte a este tipo de tecnología tenemos a Sharepoint de Microsoft, que a día de hoy está en su versión 2007. Es el sabor Microsoft para básicamente lo mismo.

La buena noticia es que existen muchos portlets que están listos para usar y que con algo de configuración básica (directamente en el entorno de producción) están preparados para funcionar a pleno rendimiento.

Otro aspecto a tener en cuenta es la solidez de la plataforma, un entorno Liferay se basa en POJO's (Plain Old Java Objects, que en resumidas cuentas son clases java que no heredan de otras) o bien en EJB (Enterprise Java Beans... desde mi punto de vista, algo más dificiles de controlar y que basicamente cumplen la misma funcion solo que ofrecen un mejor desempeño, cosa que aún no he podido comprobar)

El sistema operativo que puedo sugerir utilizar es Linux, personalmente he trabajado con instalaciones en Debian (seguridad un poco paranoica) y en Fedora (algo más sencillo). Con todo nadie nos va a quitar el trabajo de optimización de parámetros de la máquina virtual y del conteneror de servlets (Tomcat por lo general)

Como framework de desarrollo Liferay tiene el potencial de que lo que desarrollemos en el será usable en otros entornos que cumplan con el estándar (al menos eso es lo que dice el fabricante). Por otro lado tenemos que tener en cuenta que una vez controlada la tecnología en la que se basa, las aplicaciones desarrolladas tendrán una potencia envidiable, flexibles y con gran capacidad de escalabilidad.

En el sitio del fabricante existe documentación más que suficiente para empezar con él y como está basado en tecnología Open Source tendremos acceso a toda la documentación necesaria tanto del sistema como de las tecnologías en las que se basa.

K.A.G.S. junio-2007