AppDevPack, Producto Mínimo Viable

Con la versión 1.0.4 lanzada en Abril, en mi opinión, el módulo para HCL Domino AppDevPack contiene un conjunto de funcionalidades mínimo para considerarse como una opción a tener en cuenta a la hora de encarar un nuevo desarrollo web basado en Domino o modernizar una aplicación mas allá del cliente HCL Notes.

Para los que no lo conozcan, AppDevPack es un módulo que podemos añadir a nuesto servidor HCL Domino (en forma de “server task“) que, mediante un API definido, nos permite conectar nuestras bases de datos Domino con un servidor Node.js.

Las ventajas que esta conexión nos proporciona son múltiples. Podemos por ejemplo, utilizar este API para definir puntos de acceso y/o actualización a los datos almacenados en nuestro servidor HCL Domino, utilizando como origen mútiples nsf (buscando algo como los “JOIN” en las Bases de Datos relacionales) y consumirlos con frameworks modernos como react, angular o vue, o incluso la última versión de Dojo, mucho mas actualizada de la que viene desplegada con XPages.

El runtime de Node.js está disponible para más arquitecturas; en este sentido, AppDevPack podría utilizarse para interconectar un servidor HCL Domino con un dispositivo con arquitectura ARM y utilizar Domino como backend para, por ejemplo, dispositivos IoT.

El acceso a través de Node.js nos da la posibilidad de tener una separación tanto lógica como física. Lógica, al poder utilizar Domino como almacén de datos o backend y la parte NodeJs como controlador y frontend. Física, en la medida en que no es necesario que el servidor Node.js esté ubicado en la misma máquina o incluso en el mismo dominio que nuestro servidor HCL Domino.

A diferencia de XPages, podemos utilizar AppDevPack sin estar “obligados“ a utilizar ningún middleware ni framework en especial (Con Xpages, el uso de JSF y Dojo es una opción por defecto aunque existen formas de “deshabilitarlos”).

AppDevPack refuerza a Domino como una elección más en el mercado de persistencia de datos tras un servidor Node.js con las ventajas que todos conocemos como son la replicación o seguridad a nivel campo-documento-rol-acl aunque con los inconvenientes de la licencia propietaria frente a otras de código libre como MongoDb (una de las más utilizadas), Apache Cassandra o Redis.

Otra posibilidad que nos facilita AppDevPack es la facilidad en la construcción de aplicaciones PWA. Con este tipo de aplicaciones, podríamos tener acceso a nuestros datos con una apariencia de app nativa manteniendo un único código, y con más control de la solución final (aunque con bastante mas esfuerzo) que con HCL Nomad. Es posible utilizar PWA en Xpages o desarrolo clásico de Notes, pero la flexibilidad que ofrece AppDevPack facilita mucho su desarrollo.

La última versión de AppDevPack (1.0.4, a la hora de escriir esta entrada) permite el acceso y manipulación de campos de tipo richtext y la posibilidad de ejecutar agentes. Esto último es un gran avance en el caso de la modernización, pues nos va a permitir el poder reutilizar nuestro código lotusscript en la medida en que sea un código aislado y sin uso de clases UI como NotesUIWorkspace o NotesUIDocument.

AppDevPack viene con el módulo “IAM“, un proveedor de acceso que mediante el conocido protocolo OAuth 2.0, permite la autenticación del usuario en el servidor HCL Domino y así poder aprovechar su seguridad en todos sus niveles. Quizás la instalación sea un poco farragosa pero cuenta con la ventaja de ser bastante configurable; desde varios parámetros de seguridad hasta el propio formulario de logueo.

Estructura del módulo AppDevPack

A Diferencia de Nomad o Volt, que se integran directamente en el servidor, para el uso del AppDevPack es necesario instalar el runtime de Node.js aparte, con su configuración y administración adicionales. Ciertamente esto es un punto que a muchos clientes finales les obstaculiza o directamente les impide adoptar esta tecnología.

Desconozco la complejidad técnica que supone integrar el runtime NodeJs (O un runtime Javascript similar) dentro de un servidor Domino. En mi opinión, si HCL consigue integrarlo y facilita su configuración, sería el paso definitivo para la adaptación masiva de esta tecnología y empezaríamos a ver aplicaciones web Domino con un look & feel muy atractivo. Quien sabe, también parece técnicamente muy difícil la ejecución del cliente notes como PWA en un navegador web, y pronto lo veremos con nuestros propios ojos.

Próximas novedades en DQL y Domino: Posibilidad de Joins y ... ¡Transacciones! HCL Domino Volt: Desarrollo rápido de aplicaciones web en Domino

Comentarios

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×