Runtime Sandbox for Metadata Testing Without Downtime
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for testing changes to metadata in metadata-driven software applications are resource-intensive and result in significant downtime, as they require creating a separate staging environment and bringing the production environment offline, which is inefficient and cannot support simultaneous testing of multiple metadata changes.
Innovation Solution
Implementing a sandbox within the runtime environment that allows for testing of metadata changes without affecting the mainline version, enabling simultaneous access and modification of metadata versions based on user session context, and merging changes into the mainline version without taking the environment offline.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a separate staging environment is created for testing metadata changes, then testing can be performed without affecting the production environment, but resource requirements and system complexity increase
Solution Approach 1:
The patent merges the testing functionality directly into the production environment by implementing a sandbox mechanism that allows metadata changes to be tested in isolation within the existing runtime environment. This eliminates the need for a separate staging environment while maintaining environment stability through session-based isolation.
Solution Approach 2:
The patent segments the metadata access by creating isolated sandbox contexts within user sessions. Each sandbox creates a isolated namespace for testing metadata changes, allowing multiple concurrent test scenarios to coexist without interfering with each other or the main production environment.
2Reliability
If the production environment is brought offline to apply metadata changes, then changes can be safely applied, but operational downtime increases
Solution Approach 1:
The patent enables preliminary testing of metadata changes in sandboxes before applying them to the main production environment. This preliminary action allows changes to be validated in advance, ensuring safety while enabling continuous operation of the production environment throughout the testing and deployment process.
Solution Approach 2:
The patent maintains continuous operation of the production environment by allowing metadata changes to be tested and applied without bringing the system offline. The sandbox mechanism enables changes to be prepared and validated while the production environment continues to serve requests, eliminating downtime.
3Productivity
If a single staging environment is used for testing, then resource usage is reduced, but the ability to test multiple incompatible metadata changes simultaneously is lost
Solution Approach 1:
The patent adds a new dimension to the testing capability by implementing session-based sandbox contexts. This allows multiple independent testing scenarios to run simultaneously within the same runtime environment by isolating them in different session contexts, effectively transforming a single-threaded testing approach into a multi-threaded one without requiring multiple environments.
Solution Approach 2:
The sandbox mechanism serves multiple functions: it provides isolated testing environments for multiple concurrent changes, maintains production environment stability, and enables continuous operation during testing. This single mechanism replaces the need for separate staging environments while supporting diverse testing scenarios.
Data Source
AI summary
Techniques for using a sandbox to test changes to the metadata of a metadata-driven application. In one set of embodiments, a mainline and a sandbox are created in a runtime environment of a metadata-driven application. The mainline is configured to include a mainline version of a metadata document of the application. The sandbox is configured to include a sandbox (i.e., test) version of the metadata document. At application runtime, requests to access and/or modify the metadata document are serviced either from the mainline or the sandbox based on a sandbox context of the current user session. Thus, changes to the metadata document may be tested on the sandbox version without affecting the mainline version, and vice versa. In various embodiments, multiple sandboxes may be supported in the runtime environment. In further embodiments, the sandbox version may be merged into the mainline version without bringing the runtime environment offline.


