Software Application Debugging via Intermediary Service
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software applications often face difficulties in debugging due to limited capabilities for recording and controlling transactions, especially when they expose only a partial view of backend system transactions, making it challenging to determine the cause of errors and maintain efficient operation.
Innovation Solution
A computer-implemented method for debugging software applications involves assigning identifiers to debugging requests, establishing connections between the software application and a debugger interface using protocols like WebSocket and REST, and transmitting resolutions through OData, enabling effective error resolution and control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If software applications expose only a partial view of backend system transactions, then the application interface remains simple and maintainable, but the capability to record and debug transactions is limited
Solution Approach 1:
A debugging service is introduced as an intermediary component between the software application and the backend system. This service receives debugging requests from the application, executes them against the backend system, and returns resolutions. The intermediary enables enhanced debugging and transaction recording capabilities without modifying the application's simple interface, resolving the contradiction by adding complexity in a separate layer.
2Difficulty of detecting and measuring
If debugging controls are added to recording and debugging transactions, then transaction recording capability is improved, but the device complexity increases
Solution Approach 1:
The debugging service acts as an intermediary that encapsulates complex debugging controls and execution logic. Instead of embedding complex debugging capabilities directly into the software application or device, the intermediary handles these complexities externally, allowing the application to maintain simplicity while gaining enhanced debugging capabilities.
Solution Approach 2:
The debugging functionality is segmented into a separate service component that operates independently from the application. This segmentation allows debugging capabilities to be developed, tested, and maintained separately, reducing the complexity burden on the application itself while improving transaction recording capabilities.
3Reliability
If a debugging service executes connection requests to a debugger interface, then error resolution capability is improved, but the system complexity increases
Solution Approach 1:
The debugging service serves as an intermediary layer that manages connections between the application and the debugger interface. It executes connection requests, handles authentication, and coordinates communication protocols, thereby improving error resolution capabilities while containing system complexity within the intermediary service rather than distributing it throughout the system.
Data Source
AI summary
A method, a system, and a computer program product for debugging of software applications. A first identifier is assigned to a debugging request received from a software application for debugging a transaction executed by the software application. Based on the assigned first identifier, a connection request to a debugger is executed. The debugger generates an interface to a backend computing system that stores a resolution of the debugging request. A second identifier is associated with the generated interface. Based on the received second identifier, a connection between the software application and the generated interface is established. Using the first identifier, the resolution of the debugging request is obtained from the backend system. The resolution is transmitted to the debugging request for display by the software application.


