About Mongoose-based applications
This topic is a high-level overview of Mongoose-based applications and the multi-tier application development process.
Database tier
The database tier consists of a set of databases that control or process the various types of data required to construct and use a Mongoose-based application. This tier consists of three basic databases:
- The Objects database contains the definitions of the IDOs (Intelligent Data Objects) created for and used by the application.
- The Form database contains the specifications for forms and form components, including validation procedures, scripts, variables, and other objects. WinStudio retrieves and interprets the specifications at run time to create a form.
- The Application database contains the primary data maintained by users of an application. In an inventory application, for example, the database might contain product numbers and quantities. By default, an Application database contains stored procedures supporting WinStudio functionality, user-defined data types, and tables for storage of administrative information, such as user names and passwords.
Middle tier
A middle-tier IDO (Intelligent Data Object) consists of a set of properties, one or more of which constitute the IDO's identifier or key.
For example, a customer IDO might consist of the following properties:
- Customer ID
- Customer name
- Customer address
- Credit limit
Since each customer has a unique Customer ID, this property could serve as the IDO's identifier.
A collection is the result set returned by an IDO. For instance, a customer collection might consist of zero or more rows containing customer information. Collections can be retrieved, navigated, and updated.
In the simplest case, an IDO corresponds to a relational database table, an IDO item corresponds to a row in the table, and an IDO property represents a column in the table. In more complex cases, an IDO can map to parts of multiple tables, and some properties might not have corresponding columns.
Client tier
A WinStudio form is a window that implements a graphical user interface for a part of the application. A form contains one or more form components. Components correspond to controls or fields on the screen such as text boxes, buttons, check boxes, drop-down lists, grids, charts, and graphics.
In a standard data maintenance application, a form is bound to one or more collections. Each component might be bound to a property of an IDO from one of the form collections. Or a component might be bound to a collection itself. Forms can also include global objects, such as variables, validators, strings, scripts, and other objects whose operation affects more than one form.
WinStudio stores these objects in the forms database. When a WinStudio application is deployed, the developer can use WinStudio functionality to customize forms, components, and global objects (including building new forms). These customized objects are tagged as different versions and are stored in the forms database.
Development process
This is the basic process to build a Mongoose-based application:
- Plan, plan, plan!
Decide how you want your application to look and work. Plan what databases you are going to need and how they must be set up. Good planning up front will save you immense amounts of time later.
- Use the Mongoose Configuration Wizard to set up the required basic databases.
- Use the Configuration Manager to set up a development environment, including creating databases and a development tools login. A tools login automatically has Vendor Developer editing permissions in WinStudio. Thus, objects you develop in WinStudio are saved as Vendor Default versions in the forms database.
- Optionally, if you want to run and test forms locally, you can use the IDO Runtime Development Server (IDORuntimeHost.exe). If you decide to use this tool, make sure you have the framework services configured properly. For more information, and the appropriate procedures, see the help for the IDO Runtime Development Server utility.
- For each IDO you need for your application, use the New Data Maintenance Wizard to construct the basic tables, IDOs, and forms. In each case, you will also need to modify and further develop the basic elements after they have been created.
- Use the WinStudio Design Mode (or Web client Designer) to finalize your application interface. For example, you can build the Master Explorer for your application, and you can test and diagnose problems by running forms.
- Once you have your application developed and working properly, deploy your application and distribute it to your users and/or customers.
This is a greatly simplified version of the process. To gain a deeper understanding, we recommend that you take advantage of the training courses; explore the videos available on our Mongoose portal; and make liberal use of the online help that is available for virtually every aspect of Mongoose application development.