No se puede decir que las soluciones low-code/no-code (LCNC) hayan irrumpido por sorpresa en el ámbito empresarial. Más bien son fruto de la evolución progresiva de herramientas y tecnologías que paulatinamente han ido liberando al programador de la tarea de codificar ciertas secciones de sus aplicaciones. Veamos dos alternativas de LCNC que se pueden desplegar en SAP BTP.
Aunque las soluciones de tipo low-code/no-code (LCNC) prometen simplificar la tarea de los desarrolladores y del personal de TI eliminando la necesidad de conocimientos de programación, lo cierto es que, sin estos conocimientos, siquiera básicos, resulta difícil generar aplicaciones completas.
De hecho, para llegar al punto de poder desarrollar aplicaciones “con cero conocimientos de programación” —nótese el entrecomillado—, nos tendremos que posicionar en soluciones de un nivel superior, las inspiradas por el concepto de citizen developer, que defiende suprimir la necesidad de conocimientos especializados de programación para poner la creación de sistemas y aplicaciones al alcance de todo el mundo.
En primer lugar, vamos a centrarnos en las soluciones de tipo LCNC, en concreto en dos de ellas, que se pueden desplegar en SAP Business Technology Platform (BTP): Workflow Management (WM) e Intelligent Robotic Process Automation (iRPA). No vamos a entrar en los detalles técnicos ni en las capacidades que ofrecen ambas soluciones, tan solo vamos a facilitar una breve definición de cada una antes de comentar algunos casos de aplicación que se han desarrollado con ellas.
Workflow Management
Workflow Management es una solución que permite implementar circuitos de workflow reduciendo el código incluso a cero. Para ello se proporciona un entorno de desarrollo cloud común en SAP BTP —SAP Business Application Studio—, que cuenta con múltiples herramientas incrustadas. A través de ellas será posible crear todos los artefactos que conforman un workflow (creación de los flujos, tareas, decisiones, bifurcaciones, etc.) de un modo muy sencillo (drag & drop).
Workflow Management permite implementar circuitos de workflow reduciendo el código incluso a cero
Incluso es posible crear la interfaz de usuario de forma gráfica —seguimos sin codificar—. Tan solo necesitaremos conocer un subconjunto de instrucciones de JavaScript (JS) y HTML para poder llevar a cabo actividades muy concretas.
Caso de uso: circuito de aprobación de inversiones CAPEX. Los circuitos de aprobación son un ejemplo claro de este tipo de flujos de trabajo. En este caso en concreto, la empresa quería un workflow en el que, tras la creación de la solicitud de inversión, se iniciase un proceso con tres niveles de aprobación que, una vez completado, diese como resultado la solicitud por aprobada.
Había varios requerimientos adicionales que implicaban el envío de mails para avisar a los distintos responsables de que tenían tareas pendientes en su inbox, la visualización completa de los datos de la solicitud y el acceso directo a la tarea en el correo electrónico, o la selección de los responsables mediante un desplegable en la propia solicitud.
Todo el modelado del workflow —con sus distintas opciones de aprobación y rechazo, edición, deadlines y envíos de mails— se realizó sin escribir una sola línea de código (no-code). Solo se necesitó incluir JavaScript para el tratamiento de cadenas cuando se pidió un mecanismo para que los distintos usuarios tuvieran un campo observaciones que funcionase como un chat dentro de la solicitud (Stack OverFlow is your friend). Posteriormente se incorporó un cuadro de mandos (Visibility Scenario) con información sobre el estado de los workflows y las solicitudes de inversión, que también se desarrolló sin codificar, al igual que su publicación en Launchpad específicos de roles.
Programadores. Completada esta implantación, hay que concluir que las habilidades de programación no son estrictamente necesarias. Aunque posiblemente se echen en falta en más de una ocasión, los conocimientos necesarios están bien delimitados y un profesional que no sea desarrollador los puede adquirir en relativamente poco tiempo.
Intelligent robotic process automation (iRPA)
iRPA es una solución SAP que permite automatizar procesos de negocio repetitivos y basados en reglas de negocio. Estas automatizaciones se gestionan a través de un entorno de trabajo denominado Cloud Factory, que posee todas las funcionalidades necesarias para desarrollar, definir y monitorizar los procesos de automatización.
SAP iRPA permite automatizar procesos de negocio repetitivos y basados en reglas de negocio
El entorno de desarrollo embebido en Cloud Factory se denomina Cloud Studio y permite crear el flujo del proceso de la automatización en un entorno con una interfaz totalmente visual, que reduce la codificación a casi cero. Solo habrá que usar la actividad destinada para código JavaScript (JS) si hay que acometer una tarea específica o de mayor complejidad.
Caso de uso: gestión de reclamaciones. Los administrativos de la empresa gestionaban manualmente las reclamaciones de sus grandes clientes (almacenes de distribución) partiendo de una serie de correos que analizaban minuciosamente y daban de alta en SAP como reclamación. Esta tarea repetitiva exigía un gran esfuerzo y generaba retrasos, errores y desmotivación.
La solución fue usar SAP iRPA para automatizar por completo la creación de la reclamación. El proceso se iniciaba con la recepción de un correo —muy extenso, pero con una estructura común— que incluía varias reclamaciones de diferente tipo. El robot creado con iRPA es capaz de analizar el correo, parsearlo y estructurar su contenido en un Excel, para finalmente registrar la reclamación en SAP. Todo ello con un control robusto del proceso que se consigue mediante el registro de estados y la gestión de excepciones.
Los beneficios de este tipo de soluciones son bien conocidos: liberación de recursos de tareas ingratas y poco motivadoras, disminución de los errores y mejora en los tiempos de respuesta.
Programadores. Gracias a todos los contenedores de acciones predefinidas y a la intuitiva interfaz de Cloud Studio, una persona sin prácticamente conocimientos de programación podrá acometer un proyecto de iRPA. En cualquier caso, es recomendable tener unas capacidades mínimas para poder usar todos los elementos de programación, como bucles, funciones y condicionantes.
Citizen developer
Existen soluciones que permiten generar aplicaciones empresariales relegando la creación de código casi a la marginalidad. Estas soluciones se encuentran en un nivel inferior al que ocupan aquellas que utilizará el antes mencionado citizen developer (CD).
Este concepto define a un usuario que —ahora sí— podrá carecer por completo de capacidades de programación. Su trabajo podría ser algo así como utilizar distintas piezas o componentes de software que ya existan y combinarlos para generar nuevas aplicaciones, evitando completamente la programación.
SAP ha liberado el denominado Process Automation (PA), una solución dirigida al citizen developer
Con este modelo en mente, SAP ha liberado, en su SAP BTP, el denominado Process Automation (PA), una solución dirigida precisamente al citizen developer que proporciona un entorno en el cual poder incorporar flujos de trabajo del Workflow Management y automatizaciones del iRPA, para combinarlos de diversas formas y conseguir distintas aplicaciones.
Como vemos, los modelos de desarrollo de software están en continuo progreso. Las soluciones LCNC actuales presentan opciones muy interesantes para aquellos casos donde se quiera minimizar la codificación, pero, además, también habrá que prestar atención a la evolución del citizen developer y ver qué espacio consigue en la generación de nuevas aplicaciones.