
[19/05/2023] Crear la infraestructura digital que hace funcionar el planeta es un trabajo duro. Hay una razón por la que a los programadores se les paga tan bien, y es la misma razón por la que todo el mundo está tan fascinado por las soluciones de "código bajo" (low code) o incluso "sin código" (no code). El ahorro acumulado en tiempo y dinero puede ser astronómico.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
La buena noticia es que la tendencia es real. Los programadores llevan décadas creando nuevas herramientas, como compiladores y depuradores, que simplifican su trabajo. Los informáticos han empezado a desarrollar herramientas que nos ahorrarán a todos muchas horas de interminable tedio. La última hornada de herramientas de bajo o nulo código puede ser la mejor de la historia.
Los sistemas más recientes nos permiten acceder a lo mejor de la inteligencia artificial en una interfaz de usuario superior. Los desarrolladores ya no necesitan escribir sin parar en editores de texto; pueden encadenar bonitos íconos y dejar los detalles a la maquinaria que hay detrás de la cortina.
Las herramientas de código bajo y sin código también están introduciendo la inteligencia artificial en los conductos de datos de toda la empresa. Las empresas que no pueden permitirse contratar a sus propios expertos en IA pueden utilizar herramientas de código bajo que tienen la IA integrada bajo el capó.
La noticia no tan buena es que el sueño de resolver todas nuestras tareas informáticas con un solo clic es improbable. El poder de estas herramientas para ahorrar tiempo es muy real, pero a menudo requieren la orientación de seres humanos inteligentes. Ninguna de ellas transformará por arte de magia a alguien que suspendió informática en un héroe de las TI. Lo que sí pueden hacer es agilizar y facilitar el trabajo a los que sabemos programar. Realmente ayuda tener una idea de lo que está pasando bajo el capó.
Echemos un vistazo a las siete principales áreas tecnológicas en las que las soluciones de código bajo y sin código están cambiando la cara de las TI.
Automatización robótica de procesos
El nombre no encaja realmente porque no hay máquinas antropomórficas agitando los brazos diciendo: "¡Peligro Will Robinson!". Sin embargo, de alguna manera se ha quedado. Existen fácilmente varias docenas de plataformas diseñadas para simplificar las tareas que nacen del papel y que atormentan a los departamentos de contabilidad y cumplimiento. Los bancos utilizan estas herramientas para abrir cuentas. Los almacenes las utilizan para los conocimientos de embarque.
Las herramientas de visión artificial para el reconocimiento óptico de caracteres son esenciales para la canalización de datos. Estas rutinas de IA pueden escudriñar identificaciones emitidas por el gobierno, o localizar el número de factura en una factura.
Muchas empresas también adoptan la automatización robótica de procesos (RPA, por sus siglas en inglés) como forma de modernizar su antigua infraestructura. Las mismas personas que pueden decirle dónde enviar cada formulario para su aprobación, pueden utilizar los editores de código bajo para crear canalizaciones que muevan formularios digitales entre oficinas, fábricas y almacenes. Las capas de código bajo pueden interactuar a la perfección con muchos de los protocolos y formatos de archivo utilizados por los sistemas heredados. Hacen gran parte del trabajo de traducción y reformateo con una configuración mínima.
Algunos de los principales sistemas RPA son UIPath, SAP, Appian y Automation Anywhere. El área también se está expandiendo rápidamente a medida que algunas empresas se fusionan y otras integran funciones de RPA en plataformas de automatización ya existentes. Power Platform de Microsoft, por ejemplo, integra RPA con tareas similares como la creación de informes de inteligencia empresarial.
Automatización de procesos empresariales
Otro término común utilizado para describir los sistemas de código bajo es automatización de procesos de negocio, o BPA (por sus siglas en inglés). Otro término es "gestión de procesos empresariales" o BPM (por sus siglas en inglés). No hay mucha diferencia entre las aplicaciones que se engloban bajo este epígrafe y los sistemas definidos como automatización robótica de procesos. Funcionalmente, RPA, BPA y BPM enlazan varias herramientas con muy poca codificación. Hay mucho solapamiento entre ellas.
Algunas de las herramientas más conocidas son Zapier, Creatio, KissFlow y SnapLogic. Algunas de estas herramientas ofrecen un enfoque particular; AirSlate, por ejemplo, quiere ayudar con el flujo de documentos a través de la empresa. Ofrece herramientas para automatizar la creación de documentos, el control de versiones y la autorización.
Herramientas de IA de código bajo y sin código
Mientras muchas empresas integran algoritmos de inteligencia artificial en sus propios productos de bajo código, otras se dedican a vender herramientas de IA. La teoría es que los desarrolladores utilizarán la IA como un asistente que almuerza lotes de código. Un ejemplo bien conocido es GitHub, que lanzó GitHub Copilot después de entrenarlo con las herramientas de OpenAI en los miles de millones de líneas de código abierto almacenadas en sus propios servidores. Otros recurren directamente a OpenAI, cuyas API ofrecen acceso directo a modelos como code-davinci-002 y code-cushman-001, de los que se dice que son bastante capaces con muchos de los lenguajes más populares, como C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL y Shell scripting. Algunas versiones de código abierto son GPT Code Clippy y SecondMate.
Mientras que las herramientas más destacadas se esfuerzan por escribir grandes bloques de código que aborden toda una tarea de programación, otras son menos ambiciosas. Captain Stack, por ejemplo, utiliza discretamente un motor de búsqueda para localizar buenas respuestas en foros como Stack Overflow, y luego las modifica en sugerencias de código para su editor. Proyectos similares son Clara Copilot, YouCompleteMe y Kite.
Las opiniones sobre la calidad de las contribuciones de la IA al código varían. La mayoría se asombra de que las máquinas sean capaces de crear soluciones sólidas que se acercan exactamente a lo que se necesita. Aun así, los errores de las máquinas requieren atención humana.
Superaplicaciones
Algunos desarrolladores están automatizando sus flujos de trabajo aprovechando las oportunidades de integración que aparecen en lo que antes se consideraban aplicaciones básicas. AirTable, por ejemplo, es una combinación de una base de datos y una potente interfaz similar a una hoja de cálculo que facilita relativamente a los usuarios de hojas de cálculo empezar a crear software más sofisticado.
Muchas de las principales plataformas están integrando poco a poco sus herramientas para hacer lo mismo. Empresas como SAP, Amazon, Microsoft, Salesforce y Google está añadiendo tantos vínculos entre sus productos que resulta bastante sencillo crear flujos de trabajo elaborados con un código mínimo. Por ejemplo, los usuarios de Amazon Web Service pueden escribir funciones Lambda que unen muchos de sus productos. Las herramientas de back-end de Google suelen estar estrechamente integradas con sus productos de oficina, lo que da lugar a hojas de cálculo que pueden responder a otro software o iniciar eventos.
Aplicaciones web
Muchas de las soluciones de código bajo o sin código más conocidas son utilizadas por quienes crean aplicaciones web. Las herramientas para editar páginas web y colocar imágenes suelen incluir funciones para retocar el CSS que define el aspecto. También suelen permitir añadir funciones básicas de JavaScript para tareas comunes como la venta de mercancías o la recogida de formularios.
Empresas como SquareSpace, Wix, Strikingly, Webflow, SITE123, WebNode, Web.com y Weebly son sólo algunas de las principales opciones para crear sitios web básicos con un poco de automatización. También hay buenas soluciones de código abierto como Drupal, WordPress y Ghost, que además cuentan con el apoyo de empresas que ofrecen servicios de alojamiento y personalización. Algunas se centran en nichos específicos, como Pixpa, que crea sitios de portafolio para artistas.
Empresas como Shopify, BigCommerce, Opencart, Magento de Adobe y Drupal Commerce son constructores de sitios especializados en tiendas online. Muchos usuarios son capaces de crear tiendas elaboradas con bases de datos profundas sin código. Aquellos que requieren funcionalidad adicional a menudo pueden escribir sólo unas pocas líneas e incorporarlas al flujo web.
Algunos también utilizan estas herramientas para crear aplicaciones móviles y de escritorio. Frameworks como Electron, NW.js, Flutter, Neutralino y ReactNative son conjuntos de herramientas que convierten HTML, CSS y JavaScript en algo mucho más parecido a una aplicación nativa. A menudo combinan un navegador de código abierto como Chromium con el código para crear algo que se ejecuta y funciona como cualquier aplicación móvil o de escritorio. Algunos consideran que los resultados pueden ser poco manejables y un poco más lentos que la codificación manual en C++, pero siguen siendo populares porque todo lo que se necesita para utilizar uno es estar familiarizado con la creación de aplicaciones web.
Almacenamiento de datos
Muchas partes de la gestión de datos implican la activación de eventos, el paso de mensajes, la sincronización de flujos de datos y la creación de cuadros de mando o informes. Todas estas tareas pueden ser gestionadas por herramientas. Las propias herramientas se están volviendo lo suficientemente sofisticadas como para requerir poca o ninguna experiencia en codificación.
Antes era complicado instalar y ajustar el rendimiento de las bases de datos, pero ahora empresas como Oracle pueden ponerles fácilmente la palabra autónomo. Empresas como Amazon, IBM, MongoDB, Google, PlanetScale y ExoDB ofrecen servicios alojados que gestionan automáticamente la instalación y el ajuste.
Algunas empresas están creando lagos de datos y almacenes de datos alojados que pueden integrarse con fuentes de datos a través de una pila. Vienen con funciones predefinidas que ingieren los datos, responden a consultas y generan informes, todo ello con muy poca codificación. Algunas de las principales opciones son Snowflake, Databricks, Cloudera, Panopy y Dremio.
El trabajo de construir esta infraestructura es crear grandes sistemas que a menudo se clasifican con términos más generales como plataformas de inteligencia empresarial. La plataforma Power de Microsoft, la infraestructura de inteligencia empresarial de SAS, y los productos Tibco y Tableau son sólo algunos ejemplos.
Infraestructura general
Muchas de las herramientas mencionadas hasta ahora se crearon para un uso concreto, pero no todos los trabajos entran en ese nicho. Para el resto de la carga de trabajo, existen buenas opciones de código bajo para abordar tareas generales. Algunas de estas herramientas están pensadas directamente para desarrolladores y usuarios expertos, y suelen combinar un editor de programación visual con una colección de rutinas back-end para acceder a bases de datos y servidores remotos con formatos estándar como JSON o XML.
Algunas de las versiones más populares son SAP Build Apps (antes AppGyver), Make (antes Integromat), Node-RED (antes de IBM), Clutch.io, Mendix, Quixy y AppSheet de Google. Lansa, por su parte, es una solución más especializada que incluye funciones para simplificar el trabajo de modernización del código antiguo de IBM.
Los editores visuales se basan en una combinación de arrastrar y soltar con algunos clics para rellenar formularios predefinidos. Estos productos se presentan como "de bajo código" porque rara vez es necesario editar archivos de texto y preocuparse por la idiosincrasia de los analizadores sintácticos, que exigen una puntuación adecuada. Aun así, gran parte del pensamiento de alto nivel es familiar. Como creador, debe pensar en la estructura de los datos y en cómo se mueven, aunque la plataforma se encargue de muchas de las tareas básicas.
Estos productos también suelen incluir módulos predesarrollados para conectarse a API comunes mediante protocolos versátiles. Si una de las herramientas más específicas de las que he hablado no se adapta al trabajo, las soluciones más generales suelen ser la mejor opción.
Basado en el artículo de Peter Wayner (InfoWorld) y editado por CIO Perú