MLchartDataset catalogue

Patent · US10901880B1 · B1 · US

API monitoring and validation for onboarded applications

(11) Publication number
US10901880B1
(21) Application number
16/575,210
(22) Filing date
2019-09-18
(30) Priority date
2019-09-18
(43) Publication date
2021-01-26
(45) Date of grant
2021-01-26
(51) IPC
G06F 11/00; G06F 11/32; G06F 11/34; G06F 11/36; G06F 9/54
(52) CPC
  • G06F Electric digital data processing: 11/3688, 11/0766, 11/0778, 11/327, 11/3414, 11/3466, 11/3476, 2201/865, 2201/875, 9/5038, 9/54
(73) Assignee
Capital One Services LLC
(72) Inventors
Nimesh Bernard; Mahendher Govindasingh Krishnasingh
(54) Title
API monitoring and validation for onboarded applications
(57) Abstract

An API monitoring and validation tool that may be provided as part of a web-based application testing and deployment environment. The environment may enable developers to develop web-based applications, validate and test APIs used by the applications and deploy the applications. The API monitoring and validation tool may perform validation of a service endpoint used by an application. As part of the validation, a user may provide information regarding the form and content of a successful response to a call to the service endpoint is. The monitoring may measure performance metrics and obtain information regarding the causes of errors and failures. The monitoring can identify errors and failures that occur during API call chains to service endpoints.

Full text
View on Google Patents

Claims (14)

  1. A computer-implemented method, comprising: initiating programmatic validation of a web application in a web-based environment, wherein the web application employs application program interface (API) chaining for a chain of sequential API calls to endpoints; as part of the programmatic validation, generating a testing scenario that tests the API chaining, wherein the testing scenario defines a successful response; executing the testing scenario that tests the API chaining; measuring performance metrics resulting from executing the testing scenario; programmatically analyzing activity logs for the endpoints to identify failures or problems that arose during the executing of the test scenario, wherein the programmatically analyzing includes: analyzing at least one of the activity logs for: (i) at least one of the endpoints upstream in the chain of sequential API calls relative to a selected one of the endpoints, or (ii) at least one of the endpoints downstream in the chain of sequential API calls relative to the selected one of the endpoints, to identify a given failure or a given problem for the selected one of the endpoints; and generating an output from a computing device containing information regarding the identified given failure or the given problem at the endpoints.
  2. The method of claim 1, wherein the testing scenario is generated responsive to user input.
  3. The method of claim 1, wherein the successful response is defined by a regular expression.
  4. The method of claim 3, wherein an unsuccessful response is when the unsuccessful response does not match the regular expression.
  5. The method of claim 1, further comprising identifying one or more causes of the given failure or the given problem.
  6. The method of claim 5, further comprising generating a report of the given failure or the given problem as the output.
  7. A computer-implemented method, comprising: transmitting content for a user interface to a client in a web-based computing environment to schedule monitoring of a selected service endpoint during testing of the service endpoint, wherein the service endpoint is part of a chain of sequential API calls to service endpoints that include the selected service endpoint as well as an upstream service endpoint that is upstream from the selected service endpoint in the chain and a downstream service endpoint that is downstream from the selected service endpoint in the chain; receiving scheduling input from the client, obtained via the user interface, indicative of dates and times at which monitoring of the selected service endpoint is to occur; providing alert options via the user interface to configure delivery of alerts for the selected service endpoint; monitoring the selected service endpoint responsive to the scheduling input; during the monitoring, detecting an error; generating an alert that is delivered in accordance with the information identifying how alerts are to be delivered; gathering log information regarding the error; analyzing the log information for the upstream service endpoint and/or the downstream service endpoint to identify the error; and generating output on a display device reporting the error and information regarding the error from the log information.
  8. The method of claim 7, wherein the scheduling input specifies a start date and an end date for the monitoring.
  9. The method of claim 7, wherein the scheduling input specifies a frequency of the monitoring during a monitoring period.
  10. The method of claim 7, wherein the user interface is part of a webpage.
  11. The method of claim 7, wherein the alert options include at least one of email, text, a messaging application, pager, phone or an application program.
  12. The method of claim 7, further comprising gathering metrics regarding the selected service endpoint during monitoring and displaying the metrics.
  13. The method of claim 12, wherein at least one of the metrics concerns availability of the selected service endpoint.
  14. The method of claim 13, wherein the metrics include a measure of how often an application program interface (API) fails.

