Getting to the bottom of the Line of Business Application

After creating business applications for 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 a fully declarative application.


You will find that everything in the MDriven Turnkey user interface is based on this Manifest.

Applications have three kinds of forms.

  1. The seek form can search - from nothing - for objects in persistent storage and show them in a list.
  2. The document form 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.
  3. The report form differs from the document form by being non-interactive, paginated, and 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 accessible from the main menu as in a context-less seek operation restricted by any number of filtering parameters.
  • The second mode called “seek and pick” 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 a data quantity.

Applications have four kinds of actions.

  1. Actions that act on an object based on its class.
  2. Actions that act in a given context or use case; a document or seeker form.
  3. Actions that are global and act on neither of the above contexts, like main menu actions.
  4. Actions that can be organized in structures, like sub-menus.

Any action can be enabled or disabled based on the state of the context.

When an action is executed, the following things can happen:

  • Some code is executed.
  • A form may be opened.
  • The opened form is 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 Statemachines with guards.

This page was edited 21 days ago on 02/10/2024. What links here