MDriven Server is a deployment and hosting solution for applications built with MDriven Framework and Turnkey, providing backend persistence, model evolution, and Ecospace synchronization across multiple servers and clients.
What is MDriven Server[edit | edit source]
MDriven Server is a core component of the MDriven model-driven development platform. It handles backend persistence, keeps your "Ecospaces" in sync automatically across multiple servers and clients, and applies database schema changes as your model evolves. As you update your UML classes and attributes, MDriven Server automatically calculates and applies the necessary database schema changes. It can be run cloud-based or on-premise and integrates with MDriven Designer and Turnkey for an end-to-end development experience.
What it is used for[edit | edit source]
MDriven Server is used to:
- Provide backend persistence for applications built with the MDriven Framework and Turnkey.
- Maintain state across multiple servers and clients through Ecospace synchronization.
- Evolve the database schema automatically as the model changes (Model Evolution).
- Integrate with existing databases and applications via standard protocols and APIs.
For a broader overview of server topics such as job scheduling, synchronization, users, and roles, see the MDriven Server documentation section.
Prerequisites[edit | edit source]
To host MDriven Server on a Windows Server with IIS, the minimum requirements are:
- Windows Server.
- Administrative access to the server.
- The ASP.NET Core Hosting Bundle installed in IIS.
- The latest version of MDriven Server (and MDriven Turnkey, if used) downloaded from the MDriven Website Downloads Page (https://mdriven.net/App#/Downloads).
Quick start flow[edit | edit source]
The general path from nothing to a running server is:
- Acquire MDriven Server by downloading the Windows package from the MDriven Downloads page.
- Install and host it â for IIS, follow Installing MDriven Server on Windows and Deploying MDriven Server & Turnkey Core on IIS.
- Connect it to your model/database and configure basic settings.
- Verify the server is running by opening it in a browser and evolving the admin database.
Acquiring and installing[edit | edit source]
Download the MDriven Server package for Windows and create a folder for the site, for example C:\inetpub\wwwroot\MDrivenServer. In IIS Manager, create a new Application Pool (for example "MDrivenServerAppPool") set to No Managed Code, then create a new Website pointing to that folder. Install the ASP.NET Core Hosting Bundle before proceeding. Full step-by-step instructions are in the IIS deployment guide.
Configuring basic settings[edit | edit source]
MDriven requires strict adherence to configuration filenames. You must name the configuration files exactly as documented â any deviation in spelling, extensions, or casing will result in broken deployments and apps that will not run. Key files include:
App_Data/CommandLineOverride.xmlin the site folder, which contains parameters for pointing to and starting your application.App_Data/MDrivenServerOverride.xmlin the site folder, which contains the URL and credentials for connecting Turnkey to the MDriven Server.
The URL used in the IIS site bindings must match the URL used in these configuration files.
Deployment and hosting considerations[edit | edit source]
Deploying MDriven Server on Windows Server with IIS is a standard step for a production-ready environment. As a best practice, create separate application pools for MDriven Server and MDriven Turnkey for better isolation. Beyond IIS, MDriven applications can also be hosted on Microsoft Azure, in Docker containers, and on Linux with Nginx or Apache; see the Deployment documentation for those options.
Verifying the server is running[edit | edit source]
After installation you can open MDriven Server in a browser via a link of the form:
https://localhost/<Your_application_name>/__MDrivenServer/
Change "localhost" to the URL in your certificate (usually your full machine name including the domain). On the first screen, register a new user for MDriven Server â for example "admin" (not "a", which is used by Turnkey). Then log in and go to the Admin area -> Infos, errors and MDrivenServer evolve, and press "Evolve Admin database".
First deployment example with Turnkey[edit | edit source]
A simple first deployment combines MDriven Server with Turnkey:
- Install MDriven Server as above and verify you can log in and evolve the admin database.
- Because MDriven Turnkey uses a user account named âaâ, return to the Admin area and set up that account for Turnkey.
- Create the Turnkey site folder (for example
C:\inetpub\wwwroot\MDrivenTurnkey) and itsApp_Data/CommandLineOverride.xmlpointing to the MDriven Server URL, for examplehttp://localhost:80/MDrivenServer. - Create
App_Data/MDrivenServerOverride.xmlin the Turnkey site folder with the URL and credentials for connecting to the MDriven Server. - Upload your model to the MDriven Server using the MDriven Designer.
- Browse to the Turnkey site to view your model in the client.
Alternatively, to set up backend persistence directly from the Designer: open your model in MDriven Designer, select "MDriven Server" in the Prototyper settings, and hit "Start System" to evolve your database and go live.
SSL certificate note[edit | edit source]
If you use HTTPS, create a self-signed certificate in IIS Manager (Server Certificates) using your server's machine name, and add an https binding for port 443 selecting that certificate. Access the server using the name in the certificate's "Issued to" field. If you do not use that URL, you will get a certificate error and the server will not be able to communicate internally â this error cannot be ignored.
Common pitfalls and troubleshooting[edit | edit source]
- Connectivity
- Ensure the URL in the IIS site bindings matches the URL used in
CommandLineOverride.xmlandMDrivenServerOverride.xml. Access the server through the certificate name rather than "localhost" so internal communication works. - Authentication
- Register an admin user (for example "admin") for MDriven Server itself, and reserve the account named "a" for MDriven Turnkey. Store the connecting URL and credentials in
MDrivenServerOverride.xml. - Version mismatch and startup failures
- HTTP Error 500.30 - ANCM In-Process Start Failure indicates a hosting problem. To resolve it, install or reinstall the correct ASP.NET Core Hosting Bundle and restart IIS, confirm that
AspNetCoreModuleV2is listed under IIS/Modules (if it is not, the hosting bundle has not been installed), and make sure the app pool has read and write access to the app site folder (grant the app pool user full control to be sure). - Configuration filenames
- Use the exact filenames, extensions, and casing documented; any deviation results in broken deployments and apps that will not run.
