Federated Application Deployment via Library Module References

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current mechanisms for deploying Java applications are inefficient as they require multiple copies of commonly used modules across applications, making modifications and version tracking difficult.

Innovation Solution

Implementing a federated application system where library modules are stored separately and referenced in a deployment descriptor, allowing the deployment tool to extract and deploy only the necessary modules, reducing duplication and simplifying maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If common modules are copied into every application that utilizes them, then each application can independently use the modules, but the storage space increases and maintenance complexity increases

Engineering Contradiction:
Improveapplication independenceVSAvoidnumber of module copies
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses symbolic copying through deployment descriptors that reference common modules without physically duplicating them. Each application's deployment descriptor contains references to shared modules, allowing the system to logically copy module dependencies while maintaining a single physical instance of each common module in the library path.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent creates a universal module repository that serves multiple applications simultaneously. The common modules are stored in a shared library path that can be referenced by any number of applications, allowing one set of modules to fulfill the needs of multiple applications without duplication.

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

2Productivity

If common modules are added to a system classpath storing modules available to all applications, then module sharing is achieved, but modification tracking and version control become difficult

Engineering Contradiction:
Improvemodule sharing efficiencyVSAvoidversion management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the module storage into two distinct parts: a system classpath for application-specific modules and a shared library path for common modules. This segmentation allows independent management of each type of module, with the shared library path specifically designed for version-controlled common modules that can be independently updated and tracked.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a deployment descriptor as an intermediary between applications and common modules. This descriptor file stores references to modules in the shared library path, acting as a mediator that enables version tracking and modification management without requiring direct access to the module files themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If multiple copies of common modules are stored in application archives, then each application is self-contained, but deployment size and maintenance burden increase

Engineering Contradiction:
Improveapplication self-containmentVSAvoiddeployment simplicity
Core Design Contradiction:
Stability of the object's compositionVSEase of manufacture

Solution Approach 1:

The patent implements reference-based copying where deployment descriptors contain symbolic references to common modules rather than embedding actual module copies. The deployment tool uses these references to locate and load modules from the shared library path during runtime, maintaining application self-containment logically while avoiding physical duplication.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7797697B2System and method for deploying applications with library modules
Publication Date: 2010.09.14 ORACLE INT CORP
  • US7797697B2 patent drawing
  • US7797697B2 patent drawing
  • US7797697B2 patent drawing

AI summary

Federated applications are configured to use both modules created for the applications as well as library modules which perform commonly used functions. The library modules are stored separately for deployment when utilized by applications. A deployment descriptor is configured with descriptions of internal modules and references to library modules. A deployment tool reads the deployment descriptor, extracts the library modules according to the information stored in the deployment descriptor, and loads the modules specific to the application.