Sci Simple

New Science Research Articles Everyday

# Computer Science # Software Engineering

Breaking Free from Low-Code Vendor Lock-In

Learn how to tackle vendor lock-in in low-code platforms.

Iván Alfonso, Aaron Conrardy, Jordi Cabot

― 9 min read


Escape Vendor Lock-In Now Escape Vendor Lock-In Now constraints. Break free from low-code platform
Table of Contents

Low-code platforms are tools that allow users to create applications with minimal hand-coding. They offer a visual way to build and modify software, which can speed up development and make it more accessible to non-programmers. However, these platforms often play hard to get when it comes to working well with each other, leading to a frustrating experience for users.

The Problem with Vendor Lock-In

One of the major issues people face when using low-code platforms is vendor lock-in. This means that once you've built your application in a specific platform, moving it to another one feels like trying to get out of a bad relationship—you have to start all over again. Users can find themselves stuck because different platforms don’t communicate or share information smoothly. In simple terms, moving your project to a different platform is like trying to change your hairstyle in a salon that only knows how to cut bangs.

What is Interoperability?

Interoperability refers to the ability of different platforms to work together, even if they have different languages or rules. It’s like trying to get friends from different cultures to communicate at a party. If they only speak their own languages without a shared understanding, they'll have a tough time getting along. A good level of interoperability means that different platforms can understand one another and help users migrate their projects more easily.

Current State of Low-Code Platforms

The low-code market has several popular platforms, such as Mendix, OutSystems, and Microsoft PowerApps. These platforms are known for their robust capabilities but are often criticized for their limited options in moving projects from one to another. It’s like having the best food truck in town, but they only serve one type of taco. While customers love the taco, they might want a burrito from a different truck someday, but they are stuck at the taco stand.

These platforms tend to offer limited import and export features, which can be a major roadblock. Although they may use similar technical formats, the schemas and underlying languages differ enough to create hurdles in data migration.

Analyzing Interoperability

To understand the interoperability of low-code platforms, we can look at what options are available for importing and exporting models. Think of it as taking inventory in a kitchen to see what ingredients are available for cooking up a new dish.

When platforms offer only basic functionality, many users find themselves with incomplete recipes. For instance, some platforms might allow exporting a data structure but not the relationships or other important details needed for an application to function smoothly. Users then become chefs working with half-baked ingredients, and it is rather challenging to whip up a complete meal.

Our Approach to Interoperability

To improve interoperability, a model-based approach is introduced. This means that instead of starting from scratch every time a user wants to migrate a project, they can begin at a standard point. It’s a bit like having a universal remote control for different TV brands: you just need one tool to manage them all.

This model-based approach can work in two major scenarios:

  1. Formal Export Method: If a platform allows exporting models in a readable format, we can easily extract the information needed to prepare it for migration.

  2. Alternative Export Method: If a platform does not offer a formal export, we can use visual recognition methods to analyze screenshots of models and generate a new model based on that image.

Formal Export Method

When a platform provides a way to export models in a textual format, the process becomes more straightforward. This allows for extracting information, such as classes and relationships, and turning it into a model that can be used in a new platform. This approach provides a smoother ride while switching platforms, akin to smoothly transitioning from one song to another in a playlist.

Here, the transformation rules guide the export process. Each platform has its unique way of structuring data, but many of them use similar concepts, making it easier to translate one to another. The idea is to identify the elements that can be transformed from the source platform into a format that the target platform can understand.

Alternative Export Method

In cases where a platform does not provide a proper export feature, we can turn to visual models. By analyzing an image of the model, we can generate a new representation. While this method may not capture every detail, it acts as a backup plan when the first plan falls through, like finding a snack when dinner is delayed.

A visual language model (like a fancy AI tool) helps interpret the screenshot and recreate the model. This process involves providing some context about the specific platform to ensure that the AI understands how to interpret the image accurately.

Importing Models

Once we have the model ready, it’s time to think about importing it to the target platform. This process can also have two scenarios:

  1. Formal Import Method: If the target platform allows formal importing, we can generate the necessary files that match the expected format.

  2. Alternative Import Method: In cases where there isn’t a straightforward import option, many platforms allow users to upload data from sources like Excel or CSV files to create new projects. It’s a bit like using a take-out box to bring leftovers from one restaurant to another.

