ODE Highlights
Besides the database, ODABA provides several development tools covered by the ODABA Development Environment (ODE). ODE tools handle application resources stored in an application resource database. ODE tools support all phases of a production life cycle beginning with problem analysis via database and application design and implementation up to documentation and maintenance.
ODE tools
The ODE provides several applications supporting main phases in project development as
- Problem analysis (Terminus)
- Data model design (ClassEditor)
- Application design (Designer)
- Implementation (ClassEditor)
- Documentation (Terminus)
For supporting GUI application development, the ODABA GUI framework has been provided.
GUI framework
In order to support developing GUI applications, ODABA provides a GUI framework. The GUI framework is based on Active Data Link, which allows GUI elements reacting on database events and reverse. More than 99% of GUI controls (including complex trees) in ODE tools applications are filled and updated automatically by the GUI framework.
Make better tools
ODE tools provide a lot of support for developers, but they are not perfect. It is, however, simple to create a completely different set of tools or to provide special extensions by modifying existing tools. All necessary resources for re-implement ODE tools is available in the ode.dev database, which is part of the installation.
Analysis
An enhanced technology is provided with Terminus, which allows defining a terminology model together with subject matter experts. The terminology model results in document, which may become the base for contract specifications.
Moreover, the terminology model may automatically be upgraded to a database schema, which provides 80-90% of definitions required in the database schema.
Modeling tools
ODABA supports different ways of defining a database schema:
Object Definition Language (ODL)
ODL as suggested by ODMG provides a scripting interface for defining database schemata. An extended ODL language might be used for defining and importing a database schema.
ClassEditor
More comfortable is the ClassEditor, which provides several defaults suggested for different definition elements. Moreover, the class editor provides wizards for inexperienced users.
Check features prevent the designer from making definition errors, which may cause run-time problems.
Application design
Building a GUI application is mainly a design problem, since the GUI framework does most of the work. Much work has been invested in the ODE Designer for using it as efficient as possible.
GUI classes
The ODE Designer considers forms and controls as class methods (similar to functions). GUI classes may be defined based on complex data types defined in the database schema, but also based on transient data types. Design classes support inheritance mechanisms and control (method) overloading, which allows changing data presentation according to the data type of the selected object instance.
Initialization
When creating new fields in a form, e.g. by dragging data sources to the form or tree, one not only gets the proper control style, but also content definition is provided from data source definitions (properties), which will be displayed as tool tip or extended help.
About 90% of design elements do not need anything else. Some GUI elements require specific behavior, which may be implemented as application rules.
Implementation
ClassEditor supports implementation of application and business rules, but those might also be implemented in any other development environment. All rules may be implemented as OSI (ODABA Script Interface) functions, which is the fastest way. Moreover, rules might be implemented in C++, C# classes or might be mixed with OSI functions. OSI does not require additional run-time resources (except the resource database) and is the fastest and most flexible way of implementing an application.
Documentation
All development phases are supported by "Just-in-time Documentation", which provides documentation support for more than 70 development resource types. Documentation topics linked with resources may be composed to different kind of documentation, web pages or other kind of information.

