Live Artifact Updates Through Real-Time Definition Rendering
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 web sockets.
Innovation Solution
A system and method that uses a database server and application server to provide a code editor interface for users to update artifact definitions, with event notifications and graph query language to retrieve and compile updates in real-time, eliminating the need for development servers 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 artifacts are reflected in the live production environment, but significant downtime and resource consumption occur
Solution Approach 1:
The system segments the artifact update process by allowing individual artifacts to be updated independently through a code editor interface. Users can modify specific artifact definitions without triggering a full application recompile and redeploy, thus updating only the necessary components while maintaining continuous operation of the rest of the application.
Solution Approach 2:
The system performs preliminary actions by maintaining a development environment parallel to the live production environment. Artifact definitions can be edited, validated, and prepared in the development environment before being deployed to production, allowing changes to be tested and ready before actual deployment occurs, minimizing disruption to the live application.
2Productivity
If a development server with HMR technology is used to preview changes, then code changes are reflected in the application, but substantial resources are consumed and web sockets are required
Solution Approach 1:
The system extracts the artifact definition editing capability from the heavy-weight development server environment and places it in a lightweight code editor interface accessible from the production environment. This allows artifact definitions to be modified directly in the browser without requiring a constantly running development server, eliminating the need for web sockets and substantial server resources while maintaining fast change reflection.
3Ease of operation
If a development server is used to track changes and trigger incremental builds, then updated code is reflected in the application, but the server requires constant operation and user notification on failure
Solution Approach 1:
The system implements self-service by allowing users to directly edit artifact definitions through a code editor interface in the production environment. The changes are automatically stored in the database and reflected in the application without requiring a development server to track changes or trigger builds. This eliminates the need for constant server operation and complex infrastructure while maintaining automated change tracking and reflection.
4Reliability
If the entire application is redeployed to update artifacts, then all users experience the updated version, but all other users are impacted by the downtime
Solution Approach 1:
The system segments the artifact update process by allowing individual artifacts to be updated independently. When an artifact definition is modified, only that specific artifact is updated in the live production environment while the rest of the application continues to run without interruption. This ensures all users see the updated artifact immediately while maintaining continuous availability of other application functions.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system (200) and method for updating of artifacts in a live production environment of an application is disclosed. The system (200) comprises a database server (216), and an application server (100, 202) wherein the application is hosted, configured to provide a code editor interface, on a user device (212) 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 (216). The application server (100, 202) retrieves the updated artifact definition from the database server (216) upon being notified of the user updates to the artifact definition, by the user device (212). The application server (100, 202) 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 (212).