Transactional Component Navigation for MVC Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application programming frameworks, particularly those using the MVC architecture, face challenges in efficiently navigating and managing changes between components during the development and runtime stages, leading to issues with data validation and saving across different views and models.

Innovation Solution

The implementation of a transactional process that associates with components, allowing for navigation between them while validating and saving data changes, utilizing outbound and inbound plugs to manage transitions and ensure data integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If data binding is used for data transport between view and model, then data synchronization is improved, but data validation and integrity control deteriorate

Engineering Contradiction:
Improvedata synchronizationVSAvoiddata validation
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent introduces a transactional process as an intermediary layer between the data binding mechanism and the model. This transactional process intercepts data changes during navigation events, validates them against business rules, and either commits or rolls back the changes accordingly. The intermediary layer thus maintains data synchronization while ensuring data validation and integrity control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If navigation between components is enabled, then application flexibility is improved, but data integrity control deteriorates

Engineering Contradiction:
Improveapplication flexibilityVSAvoiddata integrity control
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements preliminary action by associating a transactional process with each component before navigation occurs. When a navigation event is detected, the system proactively validates and commits or rolls back data changes in advance of the navigation, ensuring data integrity is maintained while allowing flexible navigation between components.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple views bind to the same model, then application reusability is improved, but data management complexity increases

Engineering Contradiction:
Improveapplication reusabilityVSAvoiddata management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal transactional process that can be associated with any component and handles data validation and commitment consistently across multiple views binding to the same model. This multi-functional approach simplifies data management complexity while maintaining application reusability, as the same transactional mechanism serves all views regardless of their specific functionality.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7769698B2Navigation through components
Publication Date: 2010.08.03 SAP SE
  • US7769698B2 patent drawing
  • US7769698B2 patent drawing
  • US7769698B2 patent drawing

AI summary

This disclosure provides various embodiments of software for navigating through components. In one aspect, the software associates a transactional process with a first component, triggers navigation from the first component to a second component, and performs the transactional process associated with the first component upon triggering navigation from the first component to the second component. In some implementations, the transactional process comprises validating modifications made to the data of the first component. In other implementations, the transactional process further comprises saving the modifications to the data of the first component if the validation is successful, and if the validation is unsuccessful, not saving the modifications to the data of the first component.