Several attributes label MDriven as distinct and dynamic from all the rest.
Seven Unique Aspects
First thing: A fully normalized database schema with generated keys for all associations – in most of the good DB- brands, following my UML (Unified Modeling Language) model – whatever I do with it.
Second thing: A Business layer for objects with constraints and rules, following my UML model and OCL expressions – whatever I do with them. MDriven automatically maintains both sides of associations and association objects – how ever I choose the cardinality – and uses the UML standard:
- with specialization and abstractions
- with state machines and guards for states
- with aggregation and composites to get cascading deletes and lifetime control
MDriven keeps track of the change state on the attribute level and efficient persistence transformations.
Third thing: You can have ViewModels of OCL-expression transformations in a-cyclic-trees that subscribe to changes for all information they use
Fourth thing: You can expose said ViewModels as read/write REST interfaces within atomic transactions.
Fifth thing: A UI layer with data binding for anything in such ViewModels and has multiple versions of said UI layer to allow for the same model in different technologies. Time corrosion is handled just like it is with your car:
- You keep your family and transport them with a new car every third year
- You keep your knowhow and deliver with a new UI layer every third year
Sixth thing: A way to declare actions i.e. OCL expressions with side effects and expose those in Viewmodels and menus. It makes navigation between ViewModel-based views easy
Seventh thing: Provide a streaming interface of diffgrams between a thin client and server that follows the declared ViewModel no matter how it changes so that your client only sees the information from the ViewModel, exposing it easily and nothing else
The Extras
- Extra 1: Make it possible to inject your own code in any point of the full stack – from the database (SQL) to the business layer (C#), to thin client (CSS and Typescript) – with special attention to the look and feel.
- Extra 2: To avoid excessive override needs – have support for responsive UI design already in the ViewModel level
- Extra 3: A server-side orchestration strategy to run actions and ViewModels based on events to manage self-playing-piano actions and automation.
With these seven things and 3 extras, I can verify my thoughts in minutes with real data and user feedback straight from the drawing.
MDriven – A Complete System
Because MDriven scales to thousands of users and hundreds of millions of records, I have a complete enterprise-grade information system.
When a system is realized this way instead of being handwritten, I can reduce the test to a minimum and spend zero time on additional documentation. I will still have an exact one-to-one replica of what I said, what I got, and what I can see in the model. The risk of errors decreases and the cost of a redo is low. I can now try, get it wrong, learn, and become better – maybe even correct.
When I have this, I can be the business guy, UI guy, backend guy, and DB guy in 1 person. I can probably do it for 2 projects simultaneously. However, everything is prepared for teamwork with file formats that differ greatly in GIT and SubVersion.
I can also be the info-sec guy setting up the rules what role should see what under which circumstances. And the IT-sec guy since the platform is vetted and pen-tested with great results.
After 6 months, I can return to a project and instantly navigate the system due to the high-level exact documentation. Also, if the model is in the language of the business, I can act as the business expert just by being able to read the model.
We did this because it was a good idea. It took us 20 years. Our customers and partners make systems with it – at a level hard to deliver with traditional strategies. Some clients call this StarTrek-level tech. We call it MDriven Turnkey. We keep innovating. No lock-in. The data and the models are yours. The standards are everyone’s. The cloud is just as easy as on-prem and as easy as running the whole stack on one developer machine without a network if needed.
Pingback: How you can stay plastic (flexible) for years with MDriven - MDriven Blog
Pingback: Structured development: What to plan–and what to just react to - MDriven Blog
Pingback: OFFERING YOU BETTER SUPPORT - MDriven Blog
Pingback: Unlock the Benefits of Developing Your Software System with MDriven - MDriven Blog