IP Library › Granted Patent US 10,592,318
Granted Patent B2
US 10,592,318 · App. 15/808,385 · Granted Mar 17, 2020

Application programming interfaces in a multi-server environment

Inventors: Leo Anthony Christy Jesuraj (Browmanville, CA); Arthur L. De Magalhaes (Markham, CA); Felix Wong (Markham, CA)
Assignee: International Business Machines Corporation
G06F9/547
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,592,318
App. No.
15/808,385
Granted
Mar 17, 2020
Kind
B2
Abstract

A method, computer program product, and system includes a processor(s) obtaining application programming interface (API) records from one or more computing resources in a shared computing environment, which include individual API data from each computing resource, identifying, for each API record, a relative path to an endpoint of a respective application deployed on the computing resource. The processor(s) combines the individual API data into merged API data, which includes modifying the relative path of each API record to identify a specific computing resource in the path. The processor(s) generates an interface to display to a client a list of APIs identified in the merged API data. The processor(s) obtains a selection from the client, of a specific API, and invokes, a connection, via the interface and using one or more security artifacts, to the endpoint and the respective application of the specific API.

Claims (57)

1. A computer-implemented method, comprising:

obtaining, by one or more processors, of a first computing resource in a shared computing environment, application programming interface (API) records from one or more additional computing resources in the shared computing environment, the API records comprising individual API data from each computing resource, the individual API data identifying, for each API record in the individual API data, a relative path to an endpoint of a respective application deployed on the computing resource;

combining, by the one or more processors, the individual API data from each computing resource, into merged API data, wherein the combining comprises modifying the relative path of each API record to identify a specific computing resource of the one or more additional computing resources, as the computing resource in the relative path, wherein the modifying comprises:

tagging the individual API data from each computing resources with a unique server identifier associating the API with a server of origin for the API; and

resolving conflicts in the individual API data from each computing resource, wherein the conflicts comprise differentiating between more than one API from a common application, wherein the merged API data comprises an aggregation of data from the more than one API;

generating, by the one or more programs, an interface to display to a client a list of APIs identified in the merged API data;

obtaining, by the one or more processors, from the client, through the interface, a selection of a specific API from the list; and

based on obtaining, by the one or more processors, the selection, invoking, by the one or more processors, a connection, via the interface, to the endpoint and the respective application of the specific API.

2. The computer-implemented method of claim 1 , further comprising:

providing, by the one or more processors, an object to the one or more additional computing resources, and

wherein obtaining the API records is via utilization of the object by the one or more additional computing resources.

3. The computer-implemented method of claim 1 , wherein the individual API data from each computing resource of the additional one or more computing resources comprises a consolidated API document comprising APIs representing applications deployed on the computing resource.

4. The computer-implemented method of claim 3 , wherein the unique server identifier comprises a host name, a user directory, and the server name of the server of origin for the API, the method further comprising:

obtaining, by the one or more processors, from each computing resource of the additional one or more computing resources, security artifacts associated with the applications deployed on the computing resource.

5. The computer-implemented of claim 4 , wherein the respective application is associated with a first artifact of the security artifacts, and wherein the invoking comprises utilizing the first artifact to invoke the connection to the endpoint and the respective application.

6. The computer-implemented of claim 5 , wherein the first artifact is selected from the group consisting of: a secure sockets layer (SSL) certificate and a Cross-Origin Resource Sharing (CORS) filter.

7. The computer-implemented method of claim 1 , wherein the API records each represent a Representational State Transfer (REST) API.

8. The computer-implemented method of claim 1 , further comprising:

obtaining, by one or more processors, individual API data from a new computing resource in the shared computing environment, the individual API data from a new computing resource identifying, for each API record in the individual API data from a new computing resource, a relative path to an endpoint of a respective application deployed on the new computing resource;

updating, by the one or more processors, the merged API data by combining the individual API data from the new computing resource with the merged API data, wherein the combining comprises modifying the relative path of each API record in the individual API from the new computing resource to identify the new computing resource as the computing resource in the relative path in each API record in the individual API from the new computing resource;

updating, by the one or more processors, the interface to display to the client an updated list of APIs, wherein the updated list comprises APIs identified in the updated merged API data; and

based on obtaining, by the one or more processors, from the client, through the interface, a selection of a second specific API from the updated list, invoking, by the one or more processors, a new connection, via the interface, to the endpoint and the respective application of the second specific API.

