Progress Information in Service-Oriented Architecture
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In service-oriented architectures, clients lack meaningful progress information during service fulfillment, leading to uncertainty about processing status, responsiveness, or network errors, especially with lengthy requests.
Innovation Solution
Implementing a system where a business process platform provides progress information by storing and updating it in shared memory and retrieving it to display to the client through a separate work process, using HTTP protocol, allowing for real-time visual updates on user interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a service-oriented architecture uses HTTP request/response protocol for service fulfillment, then the architecture maintains simplicity and standard compliance, but the client receives no progress information during processing, creating uncertainty about system responsiveness
Solution Approach 1:
The system implements feedback by having the service-oriented architecture send progress information back to the client during service fulfillment. The server monitors business process execution and transmits status updates through HTTP responses, enabling the client to track progress in real-time and eliminating uncertainty about system responsiveness.
Solution Approach 2:
The system introduces an intermediary mechanism where the server acts as a mediator between the business process execution and the client. The server captures progress information from the business process and relays it to the client through HTTP responses, enabling information flow without changing the fundamental request/response architecture.
2Loss of information
If the service-oriented architecture implements progress information transmission during processing, then the client receives meaningful updates, but the architecture complexity increases beyond standard HTTP request/response
Solution Approach 1:
The system applies universality by making the existing HTTP response mechanism serve multiple functions: it continues to transmit service results as before, while simultaneously carrying progress information through the same protocol. This multi-functionality avoids adding new communication protocols or complex infrastructure.
Solution Approach 2:
The system changes the content parameters of HTTP responses to include progress information alongside traditional service responses. By modifying the response structure to incorporate status updates, progress percentages, and timing information, the architecture delivers enhanced feedback without fundamentally altering the HTTP protocol.
3Ease of operation
If the server sends continuous progress updates to the client, then the user experience improves with real-time visibility, but the network bandwidth and processing overhead increase
Solution Approach 1:
The system implements periodic action by sending progress information at specific intervals rather than continuously. The server monitors business process milestones and transmits updates when significant progress events occur, providing timely feedback while minimizing unnecessary network traffic during stable processing phases.
Solution Approach 2:
The system applies self-service by having the business process itself generate and provide progress information. The business process monitors its own execution state and supplies progress data to the server, which then forwards it to the client. This eliminates the need for separate monitoring infrastructure and reduces overhead.
Data Source
AI summary
A system may include reception of an instruction to execute a business process from a client application, execution of the business process in a first software work process, and storage, during execution of the business process, of progress information associated with the business process within a memory. A system may further include reception, at a second software work process, of a request from the client application for progress information, retrieval, in the second software work process, of the progress information from the shared memory, reception, at the second software work process, of the progress information from the memory, and provision of the progress information to the client application from the second software work process.


