🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
Vendor lock-in risks and mitigation
This page was created by Wikiadmin on 2026-07-29. Last edited by Wikiadmin on 2026-07-29.

You can assess and reduce MDriven vendor lock-in risk by keeping your system model, operational data, and continuity terms under documented control; this guidance is for architects and decision-makers evaluating or operating an MDriven solution.

What vendor lock-in means in an MDriven solution

Vendor lock-in is the cost, difficulty, or operational risk of changing a product, provider, deployment arrangement, or supporting technology. Evaluate it as separate concerns rather than as one question.

Concern What to assess Concrete example
Model and business definition Whether the system definition remains understandable and reusable outside a particular implementation. Keep the domain model in UML (Unified Modeling Language) and record how ViewModels extend that model for the application user interface.
Data Whether you can inspect and move operational data when infrastructure or database choices change. Verify the database choice and test a data move with representative data before production.
Runtime and deployment Whether continued operation depends on a particular MDriven service, server arrangement, or supported environment. Document which environments run MDrivenServer and Turnkey, who operates them, and what is required to restore service.
Commercial continuity Whether your agreement provides access to the software or source needed to continue operations if service conditions change. Review the applicable agreement and retain the continuity commitments with the project records.

Keep the model as the primary system description

MDriven uses UML to declaratively define the system's business core. The model is described as an open UML-format system description, with MDriven extensions for ViewModels.

For example, model a Customer class and its relationship to Order in UML, then define an Order-entry ViewModel for the order-processing task. Keep the model documentation current so that the class structure, relationships, and ViewModel intent remain available to people outside the original delivery team.

This reduces dependence on individual developers and gives a new team a structured explanation of the system.

The availability of a UML model does not remove all migration work. ViewModel extensions and the generated application's runtime behavior still need to be understood, mapped, and tested if you move to another implementation approach.

Keep data portable and test the move

Plan and test data portability early:

  1. Select the database technology that meets your operational requirements.
  2. Document the production database, connection ownership, backup responsibility, and restore procedure.
  3. Create a representative test dataset, including relationships such as a customer with several orders.
  4. Perform a restore or move in a non-production environment and verify that records and relationships are intact.
  5. Record any application-specific processing required after the move.

Do not treat a readable database as proof that an application can be replaced without work. Data structure, business rules, ViewModels, and integrations are separate parts of the system and must each be accounted for.

Reduce runtime dependency

Document the deployed runtime components and the operational knowledge needed to run them. For a Turnkey-based solution, include the Turnkey Server and MDrivenServer in the operational inventory, together with the environment where each component runs.

For example, if an order-processing application runs in a cloud environment, record the server configuration, database location, backup and restore procedure, deployment steps, and the people authorized to perform them. Test the documented recovery process rather than relying on a developer's memory.

MDriven's architecture is documented as able to work alongside legacy systems and to integrate with existing systems. Use that capability to avoid a forced replacement programme: keep a legacy integration in place while you validate the MDriven implementation, and document the interfaces and data ownership on both sides.

Review continuity and source-code terms

Commercial terms are part of lock-in risk management. The current pricing information describes an annual licence option that includes a full source code backup licence and states that the customer owns the full source code. Confirm the terms that apply to your agreement before relying on either provision.

At Yellow Level, the provider allows access to needed software in compiled format and instructions for normal operations under the user's control. The page also defines the conditions for those levels and the stated agreement-fee treatment.

For example, retain the signed agreement, any source-code backup licence, and the documented recovery instructions in the same controlled location as your production runbook. Assign an owner to review them when the agreement or deployment changes.

Evaluation checklist

Before committing a business-critical system, complete these checks:

  • Confirm that the model is maintained in UML and that ViewModel extensions are documented.
  • Publish model documentation for key classes, attributes, associations, and business workflows.
  • Identify the production database and perform a documented restore or migration test using representative data.
  • Document the Turnkey and MDrivenServer runtime arrangement, deployment procedure, backups, and recovery responsibilities.
  • Document every legacy-system integration, including interface ownership and the data that each system owns.
  • Review the agreement against Trust and Guarantee and confirm the continuity rights that apply to your deployment.
  • Retain the contract, applicable source-code backup material, and operational instructions where the organization can access them if the original project team changes.

See also