On-Demand API Library Generation Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to generating API libraries are manual, error-prone, inconsistent, and do not scale well, leading to duplication of effort and compatibility issues as APIs change over time, especially when trying to create libraries for multiple programming languages and platforms.

Innovation Solution

A Web service that receives a machine-readable API description, interprets it to build a programming language-agnostic model, generates an API library source in a user-selected language and platform, and publishes it on demand, eliminating the need for developers to install code generation tools and reducing memory resources by generating libraries only as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If manual approaches are used to generate API libraries for multiple programming languages and platforms, then developers can create customized libraries, but the process becomes error-prone, inconsistent, and does not scale well

Engineering Contradiction:
Improveconsistency of library generationVSAvoidscalability of library generation
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent implements a universal code generation service that can generate API libraries for multiple programming languages and platforms through a single automated system. The service uses language-specific templates and configuration files to adapt the same core API description to different target languages (Java, C#, Python, etc.), eliminating manual generation for each language while maintaining consistency across all generated libraries.

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

Solution Approach 2:

The system changes parameters by using language-specific configuration files and template variables that are substituted during code generation. The same API description can be transformed into different programming languages by changing the template parameters and language-specific settings, allowing automated generation across multiple languages without manual intervention for each language variant.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If code generation tools are installed locally on developer machines, then libraries can be generated offline, but it increases device complexity and requires installation maintenance

Engineering Contradiction:
Improveaccessibility of code generationVSAvoidinstallation requirements
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements a self-service model where the code generation service is hosted centrally and automatically available to developers through web access. Developers don't need to install or maintain local code generation tools; instead, they access the service through standard web protocols, and the service handles all generation operations remotely, eliminating installation complexity while maintaining ease of access.

Inventive Principle:
Principle #25Self-service

3Speed

If API libraries are pre-generated and stored, then access is fast, but memory resources are consumed and libraries must be updated whenever APIs change

Engineering Contradiction:
Improvelibrary access speedVSAvoidmemory resources
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system performs preliminary action by caching the API descriptions and template configurations in advance, but generates the actual code libraries on-demand when requested. This allows fast access to the source materials needed for generation while avoiding the need to store multiple pre-generated library versions in memory, reducing resource consumption while maintaining quick generation times through cached templates.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If manual library generation is used, then flexibility in customization is maintained, but duplication of effort occurs and compatibility issues arise as APIs change

Engineering Contradiction:
Improvecustomization flexibilityVSAvoidcompatibility with API changes
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the automated generation service continuously monitors API changes and automatically updates the generated libraries. The service uses the same API description that developers customize, ensuring that any changes to the API are automatically reflected in all generated libraries across different languages, maintaining compatibility and eliminating duplication of manual update efforts.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8893077B1Service to generate API libraries from a description
Publication Date: 2014.11.18 GOOGLE LLC
  • US8893077B1 patent drawing
  • US8893077B1 patent drawing
  • US8893077B1 patent drawing

AI summary

A system and method provided as a Web service for on-demand generation of libraries, as well as working samples, for a specified API, target programming language and target platform. The system is accessed through an interface and includes a Web application, a data store, and a compile server. The Web application is configured to receive a request for code generation from the user interface, to retrieve a description of an API, determine if code artifacts have been previously generated for the API description, and generating a source library in a programming language and target platform of choice based on the API description. The data store stores generated code artifacts, and stores the generated source library for the API description. The compile server is configured to generate compiled libraries and documentation, and store compiled libraries and documentation in the data store.