IP Library › Granted Patent US 11,733,990
Granted Patent B2
US 11,733,990 · App. 16/552,755 · Granted Aug 22, 2023

Generating software artifacts from a conceptual data model

Inventor: Lars Martinsson (Sunnyvale, CA)
Assignee: Salesforce, Inc.
G06F8/64G06F16/2458G06F16/256
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,733,990
App. No.
16/552,755
Granted
Aug 22, 2023
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for generating software artifacts operable across diverse platforms from a single conceptual data model. The conceptual data model may be enhanced with metadata that allows the creation of platform-specific logical data models containing additional metadata that is leveraged to create deployable software artifacts. An organization may subsequently modify the conceptual data model and all relevant software artifacts may be updated and redeployed across all integrated platforms. Such a conceptual data model further facilitates the creation of documentation describing data entities in the organization's technical infrastructure, the creation of mapping files for use by a data exchange system, and the processing of federated queries that gather data from multiple data stores across a data landscape.

Claims (58)

1. A computer implemented method, comprising:

receiving, by one or more processors, a conceptual data model that depicts a data landscape comprising an entity and a plurality of platforms;

adding, to the conceptual data model, first metadata comprising platform-specific access requirements for authenticating with each platform in the plurality of platforms and syntactical requirements to create a table and an index on each storage mechanism available in each platform, wherein the platform-specific access requirements indicate authentication protocol information comprising a parameter needed to execute software artifacts in each platform in the plurality of platforms;

automatically creating, by the one or more processors, for each platform in the plurality of platforms, a logical data model comprising second metadata that specifies a particularized syntax to create the entity on each storage mechanism available in each platform using the first metadata;

deriving randomized data based on the first metadata and an entity type corresponding to the entity;

generating, by the one or more processors, for each platform in the plurality of platforms, platform-specific installation scripts and platform-specific data population scripts for each storage mechanism available in each platform based on the second metadata, wherein the platform-specific installation scripts create the entity as one or more data structures in a database and an index on the one or more data structures using the particularized syntax in the second metadata, and wherein the platform-specific data population scripts populate the one or more data structures with the randomized data; and

deploying, by the one or more processors, the one or more data structures into each platform in the plurality of platforms by engaging a service offered by each platform using the platform-specific access requirements and the parameter to execute the platform-specific installation scripts and the platform-specific data population scripts.

2. The method of claim 1 , further comprising:

receiving, by the one or more processors, a change to the conceptual data model;

creating, by the one or more processors, updated installation scripts and updated data population scripts for each platform in the plurality of platforms based on the change and the conceptual data model; and

redeploying, by the one or more processors, the one or more data structures into each platform in the plurality of platforms using the updated installation scripts and the updated data population scripts.

3. The method of claim 1 , further comprising:

determining, by the one or more processors, an entity type corresponding to the entity; and

creating, by the one or more processors, documentation based on the first metadata and the entity type, wherein the documentation describes the entity and the entity type.

4. The method of claim 1 , further comprising:

creating, by the one or more processors, a mapping file based on the conceptual data model.

5. The method of claim 1 , further comprising:

exposing, by the one or more processors, the conceptual data model to a query agent to process a federated query.

6. The method of claim 1 , wherein the conceptual data model further comprises a second entity and a relationship between the entity and the second entity.

7. A system, comprising:

a memory; and

a processor coupled to the memory and configured to:

receive a conceptual data model that depicts a data landscape comprising an entity and a plurality of platforms;

add, to the conceptual data model, first metadata comprising platform-specific access requirements for authenticating with each platform in the plurality of platforms and syntactical requirements to create a table and an index on each storage mechanism available in each platform, wherein the platform-specific access requirements indicate authentication protocol information comprising a parameter needed to execute software artifacts in each platform in the plurality of platforms;

automatically create for each platform in the plurality of platforms, a logical data model comprising second metadata that specifies a particularized syntax to create the entity on each storage mechanism available in each platform using the first metadata;

