Liberando-se do Aprisionamento dos Fornecedores de Low-Code
Aprenda a lidar com o lock-in de fornecedores em plataformas de low-code.
Iván Alfonso, Aaron Conrardy, Jordi Cabot
― 10 min ler
Índice
- O Problema do Vendor Lock-In
- O Que É Interoperabilidade?
- Estado Atual das Plataformas Low-Code
- Analisando a Interoperabilidade
- Nossa Abordagem para Interoperabilidade
- Método de Exportação Formal
- Método de Exportação Alternativo
- Importando Modelos
- Método de Importação Formal
- Método de Importação Alternativo
- Desafios à Frente
- Construindo um Modelo de Intercâmbio Padrão
- Enfrentando Limitações de Importação/Exportação
- Migração Incremental
- Métodos Baseados em IA para Importação/Exportação
- O Caminho à Frente
- Fonte original
- Ligações de referência
Plataformas low-code são ferramentas que deixam os usuários criarem aplicativos com pouca programação manual. Elas oferecem uma forma visual de construir e alterar software, o que pode acelerar o desenvolvimento e deixar mais acessível pra quem não é programador. Mas, muitas vezes, essas plataformas não se "conversam" bem, causando frustração pra quem usa.
O Problema do Vendor Lock-In
Um dos grandes problemas que a galera enfrenta ao usar plataformas low-code é o vendor lock-in. Isso significa que, uma vez que você construiu seu aplicativo em uma plataforma específica, mover pra outra parece uma tarefa complicada—é como tentar sair de um relacionamento ruim: você tem que começar tudo de novo. Os usuários podem se sentir presos porque plataformas diferentes não se comunicam ou compartilham informações de forma tranquila. Em termos simples, mudar seu projeto pra outra plataforma é como tentar mudar o cabelo em um salão que só faz franja.
Interoperabilidade?
O Que ÉInteroperabilidade é a capacidade de diferentes plataformas trabalharem juntas, mesmo que tenham línguas ou regras diferentes. É como tentar fazer amigos de diferentes culturas se comunicarem em uma festa. Se eles só falam suas próprias línguas sem um entendimento comum, vai ser difícil de se dar bem. Um bom nível de interoperabilidade significa que diferentes plataformas conseguem se entender e ajudar os usuários a migrar seus projetos mais facilmente.
Estado Atual das Plataformas Low-Code
O mercado low-code tem várias plataformas populares, como Mendix, OutSystems e Microsoft PowerApps. Essas plataformas são conhecidas por suas capacidades robustas, mas muitas vezes são criticadas por terem opções limitadas para mover projetos de uma pra outra. É como ter o melhor food truck da cidade, mas que só serve um tipo de taco. Enquanto os clientes amam o taco, eles podem querer um burrito de outro truck um dia, mas ficam presos no stand de taco.
Essas plataformas tendem a oferecer recursos limitados de importação e exportação, o que pode ser um grande obstáculo. Embora possam usar formatos técnicos semelhantes, os esquemas e as linguagens subjacentes diferem o suficiente pra criar dificuldades na migração de dados.
Analisando a Interoperabilidade
Pra entender a interoperabilidade das plataformas low-code, podemos olhar para as opções disponíveis de importação e exportação de modelos. Pense nisso como fazer um inventário na cozinha pra ver quais ingredientes estão disponíveis pra cozinhar um novo prato.
Quando as plataformas oferecem apenas funcionalidades básicas, muitos usuários acabam com receitas incompletas. Por exemplo, algumas plataformas podem permitir a exportação de uma estrutura de dados, mas não das relações ou outros detalhes importantes que um aplicativo precisa pra funcionar bem. Os usuários se tornam chefs trabalhando com ingredientes mal preparados, e fica bem difícil preparar uma refeição completa.
Nossa Abordagem para Interoperabilidade
Pra melhorar a interoperabilidade, uma abordagem baseada em modelos é introduzida. Isso significa que, em vez de começar do zero toda vez que um usuário quiser migrar um projeto, eles podem começar a partir de um ponto padrão. É como ter um controle remoto universal pra marcas diferentes de TV: você só precisa de uma ferramenta pra gerenciar todos.
Essa abordagem baseada em modelos pode funcionar em dois cenários principais:
-
Método de Exportação Formal: Se uma plataforma permite exportar modelos em um formato legível, podemos facilmente extrair as informações necessárias pra preparar a migração.
-
Método de Exportação Alternativo: Se uma plataforma não oferece uma exportação formal, podemos usar métodos de reconhecimento visual pra analisar screenshots de modelos e gerar um novo modelo com base naquela imagem.
Método de Exportação Formal
Quando uma plataforma fornece uma forma de exportar modelos em formato textual, o processo fica mais tranquilo. Isso permite a extração de informações, como classes e relações, e transformação em um modelo que pode ser usado em uma nova plataforma. Essa abordagem oferece uma transição mais suave entre as plataformas, como trocando de uma música pra outra em uma playlist sem problemas.
Aqui, as regras de transformação orientam o processo de exportação. Cada plataforma tem seu jeito único de estruturar dados, mas muitas usam conceitos semelhantes, facilitando a tradução de uma pra outra. A ideia é identificar os elementos que podem ser transformados da plataforma de origem pra um formato que a plataforma de destino entenda.
Método de Exportação Alternativo
Nos casos onde uma plataforma não fornece um recurso de exportação adequado, podemos recorrer a modelos visuais. Analisando uma imagem do modelo, conseguimos gerar uma nova representação. Embora esse método pode não captar todos os detalhes, ele serve como um plano B quando o primeiro não funciona, como achar um lanche quando o jantar demora.
Um modelo de linguagem visual (como uma ferramenta AI chique) ajuda a interpretar o screenshot e recriar o modelo. Esse processo envolve fornecer algum contexto sobre a plataforma específica pra garantir que a AI entenda como interpretar a imagem corretamente.
Importando Modelos
Uma vez que temos o modelo pronto, é hora de pensar em importá-lo pra plataforma de destino. Esse processo também pode ter dois cenários:
-
Método de Importação Formal: Se a plataforma de destino permite importações formais, podemos gerar os arquivos necessários que atendam ao formato esperado.
-
Método de Importação Alternativo: Em casos onde não há uma opção de importação direta, muitas plataformas permitem que os usuários carreguem dados de fontes como Excel ou arquivos CSV pra criar novos projetos. É como usar uma caixa de comida pra trazer sobras de um restaurante pra outro.
Método de Importação Formal
Quando uma plataforma suporta importações formais, podemos criar arquivos estruturados de um jeito que a nova plataforma consiga entender. Isso envolve mapear elementos do modelo gerado pra língua e sintaxe da plataforma de destino.
Esse mapeamento serve como um guia de tradução, garantindo que tudo se encaixe direitinho e permitindo uma transição tranquila. Além disso, plataformas como Appian e Oracle Apex permitem importar projetos completos, incluindo dados, comportamentos e modelos gráficos, através de formatos pré-definidos.
Método de Importação Alternativo
Pra plataformas que não suportam importações diretas de modelos, muitas permitem importações de dados de arquivos como Excel ou CSV. Isso não é um método padrão de importação de um modelo de dados, mas serve como uma alternativa pra usuários nessas situações. O processo envolve criar arquivos estruturados que ajudam a inferir o modelo de dados necessário pela plataforma de destino.
Ao usar Excel, cada planilha gera uma nova classe, e colunas criam atributos. No entanto, esse método pode não captar relações com precisão, levando a modelos que são menos completos. Pense nisso como pedir uma salada sem um molho adequado; pode ser saudável, mas não é muito satisfatório.
Desafios à Frente
Apesar dos métodos propostos pra melhorar a interoperabilidade, ainda existem desafios. Os usuários devem estar cientes que plataformas low-code geralmente carecem de documentação robusta ou suporte pra migrar projetos, o que pode levar a uma experiência frustrante. O foco de muitas plataformas comerciais é reter clientes em vez de ajudá-los a migrar pra outro lugar. As pessoas acabam presas em produtos que não facilitam saídas fáceis, o que parece uma venda interminável de um produto que você nem queria comprar.
Construindo um Modelo de Intercâmbio Padrão
Uma solução chave pro dilema da interoperabilidade é a criação de um modelo de intercâmbio padrão pra plataformas low-code. A falta de um modelo padronizado significa que cada plataforma funciona em sua própria bolha, levando a pontos de atrito pra usuários que querem trocar.
Criar um modelo assim permitiria transferências suaves entre plataformas, muito parecido com emojis padronizados entre dispositivos que ajudam as pessoas a se comunicarem mais livremente—não importa qual marca de celular elas tenham. Com todo mundo cantando a mesma música, mover modelos entre plataformas se tornaria fácil, e os usuários poderiam focar mais em construir e menos em se preocupar com compatibilidade.
Enfrentando Limitações de Importação/Exportação
Limitações nas funcionalidades de importação/exportação podem levar a modelos incompletos, deixando os usuários com um quebra-cabeça que falta algumas peças cruciais. Embora completar manualmente seja uma opção, seria muito mais eficaz desenvolver técnicas que automatizem o processo de recuperação de elementos faltantes. Pense nisso como um serviço de receitas confiável que dá os passos que você esqueceu enquanto cozinha.
Usar IA ou métodos mais simples baseados em regras pode melhorar a experiência de migração, permitindo que os usuários foquem seus esforços em outros lugares em vez de serem detetives. O objetivo seria tornar a transição tão fácil quanto passar manteiga no pão.
Migração Incremental
Além de migrar modelos completos, plataformas deveriam considerar a ideia de migração incremental. Isso significa reconhecer componentes existentes e adicionar novos elementos sem sobrescrever as mudanças personalizadas do usuário. Imagine uma plataforma de software que oferece adicionar novos ingredientes na sua pizza sem mudar tudo. É sobre dar aos usuários flexibilidade e controle sobre seu trabalho.
Métodos Baseados em IA para Importação/Exportação
Explorar técnicas avançadas de IA para métodos alternativos de importação e exportação também poderia melhorar o processo. Para exportação, usar reconhecimento de múltiplas imagens ou vídeos poderia aumentar a compreensão da IA sobre grandes modelos, permitindo capturar cada detalhe com precisão.
Para importação, treinar uma IA pra replicar um modelo usando a interface do usuário da plataforma de destino seria um divisor de águas. Esse assistente inteligente poderia guiar os usuários na recriação de seus modelos, tornando a transição menos intimidadora.
O Caminho à Frente
Embora haja desafios significativos, o cenário low-code está mudando, e melhorias podem acontecer. Abordar a questão do vendor lock-in e melhorar a interoperabilidade pode levar a melhores experiências pra todos os usuários. Criando uma abordagem mais unificada, os usuários se beneficiariam de transições mais rápidas e menos dores de cabeça.
Desenvolver um melhor suporte a ferramentas, especialmente envolvendo modelos de UI e comportamentais, é crucial. Isso inclui planos pra criar interfaces amigáveis que simplifiquem o processo de migração. Imagine um amigo legal no mundo do software, te guiando passo a passo durante a mudança.
À medida que desenvolvedores e inovadores continuam a trabalhar nessas soluções, a esperança é que uma nova era de colaboração surja, permitindo que os usuários aproveitem ao máximo as plataformas low-code sem se sentirem presos no ecossistema de um único fornecedor. O futuro é promissor, e pode ser que inclua um mundo onde plataformas low-code realmente se deem bem!
Fonte original
Título: Towards the interoperability of low-code platforms
Resumo: 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 atualização: 2024-12-06 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2412.05075
Fonte PDF: https://arxiv.org/pdf/2412.05075
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.
Ligações de referência
- 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/