Annotated Source Code Compiler for Web Service Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The creation and deployment of Web services are complex and time-consuming due to the need for developers to handle security, reliable messaging, and message processing, requiring significant time, skill, and knowledge.

Innovation Solution

A system that uses annotated source code and an enhanced compiler to automatically generate mechanisms for exposing Web service logic as network-accessible services, simplifying the development process by focusing on logic rather than implementation details, and providing graphical interfaces for developers to manage stateful and asynchronous transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually implement Web service mechanisms (security, reliable messaging, message processing), then the services are reliable and secure, but the development time and complexity increase significantly

Engineering Contradiction:
ImproveWeb service reliabilityVSAvoidDevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating security mechanisms, reliable messaging protocols, and message processing logic before the developer needs to use them. The compiler intercepts and processes annotations in the source code to pre-generate the necessary infrastructure code, so developers don't need to manually implement these time-consuming elements during development.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The Web service development system serves itself by using the compiler to automatically generate the infrastructure code needed for security, messaging, and processing. Instead of requiring external manual intervention for each component, the system self-generates the necessary mechanisms based on high-level annotations, reducing developer workload while maintaining reliability.

Inventive Principle:
Principle #25Self-service

2Reliability

If developers manually implement Web service mechanisms, then the services are secure and reliable, but the required knowledge and skill increase significantly

Engineering Contradiction:
ImproveWeb service reliabilityVSAvoidDevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The compiler acts as an intermediary between the developer's high-level annotations and the complex implementation details of security, messaging, and processing mechanisms. Developers interact with simple annotations while the compiler intermediary handles the translation to complex infrastructure code, shielding developers from unnecessary complexity while ensuring reliable implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system reduces development complexity by having the compiler automatically generate complex infrastructure code based on simple annotations. The Web service framework serves itself by generating the necessary security and messaging implementations without requiring developers to possess specialized knowledge of these complex areas.

Inventive Principle:
Principle #25Self-service

3Productivity

If automated code generation is used to simplify Web service creation, then development time is reduced, but the ability to handle complex stateful and asynchronous transactions may be compromised

Engineering Contradiction:
ImproveWeb service development productivityVSAvoidHandling of stateful and asynchronous transactions
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system replaces manual mechanical coding with automated compiler-based code generation. The compiler mechanically transforms annotations into complete service implementations, including complex stateful and asynchronous transaction handling, thereby maintaining high productivity while ensuring proper handling of sophisticated transaction patterns through systematic code generation.

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

Solution Approach 2:

The system uses parameter changes in the form of annotations to control the generation of complex behavior. By changing the parameters and attributes in annotations, developers can specify different transaction patterns (stateful, asynchronous, etc.), and the compiler generates appropriate code to handle these variations, maintaining versatility while preserving productivity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7707564B2Systems and methods for creating network-based software services using source code annotations
Publication Date: 2010.04.27 ORACLE INT CORP
  • US7707564B2 patent drawing
  • US7707564B2 patent drawing
  • US7707564B2 patent drawing

AI summary

A developer can express the logic offered by a Web service, or other network accessible service, using a standard programming language augmented with declarative annotations specifying preferences for exposing that logic as a Web service. At compile time, an enhanced compiler can analyze the annotated source file and automatically generate the mechanisms required to expose its functionality as a Web service or network accessible service.