Rompiendo el encadenamiento de proveedores de bajo código
Aprende a lidiar con el bloqueo de proveedores en plataformas de bajo código.
Iván Alfonso, Aaron Conrardy, Jordi Cabot
― 10 minilectura
Tabla de contenidos
- El Problema del Bloqueo de Proveedores
- ¿Qué es la Interoperabilidad?
- Estado Actual de las Plataformas de Bajo Código
- Analizando la Interoperabilidad
- Nuestro Enfoque a la Interoperabilidad
- Método de Exportación Formal
- Método de Exportación Alternativa
- Importación de Modelos
- Método de Importación Formal
- Método de Importación Alternativa
- Desafíos por Delante
- Construyendo un Modelo de Intercambio Estándar
- Enfrentando Limitaciones de Importación/Exportación
- Migración Incremental
- Métodos Basados en IA para Importación/Exportación
- El Camino por Delante
- Fuente original
- Enlaces de referencia
Las plataformas de bajo código son herramientas que permiten a los usuarios crear aplicaciones con poca programación manual. Ofrecen una forma visual de construir y modificar software, lo que puede acelerar el desarrollo y hacerlo más accesible para los no programadores. Sin embargo, a menudo estas plataformas son difíciles de combinar entre sí, lo que genera una experiencia frustrante para los usuarios.
El Problema del Bloqueo de Proveedores
Uno de los problemas principales que enfrenta la gente al usar plataformas de bajo código es el bloqueo de proveedores. Esto significa que una vez que has construido tu aplicación en una plataforma específica, moverla a otra se siente como tratar de salir de una mala relación: tienes que empezar de nuevo. Los usuarios pueden sentirse atrapados porque diferentes plataformas no se comunican o comparten información de manera fluida. En términos simples, mover tu proyecto a otra plataforma es como tratar de cambiar tu peinado en un salón que solo sabe hacer flequillos.
Interoperabilidad?
¿Qué es laLa interoperabilidad se refiere a la capacidad de diferentes plataformas para trabajar juntas, incluso si tienen diferentes lenguajes o reglas. Es como intentar que amigos de diferentes culturas se comuniquen en una fiesta. Si solo hablan sus propios idiomas sin un entendimiento compartido, les costará llevarse bien. Un buen nivel de interoperabilidad significa que diferentes plataformas pueden entenderse y ayudar a los usuarios a migrar sus proyectos más fácilmente.
Estado Actual de las Plataformas de Bajo Código
El mercado de bajo código tiene varias plataformas populares, como Mendix, OutSystems y Microsoft PowerApps. Estas plataformas son conocidas por sus robustas capacidades, pero a menudo son criticadas por sus opciones limitadas para mover proyectos de una a otra. Es como tener la mejor camioneta de comida en la ciudad, pero solo sirven un tipo de taco. Mientras que a los clientes les encanta el taco, pueden querer un burrito de otro camión algún día, pero están atrapados en el puesto de tacos.
Estas plataformas tienden a ofrecer características de importación y exportación limitadas, lo que puede ser un gran obstáculo. Aunque pueden usar formatos técnicos similares, los esquemas y lenguajes subyacentes difieren lo suficiente para crear dificultades en la migración de datos.
Analizando la Interoperabilidad
Para entender la interoperabilidad de las plataformas de bajo código, podemos ver qué opciones están disponibles para importar y exportar modelos. Piénsalo como hacer un inventario en una cocina para ver qué ingredientes están disponibles para cocinar un nuevo platillo.
Cuando las plataformas solo ofrecen funcionalidad básica, muchos usuarios se encuentran con recetas incompletas. Por ejemplo, algunas plataformas pueden permitir exportar una estructura de datos, pero no las relaciones u otros detalles importantes necesarios para que una aplicación funcione sin problemas. Los usuarios se convierten entonces en chefs trabajando con ingredientes a medias, y es bastante difícil preparar una comida completa.
Nuestro Enfoque a la Interoperabilidad
Para mejorar la interoperabilidad, se introduce un enfoque basado en modelos. Esto significa que en lugar de empezar desde cero cada vez que un usuario quiera migrar un proyecto, pueden comenzar en un punto estándar. Es un poco como tener un control remoto universal para diferentes marcas de televisión: solo necesitas una herramienta para manejarlas todas.
Este enfoque basado en modelos puede funcionar en dos escenarios principales:
-
Método de Exportación Formal: Si una plataforma permite exportar modelos en un formato legible, podemos extraer fácilmente la información necesaria para prepararlo para la migración.
-
Método de Exportación Alternativa: Si una plataforma no ofrece una exportación formal, podemos utilizar métodos de reconocimiento visual para analizar capturas de pantalla de modelos y generar un nuevo modelo basado en esa imagen.
Método de Exportación Formal
Cuando una plataforma proporciona una forma de exportar modelos en un formato textual, el proceso se vuelve más sencillo. Esto permite extraer información, como clases y relaciones, y convertirla en un modelo que se pueda usar en una nueva plataforma. Este enfoque proporciona un viaje más fluido mientras cambias de plataforma, como pasar de una canción a otra en una lista de reproducción.
Aquí, las reglas de transformación guían el proceso de exportación. Cada plataforma tiene su forma única de estructurar datos, pero muchas de ellas usan conceptos similares, lo que facilita traducir de una a otra. La idea es identificar los elementos que se pueden transformar de la plataforma fuente a un formato que la plataforma de destino pueda entender.
Método de Exportación Alternativa
En casos donde una plataforma no proporciona una función de exportación adecuada, podemos recurrir a modelos visuales. Al analizar una imagen del modelo, podemos generar una nueva representación. Aunque este método puede no capturar cada detalle, actúa como un plan de respaldo cuando el plan inicial falla, como encontrar un snack cuando la cena se retrasa.
Un modelo de lenguaje visual (como una herramienta de IA avanzada) ayuda a interpretar la captura de pantalla y recrear el modelo. Este proceso involucra proporcionar algo de contexto sobre la plataforma específica para asegurarse de que la IA entienda cómo interpretar la imagen con precisión.
Importación de Modelos
Una vez que tenemos el modelo listo, es hora de pensar en importarlo a la plataforma de destino. Este proceso también puede tener dos escenarios:
-
Método de Importación Formal: Si la plataforma de destino permite la importación formal, podemos generar los archivos necesarios que coincidan con el formato esperado.
-
Método de Importación Alternativa: En casos donde no hay una opción de importación directa, muchas plataformas permiten a los usuarios cargar datos de fuentes como archivos Excel o CSV para crear nuevos proyectos. Es un poco como usar una caja para llevar sobras de un restaurante a otro.
Método de Importación Formal
Cuando una plataforma soporta importaciones formales, podemos crear archivos estructurados de manera que la nueva plataforma pueda entender. Esto implica mapear elementos del modelo generado al lenguaje y sintaxis de la plataforma de destino.
Este mapeo sirve como una guía de traducción, asegurando que todo encaje adecuadamente y permita una transición suave. Además, plataformas como Appian y Oracle Apex permiten importar proyectos completos, incluidos datos, comportamientos y modelos gráficos, a través de formatos predefinidos.
Método de Importación Alternativa
Para plataformas que no soportan importaciones directas de modelos, muchas permiten la importación de datos desde archivos como Excel o CSV. Esto no es un método estándar para importar un modelo de datos, pero sirve como una alternativa para los usuarios en tales situaciones. El proceso implica crear archivos estructurados que ayudan a inferir el modelo de datos necesario por la plataforma de destino.
Al usar Excel, cada hoja genera una nueva clase, y las columnas crean atributos. Sin embargo, este método puede no capturar las relaciones con precisión, llevando a modelos menos completos. Piénsalo como pedir una ensalada sin un aderezo adecuado; puede ser saludable, pero no muy satisfactorio.
Desafíos por Delante
A pesar de los métodos propuestos para mejorar la interoperabilidad, siguen existiendo desafíos. Los usuarios deben ser conscientes de que las plataformas de bajo código a menudo carecen de documentación robusta o soporte para migrar proyectos, lo que puede llevar a una experiencia frustrante. El enfoque para muchas plataformas comerciales es retener a los clientes en lugar de ayudarles a migrar a otros lugares. La gente se ha quedado atrapada con productos que no facilitan salidas fáciles, lo que puede sentirse como estar en un discurso de ventas interminable para un producto que ni siquiera querías comprar.
Construyendo un Modelo de Intercambio Estándar
Una solución clave al dilema de la interoperabilidad es la creación de un modelo de intercambio estándar para plataformas de bajo código. La ausencia de un modelo estandarizado significa que cada plataforma opera en su burbuja, lo que lleva a puntos de fricción para los usuarios que quieren cambiar.
Crear un modelo así permitiría transferencias suaves entre plataformas, al igual que los emojis estandarizados entre dispositivos ayudan a las personas a comunicarse más libremente, sin importar qué marca de teléfono tengan. Con todos cantando de la misma hoja, mover modelos entre plataformas sería pan comido, y los usuarios podrían centrarse más en construir y menos en preocuparse por la compatibilidad.
Enfrentando Limitaciones de Importación/Exportación
Las limitaciones en las características de importación/exportación pueden llevar a modelos incompletos, dejando a los usuarios con un rompecabezas que carece de algunas piezas cruciales. Si bien la finalización manual es una opción, sería mucho más efectivo desarrollar técnicas que automaticen el proceso de recuperación de elementos faltantes. Piensa en esto como un servicio de recetas confiable que te da los pasos que faltan si los has olvidado mientras cocinas.
Usar IA o métodos más simples basados en reglas puede mejorar la experiencia de migración, permitiendo que los usuarios centren sus esfuerzos en otras cosas en lugar de jugar a ser detectives. El objetivo sería hacer que la transición sea tan fácil como un pastel.
Migración Incremental
Más allá de migrar modelos completos, las plataformas deberían considerar la idea de migración incremental. Esto significa reconocer componentes existentes y añadir nuevos elementos sin sobrescribir los cambios personalizados del usuario. Imagina una plataforma de software que ofrece rociar algunos ingredientes frescos sobre tu pizza sin cambiar todo. Se trata de dar a los usuarios flexibilidad y control sobre su trabajo.
Métodos Basados en IA para Importación/Exportación
Explorar técnicas avanzadas de IA para métodos alternativos de importación y exportación también podría mejorar el proceso. Para exportar, utilizar reconocimiento de múltiples imágenes o video podría mejorar la comprensión de la IA sobre modelos grandes, permitiéndole capturar cada detalle con precisión.
Para la importación, entrenar a una IA para replicar un modelo usando la interfaz de usuario de la plataforma de destino sería un gran avance. Este asistente inteligente podría guiar a los usuarios a través de la recreación de sus modelos, haciendo que la transición se sienta menos abrumadora.
El Camino por Delante
Aunque hay desafíos significativos, el panorama de bajo código está cambiando, y las mejoras pueden suceder. Abordar el problema del bloqueo de proveedores y mejorar la interoperabilidad puede llevar a mejores experiencias para todos los usuarios. Al crear un enfoque más unificado, los usuarios se beneficiarían de transiciones más rápidas y menos dolores de cabeza.
Desarrollar mejor soporte de herramientas, especialmente involucrando modelos de UI y comportamiento, es crítico. Esto incluye planes para crear interfaces amigables que simplifiquen el proceso de migración. Imagina un amigo útil en el mundo del software, guiándote paso a paso a través del proceso de mudanza.
A medida que los desarrolladores e innovadores continúan trabajando en estas soluciones, la esperanza es que surja una nueva era de colaboración, permitiendo a los usuarios aprovechar al máximo las plataformas de bajo código sin sentirse atrapados en el ecosistema de un solo proveedor. ¡El futuro se ve brillante, y podría incluir un mundo donde las plataformas de bajo código realmente se lleven bien entre sí!
Fuente original
Título: Towards the interoperability of low-code platforms
Resumen: With the promise of accelerating software development, low-code platforms (LCPs) are becoming popular across various industries. Nevertheless, there are still barriers hindering their adoption. Among them, vendor lock-in is a major concern, especially considering the lack of interoperability between these platforms. Typically, after modeling an application in one LCP, migrating to another requires starting from scratch remodeling everything (the data model, the graphical user interface, workflows, etc.), in the new platform. To overcome this situation, this work proposes an approach to improve the interoperability of LCPs by (semi)automatically migrating models specified in one platform to another one. The concrete migration path depends on the capabilities of the source and target tools. We first analyze popular LCPs, characterize their import and export alternatives and define transformations between those data formats when available. This is then complemented with an LLM-based solution, where image recognition features of large language models are employed to migrate models based on a simple image export of the model at hand. The full pipelines are implemented on top of the BESSER modeling framework that acts as a pivot representation between the tools.
Autores: Iván Alfonso, Aaron Conrardy, Jordi Cabot
Última actualización: 2024-12-06 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2412.05075
Fuente PDF: https://arxiv.org/pdf/2412.05075
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.
Enlaces de referencia
- https://listlu-my.sharepoint.com/:p:/g/personal/ivan_alfonso_list_lu/EUUIsqZjUkdGtA8S6CMVU7UBssQvnAUFS7iXk7fUgZrUWA?e=COAdEo
- https://www.outsystems.com/forge/component-overview/18855/cool-data-model-info-react-o11
- https://www.outsystems.com/forge/
- https://www.omg.org/spec/UMLDI/1.0/About-UMLDI
- https://docs.anthropic.com/en/docs/build-with-claude/computer-use
- https://github.com/BESSER-PEARL/BESSER-Migration-Hub.git
- https://github.com/BESSER-PEARL/BESSER.git
- https://www.ifml.org/