Web Services Framework Reversion Message Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing web services reliable message protocols fail to support tentative updates for reliable messaging transactions, which can lead to disruptions such as message loss, corruption, duplication, or out-of-order receipt, and do not provide mechanisms for reverting to a previous state in case of triggering events.
Innovation Solution
A system and method that utilize the WS-ReliableMessaging protocol to persist a reversion message in a persistent storage unit, allowing the web services framework to revert to a previous state if a triggering event occurs, and to confirm receipt of tentative updates by forwarding a confirmation message, ensuring data integrity and consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If WS-ReliableMessaging protocol is used for reliable message delivery, then message delivery reliability is improved, but the ability to support tentative updates and state reversion is lost
Solution Approach 1:
The message is segmented into two distinct parts: a tentative update message that proposes a state change, and a confirmation message that finalizes the update. This segmentation allows the system to maintain reliable messaging while supporting tentative updates, as the recipient can choose to accept or reject the tentative update before confirmation is sent.
Solution Approach 2:
The sender performs a preliminary action by sending a tentative update message before the actual state change is committed. This preliminary message allows the recipient to prepare for the update and enables the sender to revert to the previous state if the update is not confirmed, thus supporting state reversion while maintaining reliability.
2Adaptability or versatility
If message persistence and state reversion capability are added, then adaptability for handling disruptions is improved, but system complexity increases
Solution Approach 1:
A state management intermediary component is introduced that sits between the messaging protocol and the application logic. This intermediary handles the complexity of state persistence, message correlation, and reversion operations, while presenting a simple interface to both the sender and recipient. It maintains a state database and manages the lifecycle of tentative updates without requiring changes to the core WS-ReliableMessaging protocol.
Solution Approach 2:
Instead of modifying the original message structure or adding complex metadata, the system creates a copy of the previous state and stores it in the state database. When reversion is needed, the system restores this copy rather than attempting to reverse the original change. This copying approach simplifies the reversion mechanism while maintaining data integrity.
3Reliability
If confirmation messages are sent for every tentative update, then data integrity is improved, but communication overhead increases
Solution Approach 1:
The system uses partial confirmation action where confirmation messages are sent only for tentative updates that require acknowledgment, rather than for all messages. The state management intermediary intelligently determines which updates need confirmation based on their impact on data integrity, reducing the number of confirmation messages while maintaining reliability for critical updates.
Data Source
AI summary
A system and method are provided to perform tentative updating for transactions using the Web Services Reliable Messaging protocol. From a protocol layer of a client side web services framework persists a message from an application transaction (a reversion message) in a persistent storage unit. The web services framework forwards the reversion message as a reliable message to a transport layer to cause a recipient to revert to a state prior to the application transaction, if a triggering event occurs in the web services framework. If no triggering event occurs a confirmation message is forwarded as a reliable message to confirm receipt of the tentative update at the transport layer. Concurrently with the confirmation persisted reversion message is deleted from the persistent storage unit.


