Desarrollo de aplicaciones sociales con Lotus Domino

Una de las aplicaciones más longevas, que ha estado y está presente a nivel corporativo es Lotus Domino. Su primera versión, que supuso una revolución tecnológica, data de 1989. Fue pionera en el campo del software de colaboración y a pesar de su edad sigue gozando de una estupenda salud.

Lotus Domino es, en cierta manera, un gran desconocido en la pequeña y mediana empresa, debido fundamentalmente a la estrategia de IBM de no hacer publicidad de las sus productos. Es conocido fundamentalmente como plataforma de correo electrónico, aunque dicha funcionalidad supone tan sólo un pequeño porcentaje de sus posibilidades. Su verdadero potencial puede explotarse cuando es utilizado como plataforma de aplicaciones.

Como gestor de bases de datos, Lotus Domino, hace uso de un almacenamiento no relacional. Esto simplifica enormemente el desarrollo de aplicaciones colaborativas, en las que el peso de los flujos de información, los datos no estructurados y la granularidad en la seguridad son aspectos críticos a la hora de implementar aplicativos. Para ello Lotus Domino proporciona una plataforma de correo corporativo, un sistema de bases de datos flexible y un mecanismo de seguridad integrado.



La singularidad de Lotus Domino ha sido y es la compatibilidad de los nuevos servidores con aplicaciones desarrolladas en versiones anteriores. Este aspecto, que desde el punto de vista de un departamento de sistemas, es muy valorable ha perjudicado ostensiblemente al producto. En muchos despliegues, en los que se ha actualizado la plataforma a últimas versiones , continúan haciendo uso de aplicaciones con interfaces de usuario diseñados hace 10 años con el consiguiente menoscabo del potencial de la plataforma.

Un nuevo framework de desarrollo: XPages

A partir de la versión 8.5 ( aparecida en 2009 ) el producto incorporó un nuevo framework de desarrollo, XPages. Este framework, basado en JSF, permite el desarrollo visual de aplicaciones, con la misma "rapidez" que permitía el framework clásico de desarrollo en Lotus Domino, con la particularidad de que las aplicaciones pueden ejecutarse tanto en navegador como en cliente rico Lotus Notes.



El desarrollo de aplicaciones es ahora un proceso visual "drag-and-drop", en el que arrastrando controles, tanto estandar, como personalizados a nuestra XPage ( elemento de diseño que se visualiza en el navegador convertido en HTML ) y definiendo las propiedades correspondientes se crea el interfaz de usuario. En dicha creación XPages utiliza CSS, HTML5 y el framework javascript Dojo, que proporciona, entre otras cosas, la funcionalidad AJAX incorporada en los controles visuales. El lenguaje de desarrollo en entorno XPages es SSJS (Server Side JavaScript), una versión de javascript personalizada por IBM que permite instanciar Java directamente desde el lenguaje de script. Java pasa a ser una pieza fundamental en el desarrollo de aplicaciones avanzadas en entorno XPages.

En relación a la compatibilidad con lógica de negocio existente en aplicaciones antiguas, XPages permite al invocación de LotusScript o Java incluidos en agentes, con una filosofía similar a la invocación de agentes existente anteriormente.

Todo este nuevo framework de desarrollo está cimentado en el nuevo IDE, Domino Designer, basado en Eclipse y que incorpora progresivamente las herramientas del mundo Java en el mundo Domino. De hecho, funcionalidades como gestión de versiones del software con Subversion u otros gestores están disponibles desde la versión 8.5.3.

Evolución del entorno de desarrollo

El nuevo entorno de desarrollo permite desarrollar aplicaciones que soportan los estándares web de manera rápida y sencilla. Sin embargo el aspecto más interesante de este nuevo framework es la extensibilidad, que permite el desarrollo de controles adicionales que amplian las herramientas de desarrollo de manera nativa.

El proceso de extensión del producto está basado en un API Java que nos permite diseñar nuevos controles, su comportamiento, funcionalidades y aspecto y un mecanismo de despliegue común en el IDE y en el servidor, dado que ambos implementan una arquitectura OSGI.

Esta extensibilidad la está explotando IBM con su XPages Extension Library, una librería de controles desarrollada como un proyecto de software libre gestionado por IBM, de la cuál publican versiones quincenales. Dicho enfoque permite que los desarrolladores externos puedan probar las nuevas funcionalidades de manera "ágil" y sirvan de banco de pruebas y generación de requisitos adicionales de la librería.

Esta estrategia "ágil" de desarrollo de la librería hace que el software no está soportado en entornos de producción por IBM, lo que puede ser un handicap para el despliegue de dichas librería a nivel corporativo. Para resolverlo, IBM publica versiones soportadas de la libería en forma de Upgrade Packs, que se prevé aparezcan trimestrálmente y que incorporan las nuevas funcionalidades.

Entre los controles que proporciona la librería de extensiones podemos encontrar los siguientes:
  • Controles móviles: Permiten desarrollar aplicaciones web para dispositivos móviles. Basada en Dojo 1.6.1 y con soporte para iPhone, Android y Blackberry.
  • Controles relacionales: Permiten acceder de manera nativa a bases de datos relacionales desde XPages. Tan sólo es necesario diponer del driver JDBC para interactuar con el entorno relacional y ejecutar querys SQL. Parametrizable e integrada con el resto de controles nativos XPages.
  • Controles de interfaz de usuario OneUI: Permiten hacer uso del framework CSS utilizado por IBM, OneUI, en todos sus productos web.
  • Controles mejorados para el acceso a la información nativa Domino
  • Controles para la integración con redes sociales o servicios SAAS: Facebook, Twitter, Dropbox, LotusLive, Lotus Connections.
  • Controles REST: Para publicación de aplicaciones Domino como servicios REST o para acceso a servicios REST externos.


Conclusión

Con la aparición de la versión 8.5.3 de Lotus Domino, XPages es una tecnología probada y la opción prioritaria para el desarrollo de aplicaciones en este entorno. Con ella, Lotus Domino, proporciona actualmente un entorno de desarrollo moderno y dinámico para la creación de aplicaciones de negocio basadas en estándares web, en una plataforma de probada solvencia y con las extensiones necesarias para afrontar los retos tecnológicos futuros, bien sea haciendo uso de los controles desarrollados por IBM , o creando nuestras propias funcionalidades.

No hay comentarios:

Publicar un comentario en la entrada

Se publicarán todos aquellos comentarios que sean respetuosos con personas e instituciones.

Gracias por vuestra participación.

Concurso Ncora