|This article does not cite any references or sources. (October 2011)|
Appaserver's paradigm is to build database applications without painting or programming the user interface. Instead, applications are assembled from database components — tables, columns, relations, and roles. Web forms are created dynamically, allowing select, insert, update, and delete operations on each table. Also:
- Top/bottom, one-to-many[disambiguation needed] screens are automatically produced.
- Query screens are automatically produced.
- Buttons to compute statistics on numeric fields are automatically created.
- Buttons to create time charts and histograms on numeric fields are automatically created.
- Relations are maintained from within.
- Primary keys can be updated. The update then cascades throughout the foreign keys across related tables.
- Rows can be deleted without creating orphans. Rows in one-to-many related tables will automatically be deleted unless the relationship is flagged to update the foreign key to null.
- Natural keys are used, not Surrogate keys. However, surrogate keys may be used as secondary keys. For example, the primary key for the customer table would likely be "Customer_Name|Address". However, the customer table might also have a customer_number column as a secondary key. Therefore, the primary key for the customer table might be "Customer_Name|Customer_Number".
Security is obtained by grouping users into roles. Table-level access — select, insert, update, and delete — is then granted to each role. Security can be refined by restricting row-level and column-level access. Processes are executed via the Common Gateway Interface. Appaserver is available under the GNU software license.