IP Library Granted Patent US 11,256,556
Granted Patent B2
US 11,256,556 · App. 16/867,083 · Granted Feb 22, 2022

Systems and methods for generating an API caching library using a shared resource file

Inventors: Justin Horst (Renton, WA); Jason Foreman (St. Charles, IL); Wesley Peter (Sammamish, WA); Tyson Bunch (Sacramento, CA); Gregory D. Loyd (Colorado Springs, CO)
Assignee: salesforce.com, inc.
G06F9/547G06F8/20G06F8/30G06F8/71G06F9/448G06F9/44505G06F9/541G06F16/9536H04L67/06H04L67/1097H04L67/141H04L67/142
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,256,556
App. No.
16/867,083
Granted
Feb 22, 2022
Kind
B2
Abstract

The present disclosure is directed to systems and methods for generating an API caching library using a shared resource file. For example, a method may include: receiving, at a first platform, a shared resource file comprising metadata for declaratively deriving an application programming interface (API) caching library for a native application operating on the first platform and a corresponding application related to the native application for a second platform; parsing the shared resource file to extract the metadata at run-time of the native application; declaratively deriving the API caching library based on the extracted metadata, the declaratively deriving the API caching library comprising creating a plurality of objects that represent respective API endpoints of the API caching library; and executing a function of the native application based on at least one of the API endpoints.

Claims (39)

1. A computer-implemented method, comprising:

receiving, at a first platform, a shared resource file comprising metadata for declaratively deriving an application programming interface (API) caching library usable by a native application operating on the first platform to declaratively configure caching resources comprising API endpoints;

parsing, by a caching engine at the first platform, the shared resource file to extract the metadata at run-time of the native application;

declaratively deriving the API caching library based on the extracted metadata, wherein the declaratively deriving the API caching library comprises creating a plurality of objects that represent respective ones of the API endpoints of the API caching library corresponding to the caching resources, wherein the extracted metadata is configured for use by a browser application for a second platform that is related to the native application to declaratively configure corresponding caching resources; and

executing a function of the native application by identifying at least one of the API endpoints responsible for executing the function and requesting that the at least one of the API endpoints execute the function.

2. The method of claim 1 , wherein the shared resource file comprises a RESTful API Modeling Language (RAML) file.

3. The method of claim 2 , wherein the RAML file comprises a plurality of annotations related to the API caching library.

4. The method of claim 2 , wherein the RAML file defines respective shapes and semantics of the API caching library.

5. The method of claim 1 , wherein the first platform comprises a mobile device platform and the second platform comprises a web-based platform.

6. The method of claim 1 , further comprising:

receiving an updated shared resource file indicating one or more additions, deletions, or modifications to the metadata; and

updating the API caching library based on the updated shared resource file.

7. The method of claim 6 , wherein the updated share resource file is received on a rolling basis without updating a version of the native application.

8. A device, comprising:

a memory; and

a processor coupled to the memory and configured to perform operations comprising:

receiving a shared resource file comprising metadata for declaratively deriving an application programming interface (API) caching library usable by a native application operating on a first platform of the device to declaratively configure caching resources comprising API endpoints;

parsing, by a caching engine at the first platform, the shared resource file to extract the metadata at run-time of the native application;

declaratively deriving the API caching library based on the extracted metadata, wherein the declaratively deriving the API caching library comprises creating a plurality of objects that represent respective ones of the API endpoints of the API caching library corresponding to the caching resources, wherein the extracted metadata is configured for use by a browser application for a second platform that is related to the native application to declaratively configure corresponding caching resources; and

executing a function of the native application by identifying at least one of the API endpoints responsible for executing the function and requesting that the at least one of the API endpoints execute the function.

9. The device of claim 8 , wherein the shared resource file comprises a RESTful API Modeling Language (RAML) file.

10. The device of claim 9 , wherein the RAML file comprises a plurality of annotations related to the API caching library.

11. The device of claim 9 , wherein the RAML file defines shapes and semantics of the API caching library.

12. The device of claim 8 , wherein the first platform comprises a mobile device platform and the second platform comprises a web-based platform.

13. The device of claim 8 , wherein the processor is further configured to perform operations comprising:

receiving an updated shared resource file indicating one or more additions, deletions, or modifications to the metadata; and update the API caching library based on the updated shared resource file.

14. The device of claim 8 , wherein the updated share resource file is received on a rolling basis without updating a version of the native application.

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

receiving, at a first platform, a shared resource file comprising metadata for declaratively deriving an application programming interface (API) caching library usable by a native application operating on the first platform to declaratively configure caching resources comprising API endpoints;

parsing, by a caching engine at the first platform, the shared resource file to extract the metadata at run-time of the native application;

declaratively deriving the API caching library based on the extracted metadata, wherein the declaratively deriving the API caching library comprises creating a plurality of objects that represent respective ones of the API endpoints of the API caching library corresponding to the caching resources, wherein the extracted metadata is configured for use by a browser application for a second platform that is related to the native application to declaratively configure corresponding caching resources; and

executing a function of the native application by identifying at least one of the API endpoints responsible for executing the function and requesting that the at least one of the API endpoints execute the function.

16. The non-transitory computer-readable device of claim 15 , wherein the shared resource file comprises a RESTful API Modeling Language (RAML) file.

17. The non-transitory computer-readable device of claim 16 , wherein the RAML file comprises a plurality of annotations related to caching resources for the native application.

18. The non-transitory computer-readable device of claim 16 , wherein the RAML file defines shapes and semantics of the API caching library.

19. The non-transitory computer-readable device of claim 15 , wherein the first platform comprises a mobile device platform and the second platform comprises a web-based platform.

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

receiving, without updating a version of the native application, an updated shared resource file indicating one or more additions, deletions, or modifications to the metadata; and

updating the API caching library based on the updated shared resource file.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0480 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2020
From: HORST, JUSTIN; FOREMAN, JASON; PETER, WESLEY; BUNCH, TYSON; LOYD, GREGORY D.
To: SALESFORCE.COM, INC.
Reel/Frame 052579/0285 →
Continuity (1)
Related Publication 20210349771A1 · Nov 11, 2021