derive randomized data based on the first metadata and an entity type corresponding to the entity;

generate for each platform in the plurality of platforms, platform-specific installation scripts and platform-specific data population scripts for each storage mechanism available in each platform based on the second metadata, wherein the platform-specific installation scripts create the entity as one or more data structures in a database and an index on the one or more data structures using the particularized syntax in the second metadata, and wherein the platform-specific data population scripts populate the one or more data structures with the randomized data; and

deploy the one or more data structures into each platform in the plurality of platforms by engaging a service offered by each platform using the platform-specific access requirements and the parameter to execute the platform specific installation scripts and the platform-specific data population scripts.

8. The system of claim 7 , the processor further configured to:

receive a change to the conceptual data model;

create updated installation scripts and updated data population scripts for each platform in the plurality of platforms based on the change and the conceptual data model; and

redeploy the one or more data structures into each platform in the plurality of platforms using the updated installation scripts and the updated data population scripts.

9. The system of claim 7 , the processor further configured to:

determine an entity type corresponding to the entity; and

create documentation based on the first metadata and the entity type, wherein the documentation describes the entity and the entity type.

10. The system of claim 7 , the processor further configured to:

create a mapping file based on the conceptual data model.

11. The system of claim 7 , the processor further configured to:

expose the conceptual data model to a query agent to process a federated query.

12. The system of claim 7 , wherein the conceptual data model further comprises a second entity and a relationship between the entity and the second entity.

13. A non-transitory computer-readable device having instructions stored thereon that, when executed by a computing device, cause the computing device to perform operations comprising:

receiving a conceptual data model that depicts a data landscape comprising an entity and a plurality of platforms;

adding, to the conceptual data model, first metadata comprising platform-specific access requirements for authenticating with each platform in the plurality of platforms and syntactical requirements to create a table and an index on each storage mechanism available in each platform, wherein the platform-specific access requirements indicate authentication protocol information comprising a parameter needed to execute software artifacts in each platform in the plurality of platforms;

automatically creating for each platform in the plurality of platforms, a logical data model comprising second metadata that specifies a particularized syntax to create the entity on each storage mechanism available in each platform using the first metadata;

deriving randomized data based on the first metadata and an entity type corresponding to the entity;

generating for each platform in the plurality of platforms, platform-specific installation scripts and platform-specific data population scripts for each storage mechanism available in each platform based on the second metadata, wherein the platform-specific installation scripts create the entity as one or more data structures in a database and an index on the one or more data structures using the particularized syntax in the second metadata, and wherein the platform-specific data population scripts populate the one or more data structures with the randomized data; and

deploying the one or more data structures into each platform in the plurality of platforms by engaging a service offered by each platform using the platform-specific access requirements and the parameter to execute the platform-specific installation scripts and the platform-specific data population scripts.

14. The non-transitory computer-readable device of claim 13 , the operations further comprising:

receiving a change to the conceptual data model;

creating updated installation scripts and updated data population scripts for each platform in the plurality of platforms based on the change and the conceptual data model; and

redeploying the one or more data structures into each platform in the plurality of platforms using the updated installation scripts and the updated data population scripts.

15. The non-transitory computer-readable device of claim 13 , the operations further comprising:

determining an entity type corresponding to the entity; and

creating documentation based on the first metadata and the entity type, wherein the documentation describes the entity and the entity type.

16. The non-transitory computer-readable device of claim 13 , the operations further comprising:

creating a mapping file based on the conceptual data model.

17. The non-transitory computer-readable device of claim 13 , the operations further comprising:

exposing the conceptual data model to a query agent to process a federated query.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: MARTINSSON, LARS
To: SALESFORCE.COM, INC.
Reel/Frame 053103/0863 →
Continuity (1)
Related Publication 20210064355A1 · Mar 4, 2021
Cited By (1)
US 12,717,596