SDK Client RESTful Structure Preservation via Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face significant time and effort in manually adapting and maintaining HTTP-based layers to consume RESTful web services, as they often lack familiarity with HTTP and require extensive research and manual coding to preserve the RESTful structure.

Innovation Solution

A method and apparatus that utilize a software development kit (SDK) client to automatically identify and replicate the relationships between resources in a RESTful web service, generating programming code that reflects these relationships, thereby facilitating communication between the client and server, using RESTful Service Description Language (RSDL) to propagate server-side metadata to the client.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If software developers manually adapt and maintain HTTP-based layers to consume RESTful web services, then the RESTful structure can be preserved, but the development time and effort increase significantly

Engineering Contradiction:
ImproveRESTful structure preservationVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-generating client code from server-side metadata before the actual client development. The server publishes metadata describing its RESTful resources and operations, and tools automatically generate corresponding client code that preserves the RESTful structure. This preliminary code generation eliminates the need for developers to manually adapt HTTP layers, thus preserving RESTful structure while significantly reducing development time.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If software developers manually write and adapt HTTP-based layers, then communication with RESTful web services is achieved, but the maintenance effort increases

Engineering Contradiction:
Improvecommunication capabilityVSAvoidmaintenance effort
Core Design Contradiction:
Ease of operationVSEase of manufacture

Solution Approach 1:

The patent applies copying by creating client code that automatically mirrors the server-side RESTful structure through metadata-driven code generation. Instead of manually writing HTTP layers that require ongoing maintenance, the system copies the server's resource definitions, operations, and relationships into client code that automatically stays synchronized with the server. This eliminates manual maintenance effort while ensuring communication capability is achieved and preserved.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If developers lack familiarity with HTTP, then programming language expertise is leveraged, but the ability to preserve RESTful structure deteriorates

Engineering Contradiction:
Improveprogramming language utilizationVSAvoidRESTful structure preservation
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent introduces metadata as an intermediary between the server and client. The server publishes metadata that describes its RESTful resources, operations, and relationships in a structured format. Client code is automatically generated from this metadata, serving as a mediator that translates server-side RESTful structure into language-specific client code. This intermediary approach allows developers to leverage their programming language expertise without needing deep HTTP knowledge, while the automated generation process ensures RESTful structure preservation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9465587B2Preserving restful web service structure in a client consuming the restful web service
Publication Date: 2016.10.11 RED HAT ISRAEL
  • US9465587B2 patent drawing
  • US9465587B2 patent drawing
  • US9465587B2 patent drawing

AI summary

A computer system identifies a uniform resource identifier (URI) that corresponds to a resource of a RESTful web service. The URI contains elements. The computer system identifies a relationship between the elements of the URI and creates programming code for a method of a software development kit (SDK) client. The method reflects the relationships between the elements of the URI to facilitate communication with the resource of the RESTful web service.