🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
MDriven Server User/Web interface
This page was created by Alexandra on 2017-10-04. Last edited by Wikiadmin on 2026-07-29.

You use the MDrivenServer user/web interface to administer an MDriven Server and understand the web-facing ways that applications can work with the model and its data.

What this interface is for

MDrivenServer is a back-end server hosted in a web server. Its built-in user interface is intended for developers and administrators of an MDriven system, not as the end-user application interface.

Use the server interface to work with the server that receives a model from MDriven Designer, maintains the model's data store, and provides server functionality to clients. For example, after you upload an updated model from MDriven Designer, MDrivenServer can create or evolve the database it uses for that model.

Do not confuse the MDrivenServer administration interface with MDriven Turnkey. Turnkey renders the application user interface for browser users from the model's ViewModels. MDrivenServer provides the model administration and data services that support that application.

Choose the right interface

MDrivenServer supports more than one way for software to access model data. Choose the interface based on the type of client you are building.

Interface Use it when Example
MDriven Framework PersistenceMapper API You are building an application with MDriven Framework and need model-aware data access. A MDriven Framework-built client queries model data, changes objects, and saves those changes in a transaction.
JSON-based web interfaces You are building a client that is not built with MDriven Framework but must perform CRUD operations against the model. A separate web client sends and receives JSON objects to create, read, update, or delete data represented by the model.
MDriven Turnkey web user interface You want to render a browser application from ViewModels in the uploaded model. A user opens a Turnkey application in a browser and edits a ViewModel-based form.

CRUD means create, read, update, and delete. A ViewModel defines the data and behavior presented to a user interface.

Use MDriven Framework clients

The MDriven Framework PersistenceMapper API is the model-aware access route for applications built with MDriven Framework. It supports work needed in a multi-user environment, including:

  • Optimistic locking.
  • Client synchronization.
  • CRUD operations in transactions.
  • OCL queries that execute as SQL in the database.

For example, an application can retrieve objects through the PersistenceMapper API, update an object's value, and save the change as part of a transaction. Optimistic locking helps detect conflicting changes when multiple users work with the same data.

Build non-MDriven clients with JSON

MDrivenServer also exposes web interfaces that use JSON objects. This enables an application that is not built with MDriven Framework to perform CRUD operations on data defined by your model.

Before exposing an interface to a client, decide whether it requires authentication. A development prototype may have different access requirements from an internet-facing production application. Apply authentication and role restrictions before granting users or applications access to model data.

How Turnkey uses MDrivenServer

MDriven Turnkey can generate a browser user interface from the ViewModels in the uploaded model. In the architecture described in the MDriven overview, the Turnkey web renderer communicates with MDrivenServer's model administration functionality to obtain ViewModels and uses the server's synchronization functionality to obtain data.

A rendered application can use different rendering approaches for different screens:

Rendering approach Suitable use described in the architecture overview
MVC/Razor Render large amounts of data quickly on the server before sending the page to the browser.
AngularJS binding Support detailed editing with more responsive, fine-grained feedback in the browser.

This choice concerns the Turnkey application UI. It does not change the purpose of the MDrivenServer administration interface.

Deploy model changes

MDrivenServer receives model updates from MDriven Designer. This shortens the path from a model change to a deployed server:

  1. Change the model in MDriven Designer.
  2. Send the updated model to MDrivenServer.
  3. Let the server create or evolve its database as required by the model.
  4. Verify the server and application behavior before allowing users to work with the updated model.

For database choices, server setup, and ongoing maintenance, follow HowTos:Configure and Maintain MDriven Server rather than changing server files or configuration without a documented procedure.

Secure the web interfaces

Treat every web-facing server interface as an access path to your model and data.

  • Use HTTPS so passwords and other data are not sent over an open connection.
  • Require identification for the administration UI.
  • Configure authentication for exposed services according to the access your application needs.
  • Assign roles that limit what each account can do. SuperAdmin has unrestricted access.
  • Keep more than one administrative account so that a locked account does not remove all administrative access.
  • Turn off registration of new accounts after you have established the required administrator accounts.

Security limitations are not enforced while the server runs in HTTP mode, because enforcing them would require sending passwords over an open wire. See Training:Security concerns for MDriven Server for the security guidance and Documentation:MDrivenServer, Lost password or locked out for account recovery.

Operate and troubleshoot the server

Use the server UI as part of administration, then use the dedicated operational pages for the task at hand:

See also