Federated Application Deployment via Library Module References
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


