IP Library Granted Patent US 11,392,433
Granted Patent B1
US 11,392,433 · App. 17/158,750 · Granted Jul 19, 2022

Generation of asynchronous application programming interface specifications for messaging topics

Inventors: Paolo Antinori (Milan, IT); Eric Philip Wittmann (Hartford, CT)
Assignee: RED HAT, INC.
G06F9/546G06F9/541G06F9/542
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,392,433
App. No.
17/158,750
Granted
Jul 19, 2022
Kind
B1
Abstract

Systems and methods for generating asynchronous application programming interface (API) documents are generally described. In various examples, a metadata discovery request may be sent to a message broker. A list of topics may be received from the message broker. First metadata related to a first topic of the list of topics may be received from the message broker. A first message may be received from the message broker, where the first message pertains to the first topic. A first schema may be determined using the first message pertaining to the first topic. The first schema may include data describing content of the first message and organization of the content of the first message. An asynchronous API document may be generated based at least in part on the first schema and the first metadata.

Claims (65)

1. A method comprising:

sending a metadata discovery request to a message broker;

receiving, from the message broker, a list of topics of the message broker;

receiving, from the message broker, first metadata related to a first topic of the list of topics;

receiving a first message from the message broker, the first message pertaining to the first topic;

determining a first schema using the first message pertaining to the first topic, the first schema comprising data describing content of the first message and organization of the content of the first message; and

generating an asynchronous application programming interface (API) document based at least in part on the first schema and the first metadata.

2. The method of claim 1 , wherein the message broker is a message broker of an event-driven architecture.

3. The method of claim 1 , wherein the asynchronous API document defines and annotates components of a first event-driven API.

4. The method of claim 1 , further comprising:

determining, for each topic of the list of topics, respective metadata; and

sampling at least one message from each topic of the list of topics.

5. The method of claim 4 , wherein the metadata comprises a version number of an API described by the asynchronous API document.

6. The method of claim 5 , wherein the metadata comprises security configuration parameters for the API.

7. The method of claim 1 , further comprising:

storing the asynchronous API document in non-transitory computer-readable memory;

receiving, from a first computing device, a request to modify the asynchronous API document;

generating a modified asynchronous API document according to modifications received from the first computing device; and

storing the modified asynchronous API document in the non-transitory computer-readable memory.

8. The method of claim 1 , further comprising:

receiving, from the message broker, second metadata related to a second topic of the list of topics;

receiving a second message from the message broker, the second message pertaining to the second topic;

determining a pattern in data of the first message and data of the second message; and

combining the first topic and the second topic in the asynchronous API document according to the pattern.

9. The method of claim 1 , further comprising parsing the first message to identify the first schema included in the first message.

10. The method of claim 1 , further comprising:

parsing the first message to identify a reference to an external schema stored at a remote location; and

retrieving the first schema from the remote location using the reference.

11. The method of claim 1 , further comprising:

extracting, from the first message, first server data comprising a uniform resource locator (URL) of the message broker and a message protocol used by the message broker; and

populating a server section of the asynchronous API document with the URL and the message protocol.

12. The method of claim 1 , wherein the asynchronous API document comprises a machine-readable definition of an event-driven API.

13. A system comprising:

a message broker; and

a first computing device comprising:

at least one processor; and

non-transitory computer-readable memory storing instructions that, when executed by the at least one processor, are configured to:

receive, from the message broker, topic data related to a first topic;

receive a first message from the message broker, the first message pertaining to the first topic;

determine a first schema using the first message pertaining to the first topic, the first schema comprising data describing content of the first message and organization of the content of the first message; and

generate an asynchronous application programming interface (API) document based at least in part on the first schema.

14. The system of claim 13 , further comprising a second computing device configured to:

receive the asynchronous API document from the first computing device;

generate a modified asynchronous API document by modifying the first schema of the asynchronous API document; and

send the modified asynchronous API document to the first computing device.

15. The system of claim 13 , wherein the message broker is a message broker of an event-driven architecture.

16. The system of claim 13 , wherein the non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to:

receive, from the message broker, a list of topics pertaining to the message broker;

determine, for each topic of the list of topics, respective metadata; and

sample at least one message from each topic of the list of topics.

17. The system of claim 13 , wherein the non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to:

receive, from the message broker, second metadata related to a second topic;

receive a second message from the message broker, the second message pertaining to the second topic;

determine a pattern in data of the first message and data of the second message; and

combine the first topic and the second topic in the asynchronous API document according to the pattern.

18. The system of claim 13 , wherein the non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to:

parse the first message to identify a reference to external schema at a remote location; and

retrieve the first schema from the remote location using the reference.

19. The system of claim 13 , wherein the non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to:

query the message broker for metadata related to the first topic; and

receive, from the message broker, metadata comprising at least one of a version number, security configuration parameters, and a name of the first topic.

20. A method comprising:

sending, by a first computing device to a second computing device, a request to generate an asynchronous application programming interface document comprising a machine-readable definition of an event-driven API;

sending, from the first computing device to the second computing device, data indicating a message broker used by the event-driven API; and

receiving, from the second computing device, the asynchronous API document comprising the machine-readable definition of the event-driven API.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2021
From: WITTMANN, ERIC PHILIP; ANTINORI, PAOLO
To: RED HAT, INC.
Reel/Frame 055037/0543 →