WADL to REST API Code Generation via Template Compiler

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers face inefficiencies in manually coding REST application programming interfaces (APIs) for REST web services to implement features like policy enforcement, load balancing, and format conversion, which is time-consuming and labor-intensive.

Innovation Solution

A system and method that automatically generates RESTful communication services from Web Application Description Language (WADL) files, using a compiler to produce REST API code and supporting API agnostic features such as policy enforcement, load balancing, and format conversion, eliminating the need for manual coding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If developers manually code REST APIs for REST web services, then they can implement API agnostic features such as policy enforcement, load balancing, routing, failover, logging, accounting, and format conversion, but the process is time-consuming and inefficient

Engineering Contradiction:
ImproveEase of REST API implementationVSAvoidDevelopment time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent uses template-based code generation where pre-defined templates containing REST API implementations are copied and instantiated automatically. The system generates REST APIs by copying template structures and filling in parameters from WADL descriptions, eliminating manual coding while preserving all API agnostic features.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical process of manual coding with an automated computer-based generation system. The system uses compilers that automatically translate WADL descriptions into REST API code, substituting human manual operations with automated mechanical processes that are faster and more consistent.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If developers manually code REST APIs, then they can ensure correct implementation of REST constraints and API agnostic features, but the process is labor-intensive and less efficient

Engineering Contradiction:
ImproveREST API generation efficiencyVSAvoidSystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the REST API implementation into separate concerns: WADL description layer, template layer, and generated code layer. This segmentation allows the complex generation system to be modular, with templates handling complexity and WADL files providing simple high-level descriptions, thereby improving productivity without overwhelming user complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces templates as an intermediary between WADL descriptions and actual REST API implementations. Templates act as mediators that contain the complex logic for REST constraints and API agnostic features, while WADL files provide simple interface descriptions, enabling efficient generation without exposing complexity to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If the system automatically generates REST APIs from WADL files, then development time is reduced and efficiency is improved, but the system complexity increases due to compiler and template requirements

Engineering Contradiction:
ImproveAPI development timeVSAvoidCode generation system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent creates a universal template-based generation system that can produce multiple types of REST APIs from a single WADL description. The templates are designed to be multi-functional, handling various REST constraints and API agnostic features through a unified generation approach, thereby reducing overall system complexity despite the automated nature.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses parameter substitution in templates where WADL description parameters are automatically replaced in template code to generate final REST APIs. This parameter-driven approach simplifies the generation process by allowing a single template to produce multiple variants through parameter changes, reducing the need for multiple specialized templates.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8856735B2System and method of generating REST2REST services from WADL
Publication Date: 2014.10.07 ORACLE INT CORP
  • US8856735B2 patent drawing
  • US8856735B2 patent drawing
  • US8856735B2 patent drawing

AI summary

A system and method is provided for generating a RESTful communication service which offers REST2REST functionality seamlessly with automatic support for the API agnostic features such as policy enforcement, load balancing, routing, failover, logging, accounting, format conversion (XML2JSON,JSON2XML) etc. Such a system can include one or more applications, executing on one or more application servers. The system can also include a WADL plug-in which generates code for the RESTful communication service from Web Application Description Language files (WADL) which define the service interface and internal templates which define the code logic. The method offers rapid and efficient generation of REST APIs supporting API agnostic features, automatic REST API code generation from WADL files, and translation from WADL to WSDL.