1. A computer-readable storage medium storing a computer program, the computer program being operable to cause a data processing apparatus to perform a method for developing a graphical user interface (GUI) application, the method comprising: receiving identification of a generic GUI pattern out of a plurality of predefined generic GUI patterns, the plurality of generic GUI patterns containing predefined arrangements of user interface elements and predefined actions that can be performed using the user interface elements, the identified generic GUI pattern comprising: at least one hierarchically nested generic GUI pattern, the at least one hierarchically nested generic GUI pattern being a guided data entry pattern (GDP); a model component specifying a generic query function performed by the identified generic GUI pattern, the model component including a query input structure defining the structure of data to be input to the generic query function and a query result structure defining the structure of data to be returned by the generic query function in response to the input during execution of the application; a view component specifying a predefined layout of user interface elements of the identified generic GUI pattern including at least first and second user interface elements that perform generic GUI functions of the identified generic GUI pattern during execution of the application; and a controller component binding the first and second user interface elements of the view component to corresponding data objects in a back-end storage system; generating configuration data for customizing the identified generic GUI pattern to the application, the configuration data comprising: first data binding the generic query function of the identified generic GUI pattern to a selected query data object stored in the back-end system, the selected query data object comprising a program logic element for executing a query operation associated with selected business functionality; and second data specifying: a first label to be displayed in connection with the first user interface element during execution of the application, and a first data object type associated with the first user interface element; and a second label to be displayed in connection with the second user interface element during execution of the application, and a second data object type associated with the second user interface element; storing the configuration data separately from the identified generic GUI pattern; and generating the application by merging the identified generic GUI pattern with the configuration data.