WADL to REST API Code Generation via Template Compiler
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