9. The computer-implemented method of claim 1 , wherein combining the individual API data from each computing resource into merged API data further comprises:

identifying, by the one or more processors, at least one duplicate records in the merged API data; and

removing, by the one or more programs, the at least one duplicate API record in the merged API data.

10. The computer-implemented of claim 1 , wherein generating the interface comprises providing a filter functionality, wherein the functionality enables the client to filter the list of APIs by computing resource of the additional computing resources.

11. The computer-implemented method of claim 1 , wherein the first computing resource comprises one or more controllers.

12. The computer-implemented method of claim 1 , wherein the one or more additional computing resources comprise one or more application servers.

13. A computer program product comprising:

a computer readable storage medium readable by one or more processors and storing instructions for execution by the one or more processors for performing a method comprising:

obtaining, by the one or more processors, of a first computing resource in a shared computing environment, application programming interface (API) records from one or more additional computing resources in the shared computing environment, the API records comprising individual API data from each computing resource, the individual API data identifying, for each API record in the individual API data, a relative path to an endpoint of a respective application deployed on the computing resource;

combining, by the one or more processors, the individual API data from each computing resource, into merged API data, wherein the combining comprises modifying the relative path of each API record to identify a specific computing resource of the one or more additional computing resources, as the computing resource in the relative path wherein the modifying comprises:

tagging the individual API data from each computing resources with a unique server identifier associating the API with a server of origin for the API; and

resolving conflicts in the individual API data from each computing resource, wherein the conflicts comprise differentiating between more than one API from a common application, wherein the merged API data comprises an aggregation of data from the more than one API;

generating, by the one or more programs, an interface to display to a client a list of APIs identified in the merged API data;

obtaining, by the one or more processors, from the client, through the interface, a selection of a specific API from the list; and

based on obtaining, by the one or more processors, the selection, invoking, by the one or more processors, a connection, via the interface, to the endpoint and the respective application of the specific API.

14. The computer program product of claim 13 , further comprising:

providing, by the one or more processors, an object to the one or more additional computing resources, and

wherein obtaining the API records is via utilization of the object by the one or more additional computing resources.

15. The computer program product of claim 13 , wherein the individual API data from each computing resource of the additional one or more computing resources comprises a consolidated API document comprising APIs representing applications deployed on the computing resource.

16. The computer program product of claim 15 , further comprising:

obtaining, by the one or more processors, from each computing resource of the additional one or more computing resources, security artifacts associated with the applications deployed on the computing resource.

17. The computer program product of claim 16 , wherein the respective application is associated with a first artifact of the security artifacts, and wherein the invoking comprises utilizing the first artifact to invoke the connection to the endpoint and the respective application.

18. The computer program product of claim 17 , wherein the first artifact is selected from the group consisting of: a secure sockets layer (SSL) certificate and a Cross-Origin Resource Sharing (CORS) filter.

19. The computer program product of claim 13 , wherein the API records each represent a Representational State Transfer (REST) API.

20. A system comprising:

a memory;

one or more processors in communication with the memory; and

program instructions executable by the one or more processors via the memory to perform a method, the method comprising:

obtaining, by the one or more processors, of a first computing resource in a shared computing environment, application programming interface (API) records from one or more additional computing resources in the shared computing environment, the API records comprising individual API data from each computing resource, the individual API data identifying, for each API record in the individual API data, a relative path to an endpoint of a respective application deployed on the computing resource;

combining, by the one or more processors, the individual API data from each computing resource, into merged API data, wherein the combining comprises modifying the relative path of each API record to identify a specific computing resource of the one or more additional computing resources, as the computing resource in the relative path wherein the modifying comprises:

tagging the individual API data from each computing resources with a unique server identifier associating the API with a server of origin for the API; and

resolving conflicts in the individual API data from each computing resource, wherein the conflicts comprise differentiating between more than one API from a common application, wherein the merged API data comprises an aggregation of data from the more than one API;

generating, by the one or more programs, an interface to display to a client a list of APIs identified in the merged API data;

obtaining, by the one or more processors, from the client, through the interface, a selection of a specific API from the list; and

based on obtaining, by the one or more processors, the selection, invoking, by the one or more processors, a connection, via the interface, to the endpoint and the respective application of the specific API.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2017
From: CHRISTY JESURAJ, LEO ANTHONY; DE MAGALHAES, ARTHUR L.; WONG, FELIX
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044084/0471 →
Continuity (1)
Related Publication 20190138376A1 · May 9, 2019