IP Library Granted Patent US 8,296,665
Granted Patent B2
US 8,296,665 · App. 10/843,751 · Granted Oct 23, 2012

Developing and executing applications with configurable patterns

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,296,665
App. No.
10/843,751
Granted
Oct 23, 2012
Kind
B2
Abstract

Methods and apparatus, including computer program products, implementing techniques for developing user interface applications using configurable patterns and for executing such pattern-based applications. The techniques include receiving an identification of a pattern, generating configuration data for the pattern, and storing the configuration data separately from the pattern. The pattern includes a predefined arrangement of user interface elements and specifies predefined actions that can be performed using the user interface elements. The configuration data specifies associations between one or more of the user interface elements and one or more entities in a back-end system, and further specifies customization data for the user interface elements.

Claims (94)

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.

2. The computer-readable storage medium of claim 1 , wherein generating the configuration data includes:

displaying a specification of data objects in the back-end system;

receiving user input selecting from among the displayed data objects in the back-end system; and

associating the selected data objects with the first and second user interface elements in the identified generic GUI pattern.

3. The computer-readable storage medium of claim 1 , wherein the at least one hierarchically nested generic GUI pattern contains a predefined arrangement of user interface elements and predefined actions that can be performed using the user interface elements, and wherein generating the configuration data includes generating additional configuration data for the at least one hierarchically nested generic GUI pattern.

4. The computer-readable storage medium of claim 1 , wherein the predefined layout includes a plurality of different layouts of the first and second user interface elements, and generating the configuration data includes:

receiving user input selecting a layout from the plurality of different layouts; and

associating the first and second user interface elements in the selected layout with the data objects in the back-end system.

5. The computer-readable storage medium of claim 1 , wherein generating the configuration data for the identified generic GUI pattern includes:

receiving user input modifying the predefined layout; and

associating the first and second user interface elements in the modified layout with the data objects in the back-end system.

6. The computer-readable storage medium of claim 5 , wherein the user input comprises a specification of screen positions for at least one of the first and second user interface elements.

7. 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 a representation of a generic GUI pattern out of a plurality of predefined 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 received 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 received 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 received generic GUI pattern including at least first and second user interface elements that perform generic GUI functions of the received 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;

receiving configuration data for customizing the received generic GUI pattern to the application, the configuration data comprising:

first data binding the generic query function of the received 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; and

modifying the received generic GUI pattern based on the configuration data.

8. The computer-readable storage medium of claim 7 , wherein the method further comprises:

executing the application based on the modified generic GUI pattern.

9. The computer-readable storage medium of claim 8 , wherein executing the application comprises:

displaying the first and second user interface elements according to the configuration data; and

enabling a user to invoke the GUI query function using the first and second user interface elements and the data objects in the back-end system.

10. The computer-readable storage medium of claim 8 , wherein the method further comprises:

receiving second configuration data;

modifying the received generic GUI pattern based on the second configuration data; and

executing a second, distinct application that uses the received generic GUI pattern modified based on the second configuration data.

11. The computer-readable storage medium of claim 8 , wherein the modifying is performed during execution of the application.

12. The computer-readable storage medium of claim 8 , wherein the modifying is performed when the received generic GUI query pattern is accessed.

13. The computer-readable storage medium of claim 8 , wherein the method further comprises loading the application prior to executing the application, and wherein the modifying is performed during loading of the application.

14. The computer-readable storage medium of claim 8 , wherein the method further comprises loading the application prior to executing the application, and the modifying occurs prior to loading of the application.

15. 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:

establishing an integrated development environment for developing applications based on a programming model;

establishing, using the integrated development environment, a plurality of generic GUI patterns, each generic GUI pattern containing at least one predefined arrangement of user interface elements and at least one predefined action that can be performed using the user interface elements, wherein a selected generic GUI pattern of the plurality of generic GUI patterns comprises:

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 selected 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 selected generic GUI pattern including at least first and second user interface elements that perform generic GUI functions of the selected 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; and

developing the application by executing a configuration application for the selected generic GUI pattern to produce configuration data for the selected generic GUI pattern, the configuration data comprising:

first data binding the generic query function of the selected generic GUI pattern to a selected query data structure 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.

16. The computer-readable storage medium of claim 15 , wherein the method further comprises:

storing the configuration data separately from the selected generic GUI pattern.

17. The computer-readable storage medium of claim 15 , wherein the method further comprises:

executing the application by using the selected generic GUI pattern to read the configuration data and to modify the first and second user interface elements based on the configuration data.

18. The computer-readable storage medium of claim 17 , wherein the method further comprises:

establishing one or more run-time services operable to be used by applications developed according to the programming model,

wherein the selected generic GUI pattern invokes one or more of the run-time services during execution of the application.

19. An apparatus for developing a graphical user interface (GUI) application, comprising:

means for selecting 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 selected 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 selected 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 selected generic GUI pattern including at least first and second user interface elements that perform generic GUI functions of the selected 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;

means for generating configuration data to customize the selected generic GUI pattern to the application, the configuration data comprising:

first data binding the generic query function of the selected generic GUI pattern to a selected query data object stored in the back-end system, the selected query data object comprising a program logic component 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;

means for storing the configuration data separately from the selected generic GUI pattern; and

means for generating the application by merging the selected generic GUI pattern with the configuration data.

20. An apparatus for developing a graphical user interface (GUI) application, comprising:

means for receiving 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 received 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 received 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 received generic GUI pattern including at least first and second user interface elements that perform generic GUI functions of the received 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 system;

means for receiving configuration data for customizing the received generic GUI pattern to the application, the configuration data comprising:

first data binding the generic query function of the received generic GUI pattern to a selected query data object stored in the back-end system, the selected query data object comprising a program logic component 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; and

means for modifying the received generic GUI pattern based on the configuration data.

Assignments (4)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
CHANGE OF NAME Recorded Dec 21, 2005
From: SAP AKTIENGESELLSCHAFT
To: SAP AG
Reel/Frame 017364/0758 →
RERECORD TO CORRECT AN ERROR ON A DOCUMENT PREVIOUSLY RECORDED AT REEL 015063 FRAME 0156. (ASSIGNMENT OF ASSIGNOR'S INTEREST) Recorded Jan 12, 2005
From: STIENHANS, FRANK; MUENKEL, MARKUS; SHABUROV, VICTOR V.; GIESE, PETER; GOERKE, BJOERN
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 015588/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2004
From: STIENHANS, FRANK; MUENKEL, MARKUS; SHABUROV, VICTOR V.; GIESE, PETER; GOERKE, BJOERN
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 015063/0156 →