Live Artifact Updates Without Full Application Redeployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for updating artifacts in a live production environment are inefficient, as they require recompiling and redeploying the entire application, leading to significant downtime and resource consumption, and are not suitable for multi-user environments due to reliance on development servers and delayed reflection of changes.
Innovation Solution
A system and method utilizing a database server and application server with a code editor interface, where users can update artifact definitions using a low-code programming language, and the application server compiles and renders these updates in real-time within the live production environment, eliminating the need for a development server and web sockets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If recompiling and redeploying the entire application is performed to update artifacts, then the updated artifact is reflected in the live production environment, but significant downtime and resource consumption occur
Solution Approach 1:
The patent segments the application update process by isolating the artifact compilation and deployment from the rest of the application. Only the specific artifact being modified is recompiled and deployed, while the rest of the application continues to run without interruption. This is achieved through selective module replacement mechanisms that allow individual artifacts to be updated independently.
Solution Approach 2:
The patent performs preliminary compilation of the modified artifact before deploying it to the live environment. The artifact is compiled in advance using the updated definition, validated, and then swapped into the running application without requiring the entire application to be stopped. This preliminary preparation enables seamless updates.
2Productivity
If a development server with HMR technology is used to track changes and trigger incremental builds, then code changes are reflected in the application, but substantial resources are consumed and the server must run constantly
Solution Approach 1:
The patent implements a self-service mechanism where the client application autonomously detects artifact definition changes through local storage monitoring and automatically triggers the update process. The system uses local event listeners and storage change detection to identify modifications, eliminating the need for an external development server to monitor and notify about changes.
Solution Approach 2:
The patent extracts the change detection and triggering functionality from the development server environment and relocates it to the client application. By embedding the change detection logic directly in the client, the system eliminates the need for a constantly running development server while maintaining the ability to detect and respond to artifact definition changes.
3Speed
If web sockets are used to trigger application reloads on the client end, then changes are communicated in real-time, but system complexity increases
Solution Approach 1:
The patent replaces the web socket communication mechanism with a simpler event-driven architecture using local storage change detection. Instead of maintaining a persistent bidirectional communication channel, the system uses client-side event listeners that automatically trigger when artifact definitions are updated and stored locally, eliminating the need for complex socket infrastructure.
4Reliability
If the entire application is redeployed to update an artifact, then the updated artifact is installed, but all other users experience downtime
Solution Approach 1:
The patent segments the deployment process to update only the specific artifact that has been modified, rather than redeploying the entire application. This selective update approach ensures that other parts of the application continue to function normally for all users, maintaining user availability while still achieving the necessary artifact updates.
Solution Approach 2:
The patent implements a dynamic update mechanism that allows the application to adaptively replace individual artifacts at runtime without requiring a full application restart. The system dynamically loads and integrates updated artifacts into the running application, enabling continuous user access while incorporating updates.
Data Source
AI summary
A system and method for updating of artifacts in a live production environment of an application are provided. The system includes a database server, and an application server wherein the application is hosted, configured to provide a code editor interface, on a user device for enabling a user to update at least one artifact definition associated with at least one artifact associated with the application, wherein the updated artifact definition is stored on the database server. The application server retrieves the updated artifact definition from the database server upon being notified of the user updates to the artifact definition, by the user device. The application server furthers renders an updated artifact based on the updated artifact definition within the live production environment of the application in real-time, on the user device.


