IP Library Granted Patent US 7,543,268
Granted Patent B2
US 7,543,268 · App. 10/676,374 · Granted Jun 2, 2009

Development environment for developing applications using a metamodel and a metadata API

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 7,543,268
App. No.
10/676,374
Granted
Jun 2, 2009
Kind
B2
Abstract

Methods and apparatus, including computer program products, for developing an application. The development includes the use of a data model (e.g., a metamodel represented using UML) from which an API is derived. The API can include features derived from customizable extensions within the data model.

Claims (43)

1. A method for developing an application, the method comprising:

defining file borders for development objects of an application in a data model represented using UML comprising a customizable extension, wherein the data model includes a component class, a model class associated with the component class, and a controller class that is associated with the component class, wherein the controller class associates a user interface view to a business application model;

storing the development objects of the application in a file-based repository based on the file borders; and

employing an API derived from the data model to access the development objects,

wherein the API incorporates the customizable extension in the data model,

wherein during the API derivation, an endpoint of a relation between the data model classes is used to maintain the correct direction of the relation,

wherein to create methods for the API, a distinction between singular and plural forms of the endpoint of the relation between the data model classes is made to differentiate between interaction with one instance at the endpoint or with multiple instances at the endpoint,

wherein employing the API further comprises using tools that use the API to enable a user to perform a development operation; and

wherein the development operation comprises enabling the user to refactor a copied one of the development objects to modify a key attribute of the copied one of the development objects while updating existing references within a scope of the refactor without invalidating all existing references.

2. The method of claim 1 , further comprising caching the development objects in a local cache.

3. The method of claim 1 , wherein defining the file borders comprises identifying one of the development objects as a main development object to be included in a file with any development objects that are defined in the data model to be children objects of the main development object that are not identified as main development objects.

4. The method of claim 3 , further comprising storing in the file user-defined code associated with the main development object.

5. The method of claim 3 , further comprising storing in the file a reference to another development object stored in another file.

6. The method of claim 1 , further comprising enabling the user to define a source path for one of the development objects.

7. The method of claim 1 wherein the development operation includes a copy and paste operation.

8. The method of claim 1 , further comprising enabling the user to define the scope of the refactor.

9. The method of claim 1 , wherein the development operation includes storing translatable text separate from the development objects.

10. The method of claim 1 , wherein the key attribute is a name, an aggregating parent, or a package for the development objects.

11. A computer-implemented method for developing applications in a development system, the method comprising:

generating a data model for an application, the data model being implemented in a unified modeling language that includes a customizable extension, the data model including a feature defined using the customizable extension, wherein the data model includes a component class, a model class associated with the component class, and a controller class associated with the component class wherein the controller class associates a user interface view to a business application model;

deriving an API from the data model, the API incorporating the feature, wherein during the API derivation, an endpoint of a relation between the data model classes is used to maintain the correct direction of the relation, and

wherein to create methods for the API, a distinction between singular and plural forms of the endpoint of the relation between the data model classes is made to differentiate between interaction with one instance at the endpoint or with multiple instances at the endpoint;

enforcing constraints specified in the data model by employing the derived API during development of the application; and

enabling a user to access development objects of the application using the API, wherein tools that use the API enable the user to perform a development operation;

wherein the development operation comprises enabling the user to refactor a copied one of the development objects to modify a key attribute of the copied one of the development objects while updating existing references within a scope of the refactor without invalidating all existing references.

12. The method of claim 11 , wherein the feature comprises an indication used to implement a file border.

13. The method of claim 11 , wherein the feature comprises an indication used to implement a platform-specific feature.

14. The method of claim 11 , wherein the feature comprises an indication representing translatable text.

15. The method of claim 11 , wherein the feature comprises an indication representing that an aggregation in the data model is ordered.

16. The method of claim 11 , wherein the feature comprises an indication representing a singular name.

17. The method of claim 11 , wherein the feature comprises an indication representing that an attribute in the data model is nullable.

18. The method of claim 11 , further comprising enabling the user to define a scope of the refactor using the tools, wherein the user selects a value for the scope.

19. A machine-readable storage device storing a program for causing a computer to perform a method for developing an application, the method comprising:

defining file borders for development objects in a data model represented using UML comprising a customizable extension, wherein the data model includes a component class, a model class associated with the component class, and a controller class that is associated with the component class, wherein the controller class associates a user interface view to a business application model;

caching the development objects from a repository storing the development objects using the file borders defined in the data model into a local development cache;

employing a user interface development tool that uses an API to access the development objects,

wherein the API is derived from the data model,

wherein during the API derivation, an endpoint of a relation between the data model classes is used to maintain the correct direction of the relation,

wherein to create methods for the API, a distinction between singular and plural forms of the endpoint of the relation between the data model classes is made to differentiate between interaction with one instance at the endpoint or with multiple instances at the endpoint, and

wherein using the API enables a user to perform a development operation; and

employing a second user interface development tool to enable the user to refactor a copied one of the development objects to modify a key attribute of the copied one of the development objects while updating existing references within a scope of the refactor without invalidating all existing references.

20. The machine-readable storage device of claim 19 , wherein the method further comprises storing the repository in a repository server.

21. The machine-readable storage device of claim 19 , wherein the user interface development tool comprises one of a project browser, an application modeler, a view designer, a controller and context editor, and a model editor.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2003
From: CHERDRON, MARKUS; BAUMGART, JENS; BECK, STEFAN; GOERKE, BJOERN; ITTEL, JENS; KNOEPPLER,JOHANNES; NOTTBOHM, KLAUS
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 014138/0109 →