APPLICATION MODEL |
Architecture | ||||
| The Application Model captures the design components that govern an applications behavior and its interaction with the user. During the prototyping phase, OmniBuilder generates an application layer using default design templates. Once the Business Model has been defined (even minimally), application designers are free to modify the Application Model to suit specific requirements; OmniBuilder will respect their design decisions in subsequent generation. The Application Model also includes the actual physical implementation of the objects into RDBMS objects such as tables, indices, foreign keys references, and referential constraints; this is the Physical Model. The Physical Model is automatically built by OmniBuilder from the Business Model, however it can be separately modified by the developer if desired. |
|
||||
| Object brokers
are sophisticated data access classes that mediate
between the Business Model and the running application.
Each Object Broker is mapped to a portion of the Business
Model and can be used for prototyping without the effort
of screen painting. Object brokers can be mapped to entities, relationships and queries. Foreign key references and domain values are resolved, and services are automatically attached to allow data input and navigation to related entities. Other services available include: Zoom to parent records; Browse children relationships; and, Query by Form. |
|||||
![]() |
|||||
| Object Brokers support Live
Object Modeling, a powerful feature that allows the
Business Model to be developed and validated without
coding. If the analyst adds a new property to a business
object or articulates a new relationship, the rebuilt
Object Brokers will immediately reflect the changes. Triggers and services can be attached to a wide range of Object Broker events (example: post-commit or pre-insert) and the resultant behavior is automatically reflected in the User Interface. |
|||||
OmniBuilder
provides a variety of Design Patterns which implement
sophisticated object behavior. Application designers are
free to define their own Design Patterns to meet specific
requirements. A few of the supplied Design Patterns are:
|
|||||
Defaulting Windows |
Once an Object
Broker is built, OmniBuilder generates default windows
for its display. This simplifies the work of the
interface designer, as they do not need to have any
detailed knowledge of the underlying business objects. Standard window controls are available which can be chosen by the application designer or defaulted by OmniBuilder. Once OmniBuilder has generated a default window, the developer can enhance the window with a Window Painter. |
||||
|
|||||
| The painted windows may be run interactively from within OmniBuilder just as they will be run by the application executable. | |||||
| Window functionality is easily added. Assume, for example, that you want to add a button. Once the button is painted, you add a button to a specific window panel within OmniBuilder and either attach a canned Feature to the button (ex. "Create a new record"), or write your own script for the button. | |||||
|
|||||
OmniBuilder
provides a full and intuitive security implementation:
|
|||||
| Prototyping Security | Security can be prototyped within the development environment with the Prototype Wizard. After a Role is chosen, menus will be displayed accordingly and data access can be tested. This speeds up testing and interface design immensely because specific login accounts do not need to be created and the tester does not need to log-out/log-in to another account continuously. | ||||
| Porting Security | OmniBuilder generates the required security implementation at all tiers. | ||||
| Window Security | OmniBuilder
notifies users of their access permissions within windows
and menus of the application. Data, which is not allowed
to be edited, will be automatically grayed out in the
window. Buttons which perform disallowed functions are
grayed out, and services which are not allowed are
automatically removed from the service list attached to
the mouse click. Menus to which the user is denied access
are not visible to the user. The sample window below shows display access to the full Employee record with update restricted on Employee name. Also, deletion is not permitted so the Delete button is inactivated and the Delete service removed from the mouse menu. |
||||
|
|||||