MDrivenWiki
Log in

Discovery Getting to the bottom of the Line of Business Application

From MDrivenWiki


After doing business application during many years, we tried to codify the most basic feature set required from any application. Following these simple "rules", we will reach far in our quest for the fully declarative application.

You'll find that everything in the MDriven Turnkey user interface is based on this.

Applications have three kinds of forms

The seek form that from nothing can search objects in persistent storage and show them in a list

The document form that is designed for a specific use case and shows information based on a root object and its associations, in as many navigational steps as necessary

The Report form that differs from the document form by being non interactive, paginated and by expanding all combinations in master detail relationships at once (non cursored)

The seek form can be used in two different modes

The first mode is typically reached from the main menu as in a context-less seek operation restricted by any number of filtering parameters

The second mode we call “Seek and pick” and is a modal form that aims to seek out one or several objects for a specific reason; such as assignment to some association. The “Seek and pick” is commonly used to set a 0..1 association end when a combo box would not suffice due to too large data quantity

Applications has three kinds of actions

Actions that act on an object based on its class

Actions that act in a given context or use case; a document or seeker form

Actions that are global and acts on neither of the above context’s, like main menu actions

Actions can be organized in structures; like sub menus

Any action can either be enabled or disabled based on state from the context

When an action is executed to following things can happen

Some code is executed

A Form may be opened

The opened form gets assigned an optional root object by execution of some code

The opened form can be opened Modal or not and if Modal an optional piece of code will be executed when the Modal form closes with OK (like with seek and pick)

Forms have UI-Validations to communicate rule breaks in the current input

Objects follow business rules by implementing state machines with guards