IP Library › Granted Patent US 11,138,206
Granted Patent B2
US 11,138,206 · App. 16/225,742 · Granted Oct 5, 2021

Unified metadata model translation framework

Inventors: Ingo Siebeking (Heidelberg, DE); Andreas Balzar (Bad Schoenborn, DE); Gerald Krause (Bensheim, DE); Jan Teichmann (Neustadt/Weinstrasse, DE)
Assignee: SAP SE
G06F16/24573G06F16/2456G06F16/84G06F16/907
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 11,138,206
App. No.
16/225,742
Granted
Oct 5, 2021
Kind
B2
Abstract

Techniques and solutions are described for transferring metadata between software applications. A translation framework stores metadata models in a standard format. Source applications can cause metadata models to be stored in the translation framework in the standard format. A target application can receive metadata models, or elements thereof, from the translation framework, which metadata models can be optionally converted from the standard format to a target format used by the target application. The translation framework can store annotations to a metadata model in the form of custom metadata types. The custom metadata types can be used by one or both of the target application and a source application. Source applications can cause values to be stored for annotations they support. Target applications can read values for annotations they support. Source applications and target applications do not write or read, respectively, unsupported annotations.

Claims (52)

1. A method, implemented in a computing system comprising one or more processors and one or more memories coupled to the one or more processors, the one or more memories comprising computer-executable instructions for causing the computing system to perform operations comprising:

with a first software application, defining one or more metadata models in a first format, the first format comprising a first plurality of metadata elements, each metadata element having an identifier, wherein each metadata element can be associated with one or more values;

transforming at least one of the one or more metadata models into a second format to provide a transformed metadata model, the second format being a standard format used by a translation framework, the standard format being a common metadata model format for a plurality of software applications, the plurality of software applications comprising the first software application and at least a second software application, wherein the transforming comprises:

transforming one or more metadata elements of the first plurality of metadata elements to one or more standard metadata elements of the second format; and

transforming at least one of the first plurality of metadata elements to a custom metadata element of the second format, wherein a custom metadata element indicates a metadata element of the second format that extends the standard format and may be used by software applications that support the custom metadata element but the custom metadata element is not useable by software applications that only support the standard format, and wherein the custom metadata element is indicated as a custom metadata element in the second format using one or more semantic elements comprising one or more tokens of the second format; and

sending the transformed metadata model in the second format to the translation framework, wherein the translation framework is accessible to a plurality of software applications, the plurality of software applications comprising the first software application and at least a second software application, wherein the at least a second software application is not configured to receive data in the first format.

2. The method of claim 1 , wherein the second format has hierarchically organized metadata types, and wherein the custom metadata element of the second format is associated with a particular hierarchical level.

3. The method of claim 1 , wherein the standard metadata elements comprise metadata elements of an entity-relation model comprising entities and fields.

4. The method of claim 1 , wherein the transforming is carried out by the first software application.

5. The method of claim 1 , wherein the transforming is carried out by the translation framework.

6. The method of claim 1 , wherein the transforming is carried out using a transformation template.

7. The method of claim 1 , wherein the second format comprises a plurality of hierarchically related metadata models, and the first format corresponds to a model of the plurality of hierarchically related metadata models.

8. The method of claim 1 , wherein the transformation comprises converting a value associated with a metadata element of the first plurality of metadata elements from a first data type used with the first format to a second data type used with the second format.

9. The method of claim 1 , wherein the transformation comprises altering a data source referenced by a value of a metadata element of the first plurality of metadata elements of the first format.

10. The method of claim 1 , wherein at least one metadata element of the first format specifies a data processing type to be used with a first metadata model of the one or more metadata models.

11. The method of claim 10 , wherein the data processing type is a JOIN type.

12. The method of claim 1 , wherein the transforming comprises adding one or more metadata elements in the second format that describe a metadata element of the first format.

13. A computing system comprising:

memory;

one or more processing units coupled to the memory; and

one or more non-transitory computer readable storage media storing instructions that, when executed, cause the computing system to perform operations comprising:

with a first software application, defining one or more metadata models in a first format, the first format comprising a first plurality of metadata elements, each metadata element having an identifier, wherein each metadata element can be associated with one or more values;

transforming at least one of the one or more metadata models into a second format to provide a transformed metadata model, the second format being a standard format used by a translation framework, the standard format being a common metadata model format for a plurality of software applications, the plurality of software applications comprising the first software application and at least a second software application, wherein the transforming comprises:

