![]() ![]() And as enterprise-scale data models continue to grow, the attendant explosion of manual-coding requirements quickly becomes unwieldy-and eventually, untenable. Current tools for easing the development burden are limited to fairly specific (and, still, fairly low-level) uses-among them, providing more-sophisticated or “richer” controls for manipulating individual data elements associating individual user-interface elements with specific back-end storage locations or-at best-offering “form generator” or “wizard” facilities to automatically generate the code for a simple UI display which manipulates a single underlying (back-end) data table.Įven with such tools, considerable work remains in building a complete, fully-functional UI for a back-end schema of any appreciable size or complexity-especially where industrial-grade performance and reliability is required. Moreover, the construction of front-end applications is generally undertaken using conventional third- or fourth-generation computer languages, which require by-hand coding at a very low level of functionality. And although the back- and front-end components must be closely synchronized and reflect similar structures, these respective development efforts are typically rather separate-with the requisite synchronization and parallels in structuring being effected only manually. At a minimum, such systems are generally composed of a “back-end” relational database management system (RDBMS)-which maintains and manipulates information according to requests submitted by other components or software processes (or expert human administrators) via open-standard query languages (i.e., SQL)-and a “front-end” presentation layer or user interface, which mediates the end-users' work with the back-end data.ĭeveloping such a database system consists both in defining the organizational structure to be used by the back-end for storing data (that is, the complement of tables which store data, and the relational links between these tables)-known as a “schema” or “data model”-and in building a front-end program (or “application”) via which end-users can manipulate this data (and which communicates with the back-end on the users' behalf). Modern databases-and in particular, complex or large databases which serve many concurrent users-are constructed as “client/server” or “n-tier” (client/server/server) systems, wherein specialized components perform separate (and carefully delineated) functions. The present disclosure relates to the field of data processing, and more particularly to relational computer databases, and to systems and methods for automatically generating without any custom programming a user interface for the database, and/or a complete application utilizing the database, or elements thereof. Techniques are also provided to enhance and extend the internal representation of table structures, constraints, relationships and special requirements (“business rules”) for improved discovery of the schema structure via automated interrogation. The UI presentation resolves cross-table relationships so as to supplant internal key fields from the primary table with corresponding descriptive fields derived from the related tables. It utilizes a hierarchical “context stack” for suspending the working state of a particular table while “drilling down” to work with related-table information and (potentially) return relevant changes to the base table. The UI derives from an automated interrogation of the schema, and comprises all mode displays (e.g., browse, search, edit, add) for all tables, along with integrated mechanisms for representing, navigating and managing relationships across tables. Abstract In one embodiment, a software system automatically generates a fully functional user interface (UI) based upon any underlying schema within a relational database management system (RDBMS).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |