J2EE Deployment Automation via Server Environment Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current deployment methods for J2EE applications are time-consuming, error-prone, and require significant manual effort, with limited versioning and vendor-specific tools necessitating multiple installations and extensive training, leading to inefficiencies and configuration challenges across diverse server environments.

Innovation Solution

A system and method that uses a lightweight program to deploy J2EE applications by analyzing server configurations, generating a configuration document, and automatically configuring applications across different environments, reducing manual intervention and errors, and enabling versioning and installation on multiple vendors' servers with a single configuration file.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual deployment methods are used, then deployment can be performed on any server, but deployment time is excessive and error-prone

Engineering Contradiction:
Improvedeployment speedVSAvoiddeployment accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The deployment system performs self-configuration by automatically detecting server environment, extracting configuration parameters, and generating deployment configurations without manual intervention. The system queries the target server to obtain environment information and automatically configures deployment parameters based on detected server type and version.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Manual mechanical deployment operations are replaced with an automated software system that uses programmatic server querying, configuration extraction, and automatic deployment execution. The system substitutes human operators with an automated deployment engine that performs environment detection and configuration generation.

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

2Reliability

If vendor-specific deployment tools are used, then deployment accuracy for that vendor's server is improved, but device complexity increases due to multiple tools required

Engineering Contradiction:
Improvevendor-specific deployment accuracyVSAvoidnumber of deployment tools
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The deployment system is designed to work with multiple vendor-specific servers through a universal interface. It automatically detects the server type (e.g., WebLogic, WebSphere, JBoss) and adapts its configuration extraction and deployment processes accordingly, eliminating the need for separate deployment tools for each vendor.

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

Solution Approach 2:

The system introduces an intermediary deployment engine that sits between the deployment package and various vendor-specific servers. This intermediary automatically translates generic deployment configurations into vendor-specific configurations by querying server environments and adapting parameters, serving as a universal adapter layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If manual configuration updates are performed, then configuration accuracy can be maintained, but loss of time increases due to repetitive manual updates

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidtime for configuration updates
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

Manual configuration update operations are replaced with automated programmatic processes. The deployment system programmatically queries servers, extracts configuration parameters, generates updated configuration files, and deploys them automatically, substituting manual text editing and configuration management with automated software processes.

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

Solution Approach 2:

The system creates and manages configuration templates that can be copied and adapted across different server environments. Configuration parameters are extracted from server queries and used to generate standardized configuration files that can be replicated across multiple deployment targets, reducing repetitive manual configuration work.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If custom installation utilities are created, then adaptability to specific environments is improved, but device complexity and cost increase

Engineering Contradiction:
Improveenvironment-specific adaptabilityVSAvoidcustom utility complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The deployment system dynamically adapts to different server environments by querying the target server at runtime to detect its type, version, and configuration capabilities. Based on the detected environment, the system automatically adjusts its deployment strategy and configuration parameters, providing environment-specific adaptability without requiring pre-configured custom utilities for each scenario.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10430204B2System and method for cloud provisioning and application deployment
Publication Date: 2019.10.01 BMC HELIX INC
  • US10430204B2 patent drawing
  • US10430204B2 patent drawing
  • US10430204B2 patent drawing

AI summary

Embodiments described herein provide systems and methods for installing or otherwise supporting applications in a cloud environment and systems and methods for provisioning a cloud environment. One embodiment includes abstracting a set of configuration information associated with a first environment into a set of environment independent attributes and a set of environment dependent attributes. A second environment may then be configured using the mapped environment independent attributes and the values for the set of environment dependent attributes. If the second environment is a cloud environment, embodiments described herein can include provisioning the cloud environment by mapping hardware and/or software characteristics of the first environment and/or user selected characteristics to abstractions of the characteristics and sending API calls to a cloud environment interface based on the abstractions of the characteristics to provision a selected target environment in the cloud environment.