Java Service Discovery and REST Conversion via Reflection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for discovering and converting Java APIs to REST services are error-prone and inefficient, often missing important services and requiring duplicative effort, especially in large networked computing environments like cloud computing.

Innovation Solution

A method employing predicates and reflection to analyze Java services, identifying target services for conversion to REST services, flagging duplicate Data Transaction Objects, and measuring function point complexity to estimate conversion effort, facilitated through a Java API and implemented in a JAR file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual analysis of each service and method is performed to determine convertibility to REST services, then accuracy in identifying convertible services is improved, but time consumption and labor effort increase significantly

Engineering Contradiction:
Improveaccuracy in identifying convertible servicesVSAvoidtime consumption in service discovery
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system enables self-service by allowing the Java service to introspect itself through reflection APIs. The service automatically provides information about its own structure, methods, parameters, and return types without requiring manual analysis. This self-provisioning of metadata enables automated discovery and conversion identification.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual analysis process with an automated computational system. Using reflection APIs and structured querying mechanisms, the system automatically extracts service information, determines convertibility to REST, and generates conversion specifications without human intervention in the analysis phase.

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

2Ease of operation

If conventional manual methods are used to list DTOs for conversion, then detailed control over conversion process is maintained, but error-prone operations and duplicative effort occur

Engineering Contradiction:
Improvecontrol over conversion processVSAvoiderror rate in service identification
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements feedback mechanisms where the automated discovery process validates its findings by querying service metadata and cross-referencing with service registries. This feedback loop ensures accuracy in identifying convertible services and prevents errors by verifying service characteristics against defined criteria before inclusion in conversion lists.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent creates a universal service discovery mechanism that can identify convertible services across different Java service types and configurations. The same automated framework handles various service scenarios, eliminating the need for multiple specialized manual processes and reducing duplicative effort through a single comprehensive approach.

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

3Quantity of substance

If comprehensive analysis of all services is performed to ensure no important services are missed, then completeness of service discovery is improved, but system complexity and processing overhead increase

Engineering Contradiction:
Improvecompleteness of service discoveryVSAvoidcomplexity of discovery system
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the service discovery process into distinct manageable phases: service enumeration, metadata extraction via reflection, convertibility assessment, and conversion specification generation. This segmentation allows the system to handle large numbers of services systematically without overwhelming complexity, processing services in structured steps rather than attempting monolithic analysis.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10116512B2Service discovery and/or effort estimation in networked computing environments
Publication Date: 2018.10.30 ORACLE INT CORP
  • US10116512B2 patent drawing
  • US10116512B2 patent drawing
  • US10116512B2 patent drawing

AI summary

A system and method for facilitating discovery of a software resource. The example method includes employing one or more predicates to query one or more services in a computing environment, producing a first result, wherein the first result indicates one or more target services; using reflection to analyze the one or more target services; producing a second result; analyzing the second result to determine if the one or more services meet a criterion for conversion to a Representational State Transfer (REST) service, yielding a third result; and providing one or more indications of one or more discovered services based on the third result.