1. Field of the Invention
This invention relates in general to a computer implemented database system, and more particularly, to generating small footprint applications for mobile devices.
2. Description of Related Art
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. Relational databases are organized into tables which consist of rows and columns of data. The rows are formally called tuples. A database will typically have many tables and each table will typically have multiple tuples and multiple columns. The tables are typically stored on random access storage devices (RASD) such as magnetic or optical disk drives for semi-permanent storage.
RDBMS software using a Structured Query Language (SQL) interface is well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO). The SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host languages, such as C and COBOL. SQL allows the user to manipulate the data.
A variety of mobile devices such as Palm, Windows CE handheld devices, various embedded systems, and smart card, may utilize a RDBMS for storing and retrieving data. These types of mobile devices have become very popular and are increasingly being used by a wide spectrum of people. Unfortunately, these small devices have limited memory, a small display, and operate at slow speeds.
Due to the limited memory of mobile devices, some users download small footprint database applications. The term footprint generally refers to the amount of disk space required by an application. Many of the footprint applications are still too large for the mobile devices"" limited memory. To solve the memory space dilemma, a user can modify the traditional footprint applications and create a customized footprint application that is designed for a particular mobile device. This customized footprint application tends to contain fewer functions than the traditional footprint applications, and hence, has a smaller memory requirement than the traditional footprint applications.
Customizing a footprint application may involve providing a list of desired functions to a software developer who then develops a footprint application that contains the desired functions. The list of desired functions is typically based on both the memory constraints of a particular mobile device and on a user""s needs for a specific functionality. Mobile devices designed by different manufactures could have different memory constraints, and each individual user of these mobile devices could desire different functions. To comply with each device""s memory constraints and to satisfy each user""s functional needs, software developers may need to spend time developing several different versions of a footprint application.
Thus, there is a definite need in the art for an improved technique of customizing footprint applications that eliminates the task of developing multiple versions of footprint applications.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for generating a database application.
In accordance with the present invention, a features list is built for the database application. The feature list contains user-selected functions. The database application is dynamically configured based on the built features list.