IP Library Granted Patent US 10,908,971
Granted Patent B1
US 10,908,971 · App. 16/777,568 · Granted Feb 2, 2021

Method and system for generating a customizable connector

Inventors: Mariano Luis Gonzalez (Ciudad Autonoma de Buenos Aires, AR); Lucas Adriel Giordano (Buenos Aires, AR); Pablo Matias Angelani (Buenos Aires, AR); Pablo Damian La Greca (Buenos Aires, AR)
Assignee: salesforce.com, inc.
G06F9/541G06F8/41
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 10,908,971
App. No.
16/777,568
Granted
Feb 2, 2021
Kind
B1
Abstract

Provided herein are system, method, and/or computer program product embodiments, and/or combinations and sub-combinations thereof for generating customizable connectors. An API specification may be used to generate a connector descriptor including metadata properties. The connector descriptor maybe customizable. The API specification and connector descriptor may be used to generate a connector configured to connect with the API described in the API specification. The source code of the connector may also be customizable. Furthermore, the source code of the connector may be upgraded based on updates to the API spec, while preserving any customizations.

Claims (56)

1. A computer-implemented method, comprising:

receiving, by one or more computing devices, a request to generate a connector using a first Application Program Interface (API) specification of a first version of an API;

receiving, by the one or more computing devices, a link to the first API specification of the first version of the API;

parsing, by the one or more computing devices, the first API specification of the first version of the API;

validating, by the one or more computing devices, the first API specification of the first version of the API by checking consistency of the first API specification;

generating, by the one or more computing devices, metadata from the first API specification of the first version of the API;

generating, by the one or more computing devices, a connector descriptor by scaffolding metadata properties from the generated metadata;

generating, by the one or more computing devices, a connector based on the connector descriptor and the first API specification;

identifying, by the one or more computing devices, a second version of the API;

generating, by the one or more computing devices, a new connector descriptor based on a second API specification of the second version of the API;

generating, by the one or more computing devices, a new connector based on the new connector descriptor and the second API specification;

identifying, by the one or more computing devices, valid source code between a first source code of the connector and a second source code of the new connector in portions of differences between the first source code of the connector and the second source code of the new connector; and

integrating, by the one or more computing devices, the valid source code to form merged source code.

2. The method of claim 1 , further comprising, pre-loading, by the one or more computing devices, default values for the metadata properties in the connector descriptor.

3. The method of claim 2 , further comprising receiving, by the one or more computing devices, modifications to the default values for the metadata properties in the connector descriptor, wherein the connector reflects the modifications to the default values for the metadata properties.

4. The method of claim 1 , further comprising:

receiving, by the one or more computing devices, modifications to the first source code of the connector; and

flagging, by the one or more computing devices, the modifications in the first source code of the connector.

5. A system comprising:

a memory;

a processor coupled to a memory, the processor configured to:

receive a request to generate a connector using a first Application Program Interface (API) specification of a first version of an API;

receive a link to the first API specification of the first version of the API;

parse the first API specification of the first version of the API;

validate the first API specification of the first version of the API by checking consistency of the first API specification;

generate metadata from the first API specification of the first version of the API;

generate a connector descriptor by scaffolding metadata properties from the generated metadata;

generate a connector based on the connector descriptor and the first API specification;

identify a second version of the API;

generate a new connector descriptor based on a second API specification of the second version of the API;

generate a new connector based on the new connector descriptor and the second API specification;

identify valid source code between a first source code of the connector and a second source code of the new connector in portions of differences between the first source code of the connector and the second source code of the new connector; and

integrate the valid source code to form merged source code.

6. The system of claim 5 , wherein the processor is further configured to pre-load default values for the metadata properties in the connector descriptor.

7. The system of claim 6 , wherein the processor is further configured to receive modifications to the default values for the metadata properties in the connector descriptor, wherein the connector reflects the modifications to the default values for the metadata properties.

8. The system of claim 5 , wherein the processor is further configured to:

receive modifications to the first source code of the connector; and

flag the modifications in the first source code of the connector.

9. A non-transitory computer-readable medium having instructions stored thereon that, upon execution by at least one computing device, cause the at least one computing device to perform operations comprising:

receiving a request to generate a connector using a first Application Program Interface (API) specification of a first version of an API;

receiving a link to the first API specification of the first version of the API;

parsing the first API specification of the first version of the API;

validate the first API specification of the first version of the API by checking consistency of the first API specification;

generating metadata from the first API specification of the first version of the API;

generating a connector descriptor by scaffolding metadata properties from the generated metadata;

generating a connector based on the connector descriptor and the first API specification;

identifying a second version of the API;

generating a new connector descriptor based on a second API specification of the second version of the API;

generating a new connector based on the new connector descriptor and the second API specification;

identifying valid source code between a first source code of the connector and a second source code of the new connector in portions of differences between the first source code of the connector and the second source code of the new connector; and

integrating the valid source code to form merged source code.

10. The non-transitory computer-readable medium of claim 9 , the operations comprising: pre-loading default values for the metadata properties in the connector descriptor.

11. The non-transitory computer-readable medium of claim 10 , the operations comprising: receiving modifications to the default values for the metadata properties in the connector descriptor, wherein the connector reflects the modifications to the default values for the metadata properties.

12. The non-transitory computer-readable medium of claim 9 , the operations comprising:

receiving modifications to the first source code of the connector; and

flagging the modifications in the first source code of the connector.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2020
From: GONZALEZ, MARIANO LUIS; GIORDANO, LUCAS; ANGELANI, PABLO MATIAS; LA GRECA, PABLO DAMIAN
To: SALESFORCE.COM, INC.
Reel/Frame 053920/0444 →
Cited By (2)
US 12,299,437 US 12,443,469