Formal Import Method

When a platform supports formal imports, we can create files structured in a way that the new platform can understand. This involves mapping elements from the model generated to the language and syntax of the target platform.

This mapping serves as a translation guide, ensuring that everything fits together properly and allows a smooth transition. Furthermore, platforms like Appian and Oracle Apex enable importing full projects, including data, behavior, and graphical models, through predefined formats.

Alternative Import Method

For platforms that do not support direct model imports, many allow data imports from files like Excel or CSV. This isn’t a standard method for importing a data model but serves as an alternative for users in such situations. The process involves creating structured files that help infer the data model needed by the target platform.

When using Excel, each sheet generates a new class, and columns create attributes. However, this method may not capture relationships as accurately, leading to models that are less comprehensive. Think of this as ordering a salad without a proper dressing; it may be healthy but not very satisfying.

Challenges Ahead

Despite the proposed methods for improving interoperability, challenges remain. Users should be aware that low-code platforms often lack robust documentation or support for migrating projects, which can lead to a frustrating experience. The focus for many commercial platforms is on retaining customers rather than helping them migrate elsewhere. People have been stuck with products that do not facilitate easy exits, which can feel like being in a never-ending sales pitch for a product you didn’t even want to buy.

Building a Standard Interchange Model

One key solution to the interoperability dilemma is the creation of a standard interchange model for low-code platforms. The absence of a standardized model means that each platform operates in its bubble, leading to friction points for users wanting to switch.

Creating such a model would allow for smooth transfers across platforms, much like standardized emoji across devices helps people communicate more freely—no matter what brand of phone they own. With everyone singing from the same songbook, moving models between platforms would become a breeze, and users could focus more on building and less on fretting over compatibility.

Tackling Import/Export Limitations

Limitations in import/export features may lead to incomplete models, leaving users with a puzzle that lacks some crucial pieces. While manual completion is an option, it would be far more effective to develop techniques that automate the process of recovering missing elements. Think of it as a reliable recipe service that gives you the missing steps if you’ve forgotten them while cooking.

Using AI or simpler rule-based methods can enhance the migration experience, allowing users to focus their efforts elsewhere instead of playing detective. The goal would be to make the transition as easy as pie.

Incremental Migration

Beyond migrating full models, platforms should consider the idea of incremental migration. This means recognizing existing components and adding new elements without overwriting the user’s custom changes. Imagine a software platform that offers to sprinkle some fresh toppings on your pizza without changing the whole thing. It’s about giving users flexibility and control over their work.

AI-Based Methods for Import/Export

Exploring advanced AI techniques for alternative import and export methods could also improve the process. For exporting, utilizing multi-image or video recognition could enhance the AI’s understanding of large models, letting it accurately capture every detail.

For import, training an AI to replicate a model using the user interface of the target platform would be a game changer. This intelligent assistant could guide users through recreating their models, making the transition feel less daunting.

The Road Ahead

While there are significant challenges, the low-code landscape is changing, and improvements can happen. Addressing the vendor lock-in issue and enhancing interoperability can lead to better experiences for all users. By creating a more unified approach, users would benefit from quicker transitions and fewer headaches.

Developing better tool support, especially involving UI and behavioral models, is critical. This includes plans for creating user-friendly interfaces that simplify the migration process. Picture a helpful buddy in the software world, guiding you step-by-step through the moving process.

As developers and innovators continue to work on these solutions, the hope is that a new era of collaboration will emerge, allowing users to reap the full benefits of low-code platforms without feeling trapped in a single vendor's ecosystem. The future is bright, and it just might include a world where low-code platforms truly play nice with each other!

Original Source

Title: Towards the interoperability of low-code platforms

Abstract: 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.

Authors: Iván Alfonso, Aaron Conrardy, Jordi Cabot

Last Update: 2024-12-06 00:00:00

Language: English

Source URL: https://arxiv.org/abs/2412.05075

Source PDF: https://arxiv.org/pdf/2412.05075

Licence: https://creativecommons.org/licenses/by/4.0/

Changes: This summary was created with assistance from AI and may have inaccuracies. For accurate information, please refer to the original source documents linked here.

Thank you to arxiv for use of its open access interoperability.

More from authors

Similar Articles