You can use MDriven to turn a visual model of your business data, rules, and workflows into a working application; this page is for teams evaluating where to start.
What MDriven does
MDriven is a model-driven platform that uses a shared visual model as the basis for an application. You model data, relationships, business rules, and workflows, then use that model to generate and run application parts such as the database schema, web user interface, and REST endpoints.
For example, an order-management model can contain Customer, Order, and OrderLine classes, a rule that calculates an order total, and a workflow that moves an order from Draft to Approved. The same model defines the application behavior as it evolves.
The MDriven workflow
- Capture the business domain in a visual Model. Define concepts, their data, relationships, rules, and workflows.
- Use MDriven Designer to work with standard UML and run the model. Select Play to transform the model into a live web application.
- Build and expose user-facing functions through a ViewModel. A ViewModel can provide a responsive UI and can be exposed as a REST endpoint.
- Deploy the application to cloud infrastructure, an on-premise environment, or Docker. MDriven synchronizes the database schema with model changes.
- Change the model when the business changes, then run or deploy the updated version.
Main parts
| Part | What you use it for | Example |
|---|---|---|
| MDriven Designer | Create and run the UML model. | Add an Invoice class and connect it to Customer.
|
| MDriven Turnkey | Run generated responsive web applications from the model. | Give a sales user a page to create and review invoices. |
| ViewModel | Define an application view and its data, actions, and presentation. | Create an OpenInvoices ViewModel that lists unpaid invoices.
|
| MDrivenServer | Host and operate MDriven applications and server-side functions. | Run scheduled actions that send invoice reminders. |
| OCL | Express queries, derivations, and constraints in the model. OCL is the Object Constraint Language. | Calculate an invoice total from its invoice lines. |
| EAL | Define executable actions and workflow logic. EAL is the Executable Action Language. | Change an order status when a user approves it. |
Choose a starting point
| If you want to... | Start with... |
|---|---|
| Learn how visual models become applications | MDriven Designer and Modeling Basics |
| Create a web application from a model | MDriven Turnkey |
| Define rules and calculated values | OCL |
| Define actions, workflows, and automation | EAL |
| Operate a deployed application | MDrivenServer |
What the model can drive
The model can drive application structure and behavior rather than serving only as documentation. MDriven can synchronize SQL schemas, generate responsive web UIs, and expose REST endpoints from the model.
You can also define role-based access in the model. For example, an Accountant role can review and approve invoices while a Sales role can create invoices but not approve them.
For integration, you can expose a ViewModel as a REST endpoint or add custom C# where your application needs it. For example, an external accounting service can request data from an OpenInvoices ViewModel endpoint.
Example: from process to application
A purchasing team needs to track purchase requests.
- Model
PurchaseRequest,Employee, andPurchaseRequestLine. - Add a status workflow: Draft, Submitted, Approved, and Rejected.
- Use OCL to calculate the request amount from its lines.
- Use EAL for the Submit action to set the status to Submitted.
- Create a ViewModel that shows requests awaiting approval.
- Run the model in MDriven Designer and deploy the application through MDriven Turnkey.
The purchasing team can then create requests, submit them, and work from an approval list defined by the same model.
