Application Container Version Control for Data Stores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional version control systems for software applications lack functionality for managing data stores, requiring developers to interact with infrastructure management personnel for resource allocation, leading to delays and potential compromises in application development due to the lack of direct control over data versioning.
Innovation Solution
An application development system that stores application containers, each containing metadata and policies, allowing developers to perform actions like data refresh, branching, and sharing without needing IT infrastructure management, by abstracting physical resources and enforcing resource constraints through policies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If developers interact with infrastructure management personnel for data store management, then resource allocation is controlled, but development time increases and productivity decreases
Solution Approach 1:
The system enables developers to autonomously perform data store version control operations (branching, sharing, refreshing, rollback) without requiring infrastructure management personnel. The source code management tool directly interfaces with the data store system, allowing developers to self-manage data stores using the same workflows they use for source code.
Solution Approach 2:
The patent merges source code management functionality with data store management functionality into a single integrated system. The source code management tool is extended to also manage data stores, combining two previously separate management processes into one unified workflow that handles both source code and data stores simultaneously.
2Reliability
If developers wait for infrastructure management personnel to orchestrate backup and restore operations, then resource management is maintained, but time is lost and development delays occur
Solution Approach 1:
Developers can directly initiate backup, restore, branching, and refreshing operations on data stores through the source code management tool without waiting for infrastructure personnel. The system performs these operations automatically based on developer requests, eliminating waiting time while maintaining proper resource management through the established workflow.
3Productivity
If developers use stale or incorrect data to work around delays, then development continuity is maintained, but application quality deteriorates
Solution Approach 1:
The system performs automatic data refreshing and synchronization operations before developers need the latest data. Through automated workflows that trigger data store updates, branching, and refreshing operations in advance, developers always have access to current data without needing to use stale data as a workaround.
4Ease of manufacture
If infrastructure management personnel handle data store resources, then resource allocation is optimized, but developer autonomy decreases and process complexity increases
Solution Approach 1:
The source code management tool is enhanced to perform multiple functions: it manages both source code and data stores, handling operations like branching, sharing, refreshing, and rollback for both types of resources. This multi-functional approach eliminates the need for separate infrastructure management interventions while maintaining optimized resource allocation through unified workflows.
Data Source
AI summary
An application development system allows developers of software system to manage infrastructure resources during the development and testing process. The application development system allows users to define application containers that comprise components including source code, binaries, and virtual databases used for the application. An application container can be associated with policies that control various aspects of the actions taken using the application container including constraints and access control. The application development system enforces the policies for actions taken by users for the application containers. The encapsulation of policies with the application containers allows users of the application containers to take actions including creating virtual databases, provisioning virtual databases, and the like without requiring system administrators to manage resource issues.


