Deploying Software Modules via Container Registration and Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of software lifecycle management in large enterprise computer systems, particularly in multi-tiered architectures, poses challenges in deployment and maintenance due to tightly integrated business logic, presentation logic, and user interface components, making it difficult to manage changes and ensure high availability and cost efficiency.

Innovation Solution

A deploy service framework that registers containers, extracts and validates software modules from archive files, and distributes them to corresponding containers for installation, utilizing mechanisms like module detectors and generators to ensure compatibility and interoperability, and supports both Java EE and non-Java EE modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If software applications are developed as monolithic sets of program code in two-tiered architecture, then the system structure is simple, but the lifecycle management becomes difficult and the system is hard to maintain

Engineering Contradiction:
Improvesystem structureVSAvoidlifecycle management
Core Design Contradiction:
Device complexityVSEase of repair

Solution Approach 1:

The patent segments the monolithic software application into separate deployable modules that can be independently managed, deployed, and maintained. Each module represents a functional unit that can be versioned and updated separately, resolving the contradiction by making the system structure more complex at the module level while simplifying lifecycle management through independent module handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of module-level management alongside the traditional application-level management. By adding this modular dimension, the system enables granular control over software components without compromising the overall system structure, allowing lifecycle management operations to be performed at the appropriate level of abstraction.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Stability of the object's composition

If business logic, presentation logic, and user interface are tightly integrated, then the application structure is unified, but changes require modifications across multiple components making maintenance difficult

Engineering Contradiction:
Improveapplication structureVSAvoidmaintenance
Core Design Contradiction:
Stability of the object's compositionVSEase of manufacture

Solution Approach 1:

The patent segments the tightly integrated application into separate deployable modules, each encapsulating specific business logic, presentation logic, or user interface components. This segmentation allows modifications to be localized within individual modules rather than requiring changes across the entire application, thus maintaining structural stability while improving ease of maintenance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different modules to have different structures and characteristics appropriate to their specific functions. Business logic modules, presentation modules, and UI modules can be organized and managed according to their specific requirements, enabling targeted maintenance operations without affecting other parts of the system.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If enterprise computer systems use multiple independent software modules, then the system becomes more flexible and scalable, but the deployment and integration complexity increases

Engineering Contradiction:
Improvesystem flexibilityVSAvoiddeployment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing validation, dependency resolution, and integration checks during the deployment process before the modules are fully activated. The deploy service prepares the deployment environment, resolves module dependencies in advance, and validates module compatibility, thereby reducing the perceived complexity during actual deployment while maintaining system flexibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a deploy service as an intermediary between the software modules and the runtime environment. This intermediary manages the complexity of deploying multiple independent modules by handling extraction, validation, dependency resolution, and coordination of module installation, thereby shielding users from deployment complexity while preserving system adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If software modules are managed individually to ensure operability of other components, then system availability is maintained, but the overall lifecycle management becomes more complex

Engineering Contradiction:
Improvesystem availabilityVSAvoidlifecycle management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a unified deploy service that handles lifecycle management operations for all software modules through a common interface and standardized process. This universal approach maintains system availability by allowing individual module management while reducing overall complexity through consistent deployment, validation, and update mechanisms applicable to all modules regardless of their specific functions.

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

Data Source

PatentUS8869140B2Deploying software modules in computer system
Publication Date: 2014.10.21 SAP SE
  • US8869140B2 patent drawing
  • US8869140B2 patent drawing
  • US8869140B2 patent drawing

AI summary

Methods and systems are disclosed herein for deploying software modules in a computer system. In one embodiment, a number of containers are registered with a deployer. At least one container provides runtime environment for a corresponding type of software module in the computer system. The software modules are one of standalone software modules and components of software applications. From an archive file a number of files that include deployable software modules are extracted. The software modules corresponding to at least one of the containers are detected based on container specific detecting mechanisms. The detected software modules are validated in order to test their functionality and interoperability. When the software modules are validated, they are distributed for implementation in the corresponding containers.