System and method for validating documentation of representational state transfer (REST) services

US10177996B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10177996-B2
Application numberUS-201715484009-A
CountryUS
Kind codeB2
Filing dateApr 10, 2017
Priority dateAug 31, 2012
Publication dateJan 8, 2019
Grant dateJan 8, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A validation tool is provided for a representational state transfer (REST) service. In one embodiment, a method for validating documentation of a REST service includes including detecting one or more messages for a REST service by a validator, wherein the one or more messages are intercepted for the REST service, translating documentation of the REST service, by the validator, into a representation of an automaton, and validating the one or more messages by the validator based on the automaton, wherein validation of the messages determines conformance of the REST service to the documentation of the REST service.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for validating documentation of a representational state transfer (REST) service to ensure that the documentation accurately matches an REST implementation, the method comprising: receiving, by a validator, one or more messages describing a REST application programming interface (API); translating, by the validator, the description of the REST API into a machine representation of a corresponding REST service, wherein the machine representation includes an automaton, wherein the machine representation maps an internal state and one or more inputs into an internal state transition, and wherein one or more states are associated with API responses; initializing a current state for machine representation of the REST service; receiving, by the validator, an API message; evaluating the API message by the machine representation, wherein evaluating the API message includes: identifying one or more transitions within the machine representation of the REST service; executing the one or more identified transitions resulting in a new state; responding to the API message according to the new state; and executing any automatic transitions identified for the new state; and wherein a first API message conforming to the documentation of the REST service results in the transition to a non-error state, and wherein a second API message that does not conform to the documentation results in the transition to an error state; categorizing the second API message in accordance with a first error code that is expected to be generated by the REST service; receiving a first API response from the REST service in response to processing the second API message; and verifying whether the first error code matches a second error code in the first API response. 2. The method of claim 1 , wherein the validator is provided with capabilities based on authorization of a user. 3. The method of claim 2 , wherein a first set of users are authorized to access a first part of the REST API, and a second set of users are authorized to access a second part of the REST API. 4. The method of claim 1 , wherein the validator provides log information about stages of the REST API that are visited. 5. The method of claim 4 , further comprising: determining, using the log information, one or more parts of the REST API are most frequently accessed by users. 6. The method of claim 1 , wherein the translating, by the validator, the description of the REST API into the machine representation of a corresponding REST service includes: compressing redundant states in the machine representation into a single state. 7. The method of claim 1 , wherein the REST API is described using a web application description language (WADL) in a machine readable format. 8. The method of claim 1 , wherein the translating the description of the REST API into a machine representation of a corresponding REST service includes: parsing the description; validating the description against a schema; and normalizing the description. 9. The method of claim 8 , wherein the schema is a WADL schema. 10. The method of claim 1 , wherein the evaluating the API message is performed as a preprocessing step. 11. A non-transitory computer-accessible storage medium storing program instructions that when executed by a computer cause the computer to implement a representational state transfer (REST) service validator to ensure that a documentation of the REST service accurately matches the implementation configured to: receiving one or more messages describing a REST application programming interface (API); translating the description of the REST API into a machine representation of a corresponding REST service, wherein the machine representation includes an automaton including a state machine that transitions from an initial start state to other states based on one or more current inputs, wherein the machine representation maps an internal state and one or more inputs into an internal state transition, and wherein one or more states are associated with API responses; receiving an API message; evaluating the API message by the machine representation, wherein evaluating the API message includes: identifying one or more transitions within the machine representation of the REST service; executing the one or more identified transitions resulting in a new state; responding to the API message according to the new state; and executing any automatic transitions identified for the new state; wherein a first API message conforming to the documentation of the REST service results in the transition to a non-error state, and wherein a second API message that does not conform to the documentation results in the transition to an error state; categorizing the second API message in accordance with a first error code that is expected to be generated by the REST service; receiving a first API response from the REST service in response to processing the second API message; and verifying whether the first error code matches a second error code in the first API response. 12. The non-transitory computer-accessible storage medium of claim 11 , wherein REST service is provided with capabilities based on authorization of a user. 13. The non-transitory computer-accessible storage medium of claim 12 , wherein a first set of users are authorized to access a first part of the REST API, and a second set of users are authorized to access a second part of the REST API. 14. The non-transitory computer-accessible storage medium of claim 11 , wherein the REST service validator is configured to: provide log information about stages of the REST API that are visited. 15. The non-transitory computer-accessible storage medium of claim 14 , wherein the REST service validator is configured to: determining, using the log information, one or more parts of the REST API are most frequently accessed by users. 16. The non-transitory computer-accessible storage medium of claim 11 , wherein the REST service validator is configured to: compressing redundant states in the machine representation into a single state. 17. The non-transitory computer-accessible storage medium of claim 11 , wherein the REST API is described using a web application description language (WADL) in a machine readable format. 18. The non-transitory computer-accessible storage medium of claim 11 , wherein the REST service validator is configured to: parsing the description; validating the description against a schema; and normalizing the description. 19. The non-transitory computer-accessible storage medium of claim 18 , wherein the schema is a WADL schema. 20. The non-transitory computer-accessible storage medium of claim 11 , wherein the evaluating the API message is performed as a preprocessing step.

Assignees

Inventors

Classifications

  • wherein the managed service relates to simple transport services, i.e. providing only network infrastructure · CPC title

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • H04L43/50Primary

    Testing arrangements · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10177996B2 cover?
A validation tool is provided for a representational state transfer (REST) service. In one embodiment, a method for validating documentation of a REST service includes including detecting one or more messages for a REST service by a validator, wherein the one or more messages are intercepted for the REST service, translating documentation of the REST service, by the validator, into a representa…
Who is the assignee on this patent?
Rackspace Us Inc
What technology area does this patent fall under?
Primary CPC classification H04L41/5077. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 08 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).