transforming one or more metadata elements of the first plurality of metadata elements to one or more standard metadata elements of the second format; and

transforming at least one of the first plurality of metadata elements to a custom metadata element of the second format, wherein a custom metadata element indicates a metadata element of the second format that extends the standard format and may be used by software applications that support the custom metadata element but the custom metadata element is not useable by software applications that only support the standard format, and wherein the custom metadata element is indicated as a custom metadata element in the second format using one or more semantic elements comprising one or more tokens of the second format; and

sending the transformed metadata model in the second format to the translation framework, wherein the translation framework is accessible to a plurality of software applications, the plurality of software applications comprising the first software application and at least a second software application, wherein the at least a second software application is not configured to receive data in the first format.

14. The computing system of claim 13 , the operations further comprising:

receiving from the second software application at least a second annotation in the form of a custom metadata element type;

storing the at least a second annotation in a definition of the transformed metadata model;

receiving a request from a third software application, which can be the first software application or the second software application, for one or more metadata element types of the transformed metadata model; and

sending the one or more metadata element types of the transformed metadata model to the third software application in response to the request.

15. One or more non-transitory computer-readable storage media storing computer-executable instructions for causing a computing system to perform operations comprising:

with a first software application, defining one or more metadata models in a first format, the first format comprising a first plurality of metadata elements, each metadata element having an identifier, wherein each metadata element can be associated with one or more values;

transforming at least one of the one or more metadata models into a second format to provide a transformed metadata model, the second format being a standard format used by a translation framework, the standard format being a common metadata model format for a plurality of software applications, the plurality of software applications comprising the first software application and at least a second software application, wherein the transforming comprises:

transforming one or more metadata elements of the first plurality of metadata elements to one or more standard metadata elements of the second format; and

transforming at least one of the first plurality of metadata elements to a custom metadata element of the second format, wherein a custom metadata element indicates a metadata element of the second format that extends the standard format and may be used by software applications that support the custom metadata element but the custom metadata element is not useable by software applications that only support the standard format, and wherein the custom metadata element is indicated as a custom metadata element in the second format using one or more semantic elements comprising one or more tokens of the second format; and

sending the transformed metadata model in the second format to the translation framework, wherein the translation framework is accessible to a plurality of software applications, the plurality of software applications comprising the first software application and at least a second software application, wherein the at least a second software application is not configured to receive data in the first format.

16. The one or more non-transitory computer-readable storage media of claim 15 , the operations further comprising:

receiving a request from a third software application, which can be the second software application, for one or more metadata element types of the transformed metadata model;

determining that the custom metadata element of the second format is not supported by the third software application; and

in response to determining that the custom metadata element is not supported by the third software application, not sending the custom metadata element to the third software application in response to the request.

17. The one or more non-transitory computer-readable storage media of claim 15 , the operations further comprising:

receiving a request from a third software application, which can be the second software application, for one or more metadata element types of the transformed metadata model;

determining that the custom metadata element of the second format is supported by the third software application; and

in response to determining that the custom metadata element is supported by the third software application, sending the custom metadata element to the third software application in response to the request.

18. The one or more non-transitory computer-readable storage media of claim 15 , the operations further comprising:

receiving a request from a third software application, which can be the second software application, for one or more metadata element types of the transformed metadata model; and

creating a runtime object based at least in part on the transformed metadata model, wherein the runtime object includes any custom metadata types supported by the third software application.

19. The one or more non-transitory computer-readable storage media of claim 15 , the operations further comprising:

converting at least a portion of the transformed metadata model to a third format, wherein the third format is at least partially different than the standard format.

20. The one or more non-transitory computer-readable storage media of claim 15 , wherein the transformed metadata model comprises one or more values for one or more data members, the operations further comprising:

storing at least a portion of the one or more values for the one or more data members in a runtime object generated at least in part for the transformed metadata model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: SIEBEKING, INGO; BALZAR, ANDREAS; KRAUSE, GERALD; TEICHMANN, JAN
To: SAP SE
Reel/Frame 048889/0158 →
Continuity (1)
Related Publication 20200201865A1 · Jun 25, 2020
Cited By (5)
US 12,204,565 US 12,360,753 US 12,361,001 US 12,386,850 US 12,602,406