En las últimas dos semanas he participado en un evento comunitario, un verdadero hackathon organizado por Citrix.

El evento ya se había celebrado en Santa Clara en los Estados Unidos en octubre, y estaba programado para marzo en Praga en Europa. El advenimiento del covid-19 ha cambiado un poco las cosas y Citrix ha transformado el evento en un hackathon digital, proporcionando todas las herramientas para probar la nueva tecnología Digital Workspace en la nube.

¿Programadores o ingenieros de sistemas?

Lo interesante de este hackathon son las personas invitadas. Como puede imaginar, el objetivo de un hackathon está formado por programadores, mientras que, en general, aquellos que se acercan al mundo de Citrix, al menos hasta hoy, son figuras como IT Managers o CIOs. En este caso, el intento de reunir los dos mundos es un proceso encomiable de Citrix, que está tratando de interceptar la tendencia del desarrollo de la infraestructura a nivel de TI. No hay duda de que hoy el programador clásico se está convirtiendo en devops, que por lo tanto no solo puede crear aplicaciones, sino también implementarlas, administrarlas y monitorear su uso. Sin embargo, en el lado del ingeniero de sistemas, se requieren cada vez más habilidades relacionadas con la gestión de sistemas como dockers, kubernetes y todas aquellas tecnologías que son necesarias para la gestión de microservicios. Será un desafío interesante presentar a los ITManagers en un campo hasta ahora en manos de programadores.

Digital Workspace, Microapps y comunicación con servicios de terceros

El hackathon generalmente se centró en crear integraciones con el Digital Workspace llamado Microapps. Microapps es la solución de Citrix para integrar servicios de terceros dentro del Digital Workspace que cada empresa utiliza para hacer su trabajo. Por lo tanto, es un sistema que te permite crear acciones hacia servicios externos y recibir notificaciones de ellos.

La comunicación entre los diversos servicios se basa esencialmente en los estándares de comunicación web, por lo tanto, en la API REST, que prefiere el formato json para el intercambio de datos. La mayoría de las aplicaciones modernas ya ofrecen la posibilidad de interactuar con ellas a través de las API y el estándar actual es utilizar la propia API REST. Los API REST deben su éxito a la simplicidad con la que pueden definirse y luego utilizarse dentro de sistemas complejos.

Servicios de terceros

Sin embargo, dentro de las empresas, no todos los sistemas están diseñados para integrarse fácilmente y no todos proporcionan API (y del tipo REST) listas para ser utilizadas. Por lo tanto, surge la necesidad de crear una capa alrededor de estos sistemas para que puedan comunicarse con los servicios de Citrix. Hasta la fecha, las tecnologías que le permiten crear un servicio web que habla en API REST sobre una base de datos son múltiples, incluyendo: eve, restsql,… hasta, para sistemas más antiguos, tecnologías de tipo cgi, capaz de interactuar directamente con bibliotecas escritas en C, C++.

Notificaciones, páginas y acciones

El sistema se basa en la posibilidad de crear widgets que te permiten realizar acciones o recibir notificaciones. Una notificación no es más que un pequeño cuadro en el que la información que se propone al usuario es totalmente personalizable. Un ejemplo de notificación podría ser la llegada de una solicitud de un nuevo cliente potencial a través del sitio web o una nueva solicitud de vacaciones insertada en el software de administración. Al hacer clic en una notificación, será posible terminar en otro widget llamado página, donde el usuario puede ver los detalles de la notificación anterior o realizar una acción, como aprobar la solicitud de vacaciones.

Idea

Para participar activamente en un hackathon, debes tener una idea y tratar de implementarla, aprovechando todos los recursos disponibles, ya sean tecnológicos, de documentación o expertos listos para ayudar. Pensé en imaginar cómo un desarrollador de mi equipo podría beneficiarse de tener un tablero con las notificaciones y las acciones más importantes que se deben tomar durante el día. Así que tuve que planificar cómo administrar las notificaciones de asignación de tareas, cómo construir directamente un producto, cómo recibir notificaciones de código creado por otros miembros del grupo de trabajo.

En el próximo episodio entraré en más detalles sobre los servicios que logré integrar en el Digital Workspace.