IP Library Granted Patent US 9,588,738
Granted Patent B2
US 9,588,738 · App. 14/623,156 · Granted Mar 7, 2017

Supporting software application developers to iteratively refine requirements for web application programming interfaces

Inventors: Gennaro A. Cuomo (Durham, NC); Hani T. Jamjoom (Cos Cob, CT); Jim A. Laredo (Katonah, NY); Arjun Natarajan (Old Tappan, NJ); Shriram Rajagopalan (White Plains, NY); Daniel J. Williams (Ithaca, NY); John E. Wittern (New York, NY)
Assignee: International Business Machines Corporation
G06F8/10G06F8/20G06F17/3053G06F17/30528G06F17/30554G06F17/30604G06F17/30864G06F17/30867H04L67/42H04L67/02
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 9,588,738
App. No.
14/623,156
Granted
Mar 7, 2017
Kind
B2
Abstract

Providing Web API recommendations for a context of an application is provided. A ranked list of recommended Web APIs and a set of Web API recommendations regarding the context of the application is sent to a client device via a network. In response to determining that a selection of a set of Web APIs in the ranked list of recommended Web APIs was received, the selected set of Web APIs is added to the context of the application to generate a new context of the application. A display of a relationship among the set of added Web APIs to the new context of the application is sent to the client device via the network.

Claims (39)

1. A computer system for providing Web Application Programming Interface (API) recommendations for a context of an application, the computer system comprising;

a bus system;

a storage device connected to the bus system, wherein the storage device stores program instructions; and

a processor connected to the bus system, wherein the processor executes the program instructions to:

send a ranked list of Web APIs recommended and a set of Web API recommendations regarding the context of the application, as a result of input containing current Web API requirements and the set of Web API recommendations determined by traversal of relationships within a graph structure of a graph-based Web API data model, to a client device via a network, wherein each node in the graph structure represents an end point including one of a corresponding Web API, a specific portion of a Web API, common Web API characteristics and Web API attributes, and wherein Web APIs recommended in the ranked list of Web APIs recommended are ranked based on the relationships of the Web APIs recommended to the context of the application;

wherein set of Web API recommendations include instructions on how to use the Web APIs within the ranked list of Web APIs;

wherein the relationships of the Web APIs recommended to the context of the application include matching data formats;

add a selected set of Web APIs to the context of the application to generate a new context of the application in response to determining that a selection of a set of Web APIs in the ranked list of Web APIs recommended was received; and

send a display of a relationship among the selection of the set of Web APIs in the ranked list of Web APIs recommended added to the new context of the application to the client device via the network.

2. The computer system of claim 1 , wherein the processor further executes the program instructions to:

receive the context of the application from the client device via the network;

receive search terms that include initial Web API requirements as the current Web API requirements for the context of the application from the client device via the network; and

define a Web API recommendation query that includes the search terms and the selection of the set of Web APIs for the context of the application.

3. The computer system of claim 2 , wherein the initial Web API requirements for the context of the application include at least one of an initial list of required Web APIs selected by a software application developer for the context of the application, a Web API category from which to select and recommend other Web APIs for the context of the application, full-text search terms used to search the graph-based Web API data model for the other Web APIs recommended for the context of the application, and one or more attributes corresponding to the other Web APIs recommended.

4. The computer system of claim 1 , wherein the processor further executes the program instructions to:

send a Web API recommendation query for the context of the application to a Web API relationship engine that contains the graph-based Web API data model comprising Web API descriptions, attributes, and relationships;

match Web API names and descriptions and identify relationships to required Web API attributes in the context of the application using the graph-based Web API data model by the Web API relationship engine; and

receive a search result from the Web API relationship engine containing a list of Web APIs recommended for the context of the application.

5. A computer program product for providing Web Application Programming Interface (API) recommendations for a context of an application, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising:

sending, by the computer, a ranked list of Web APIs recommended and a set of Web API recommendations regarding the context of the application to a client device via a network, as a result of input containing current Web API requirements and the set of Web API recommendations determined by traversal of relationships within a graph structure of a graph-based Web API data model, wherein each node in the graph structure represents an end point including one of a corresponding Web API, a specific portion of a Web API, common Web API characteristics and Web API attributes, and wherein Web APIs recommended in the ranked list are ranked Web APIs recommended based on the relationships of the Web APIs recommended to the context of the application;

wherein set of Web API recommendations include instructions on how to use the Web APIs within the ranked list of Web APIs;

wherein the relationships of the Web APIs recommended to the con text of the application include matching data formats;

responsive to the computer determining that a selection of a set of Web APIs in the ranked list of Web APIs recommended was received, adding, by the computer, the selection of the set of Web APIs to the context of the application to generate a new context of the application; and

sending, by the computer, a display of a relationship among the selection of the set of Web APIs in the ranked list of Web APIs recommended added to the new context of the application to the client device via the network.

6. The computer program product of claim 5 further comprising:

receiving, by the computer, the context of the application from the client device via the network;

receiving, by the computer, search terms that include initial Web API requirements as the current Web API requirements for the context of the application from the client device via the network; and

defining, by the computer, a Web API recommendation query that includes the search terms and selected Web APIs for the context of the application.

7. The computer program product of claim 6 , wherein the initial Web API requirements for the context of the application include at least one of an initial list of required Web APIs selected by a software application developer for the context of the application, a Web API category from which to select and recommend other APIs for the context of the application, full-text search terms used to search the graph-based Web API data model for other Web APIs recommended for the context of the application, and one or more attributes corresponding to the other Web APIs recommended.

8. The computer program product of claim 5 further comprising:

sending, by the computer, a Web API recommendation query for the context of the application to a Web API relationship engine that contains the graph-based Web API data model comprising Web API descriptions, attributes, and relationships;

match Web API names and descriptions and identify relationships to required Web API attributes in the context of the application using the graph-based Web API data model by the Web API relationship engine; and

receiving, by the computer, a search result from the Web API relationship engine containing a list of Web APIs recommended for the context of the application.

9. The computer program product of claim 8 further comprising:

filtering, by the computer, the list of Web APIs recommended for the context of the application based on one or more attributes of the Web APIs in the list of Web APIs recommended to generate a filtered list.

10. The computer program product of claim 9 further comprising:

ranking, by the computer, one or more Web APIs recommended in the filtered list based on one or more relationships of the Web APIs recommended to the context of the application.

11. The computer program product of claim 10 , wherein the one or more relationships of the Web APIs recommended include at least one of common historic usage, common attributes, and matching data formats.

12. The computer program product of claim 5 , wherein the context of the application is a set of aspects related to development and execution of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2015
From: CUOMO, GENNARO A.; JAMJOOM, HANI T.; LAREDO, JIM A.; NATARAJAN, ARJUN; RAJAGOPALAN, SHRIRAM; WILLIAMS, DANIEL J.; WITTERN, JOHN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034967/0424 →
Continuity (1)
Related Publication 20160239269A1 · Aug 18, 2016