Description

In conventional systems, when a developer wishes to deploy an application, the developer may wish to perform some testing and validation of the application and any related service endpoints. Typically, this requires the use of multiple separate tools and requires the manual writing of multiple scripts by the developer. In addition, such testing and validation may fail when API call chains are used or may be unable to identify the root cause of API call chain errors or failures.

In an exemplary embodiment, a computer-implemented method is performed, such that programmatic validation of a web application is performed in a web-based environment. The web application employs application program interface (API) chaining for a chain of sequential API calls to endpoints. As part of the programmatic validation, a testing scenario that tests the API chaining is generated, wherein the testing scenario defines a successful response. The testing scenario that tests the API chaining is performed. Performance metrics resulting from executing the testing scenario are measured. Activity logs for the endpoints are programmatically analyzed to identify failures or problems that arose during the executing of the test scenario. An output is generated from a computing device containing information regarding any such identified problems or failures at the endpoints.

The testing scenario may be generated responsive to user input. The successful response may be defined by a regular expression. An unsuccessful response is one where the response does not match the regular expression.

Citations (3)

  • US20150128156A1
  • US20170147681A1
  • US20180039570A1
Record as JSON
{
  "publication_number": "US10901880B1",
  "country": "US",
  "kind": "B1",
  "title": "API monitoring and validation for onboarded applications",
  "abstract": "An API monitoring and validation tool that may be provided as part of a web-based application testing and deployment environment. The environment may enable developers to develop web-based applications, validate and test APIs used by the applications and deploy the applications. The API monitoring and validation tool may perform validation of a service endpoint used by an application. As part of the validation, a user may provide information regarding the form and content of a successful response to a call to the service endpoint is. The monitoring may measure performance metrics and obtain information regarding the causes of errors and failures. The monitoring can identify errors and failures that occur during API call chains to service endpoints.",
  "claims": [
    "1. A computer-implemented method, comprising: initiating programmatic validation of a web application in a web-based environment, wherein the web application employs application program interface (API) chaining for a chain of sequential API calls to endpoints; as part of the programmatic validation, generating a testing scenario that tests the API chaining, wherein the testing scenario defines a successful response; executing the testing scenario that tests the API chaining; measuring performance metrics resulting from executing the testing scenario; programmatically analyzing activity logs for the endpoints to identify failures or problems that arose during the executing of the test scenario, wherein the programmatically analyzing includes: analyzing at least one of the activity logs for: (i) at least one of the endpoints upstream in the chain of sequential API calls relative to a selected one of the endpoints, or (ii) at least one of the endpoints downstream in the chain of sequential API calls relative to the selected one of the endpoints, to identify a given failure or a given problem for the selected one of the endpoints; and generating an output from a computing device containing information regarding the identified given failure or the given problem at the endpoints.",
    "2. The method of claim 1, wherein the testing scenario is generated responsive to user input.",
    "3. The method of claim 1, wherein the successful response is defined by a regular expression.",
    "4. The method of claim 3, wherein an unsuccessful response is when the unsuccessful response does not match the regular expression.",
    "5. The method of claim 1, further comprising identifying one or more causes of the given failure or the given problem.",
    "6. The method of claim 5, further comprising generating a report of the given failure or the given problem as the output.",
    "7. A computer-implemented method, comprising: transmitting content for a user interface to a client in a web-based computing environment to schedule monitoring of a selected service endpoint during testing of the service endpoint, wherein the service endpoint is part of a chain of sequential API calls to service endpoints that include the selected service endpoint as well as an upstream service endpoint that is upstream from the selected service endpoint in the chain and a downstream service endpoint that is downstream from the selected service endpoint in the chain; receiving scheduling input from the client, obtained via the user interface, indicative of dates and times at which monitoring of the selected service endpoint is to occur; providing alert options via the user interface to configure delivery of alerts for the selected service endpoint; monitoring the selected service endpoint responsive to the scheduling input; during the monitoring, detecting an error; generating an alert that is delivered in accordance with the information identifying how alerts are to be delivered; gathering log information regarding the error; analyzing the log information for the upstream service endpoint and/or the downstream service endpoint to identify the error; and generating output on a display device reporting the error and information regarding the error from the log information.",
    "8. The method of claim 7, wherein the scheduling input specifies a start date and an end date for the monitoring.",
    "9. The method of claim 7, wherein the scheduling input specifies a frequency of the monitoring during a monitoring period.",
    "10. The method of claim 7, wherein the user interface is part of a webpage.",
    "11. The method of claim 7, wherein the alert options include at least one of email, text, a messaging application, pager, phone or an application program.",
    "12. The method of claim 7, further comprising gathering metrics regarding the selected service endpoint during monitoring and displaying the metrics.",
    "13. The method of claim 12, wherein at least one of the metrics concerns availability of the selected service endpoint.",
    "14. The method of claim 13, wherein the metrics include a measure of how often an application program interface (API) fails."
  ],
  "description_excerpt": "In conventional systems, when a developer wishes to deploy an application, the developer may wish to perform some testing and validation of the application and any related service endpoints. Typically, this requires the use of multiple separate tools and requires the manual writing of multiple scripts by the developer. In addition, such testing and validation may fail when API call chains are used or may be unable to identify the root cause of API call chain errors or failures.\n\nIn an exemplary embodiment, a computer-implemented method is performed, such that programmatic validation of a web application is performed in a web-based environment. The web application employs application program interface (API) chaining for a chain of sequential API calls to endpoints. As part of the programmatic validation, a testing scenario that tests the API chaining is generated, wherein the testing scenario defines a successful response. The testing scenario that tests the API chaining is performed. Performance metrics resulting from executing the testing scenario are measured. Activity logs for the endpoints are programmatically analyzed to identify failures or problems that arose during the executing of the test scenario. An output is generated from a computing device containing information regarding any such identified problems or failures at the endpoints.\n\nThe testing scenario may be generated responsive to user input. The successful response may be defined by a regular expression. An unsuccessful response is one where the response does not match the regular expression.",
  "cpc": [
    "G06F 11/3688",
    "G06F 11/0766",
    "G06F 11/0778",
    "G06F 11/327",
    "G06F 11/3414",
    "G06F 11/3466",
    "G06F 11/3476",
    "G06F 2201/865",
    "G06F 2201/875",
    "G06F 9/5038",
    "G06F 9/54"
  ],
  "ipc": [
    "G06F 11/00",
    "G06F 11/32",
    "G06F 11/34",
    "G06F 11/36",
    "G06F 9/54"
  ],
  "assignees": [
    "Capital One Services LLC"
  ],
  "inventors": [
    "Nimesh Bernard",
    "Mahendher Govindasingh Krishnasingh"
  ],
  "filing_date": "2019-09-18",
  "publication_date": "2021-01-26",
  "grant_date": "2021-01-26",
  "priority_date": "2019-09-18",
  "application_number": "US-201916575210-A",
  "family_id": "74190864",
  "cited_by_count": 14,
  "citations": [
    "US20150128156A1",
    "US20170147681A1",
    "US20180039570A1"
  ]
}

Record 1,788 of 8,000 in Patents full text (MLC-0201). Request the full dataset.