Cloud Plugin Installer for Legacy Application Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy on-premises applications transitioning to a cloud environment face challenges in managing plugins due to lack of independence between container-implemented executables and libraries, leading to extensive testing and resource-intensive data migrations, and users lack direct access to install or remove plugins, limiting flexibility and introducing security risks.

Innovation Solution

A plugin installer service at the cloud environment manages plugin installation, upgrade, and removal through a frontend service and plugin catalog, allowing users to select plugins without direct access to application containers, reducing security risks and maintaining flexibility without full re-factoring to a cloud-native format.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If users are granted direct access to install or remove plugins in cloud environment, then flexibility and ease of operation are improved, but security risks and system stability deteriorate

Engineering Contradiction:
ImprovePlugin management flexibilityVSAvoidSecurity risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

A plugin service is introduced as an intermediary component between users and the application containers. The service receives plugin installation, upgrade, and removal requests from users, validates them, and executes the appropriate actions. This mediator architecture allows users to manage plugins flexibly without having direct access to the container filesystem, thereby maintaining security while enabling ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If legacy on-premises applications are migrated to cloud environment with containerization, then scalability and deployment flexibility are improved, but plugin management complexity and testing requirements worsen due to lack of independence between executables and libraries

Engineering Contradiction:
ImproveCloud deployment flexibilityVSAvoidPlugin management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct components: the application container with its executables and libraries, and a separate plugin service component. This segmentation allows the plugin service to manage plugins independently without requiring changes to the containerized application structure. The service handles plugin installation, validation, and execution as separate manageable units, reducing the complexity of managing plugins in a containerized environment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The plugin service acts as a mediator that bridges the gap between the containerized application and external plugin management requirements. It provides the necessary functionality to install, upgrade, and remove plugins without requiring users to have direct access to container internals, thereby simplifying plugin management while maintaining cloud deployment benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If extensive testing and data migration are performed to ensure plugin compatibility, then reliability is improved, but loss of time and productivity worsen

Engineering Contradiction:
ImprovePlugin compatibilityVSAvoidTesting and migration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The plugin service performs preliminary actions by validating plugin compatibility with the running application version before installation. It checks whether the plugin is compatible with the current application state and prevents installation of incompatible plugins. This preliminary validation ensures reliability by avoiding incompatible plugin installations without requiring extensive post-installation testing, thereby reducing time loss.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If full re-factoring to cloud-native format is performed to enable independent plugin management, then adaptability is improved, but loss of substance and productivity worsen due to extensive re-development requirements

Engineering Contradiction:
ImprovePlugin independenceVSAvoidExisting application code
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The plugin management functionality is extracted from the application container itself and placed into a separate external service. This extraction allows the legacy on-premises application to remain unchanged in its containerized form while still enabling independent plugin management through the external service. The application code does not need to be re-factored to cloud-native format, preserving the existing substance while gaining adaptability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11841731B2Cloud plugin for legacy on-premise application
Publication Date: 2023.12.12 SAP SE
  • US11841731B2 patent drawing
  • US11841731B2 patent drawing
  • US11841731B2 patent drawing

AI summary

Various examples described herein are directed to systems and methods for managing a cloud-implemented database management application. A frontend service executing at a cloud environment may receive a plugin request from a first user associated with a first user group and determine a version of a database management application executing at the cloud environment for the first user group. The frontend service may access a plugin catalog to determine at least one plugin compatible with the database management application and provide an indication of the at least one plugin to the first user. The frontend service may receive from the first user a selection of a first plugin from the at least one plugin and call a plugin installer service executing at the cloud environment to install the first plugin to the database management application.