Asynchronous Web Service Transport for Scalable Client Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing web service environments face challenges in supporting scalable asynchronous clients, as current technologies like JAX-WS primarily address asynchronous threading at the client level, leading to added complexity and performance issues when clients interact with larger applications or clusters.
Innovation Solution
The system extends web service environments by enabling asynchronous transport, allowing decoupling of request and response messages, with clients using SOAP headers and HTTP for communication, and automatically deploying endpoint references for response delivery, thereby simplifying the development of complex asynchronous environments and improving quality of service.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If JAX-WS addresses asynchronous threading at the client level, then asynchronous client support is provided, but the client becomes a de facto server adding complexity
Solution Approach 1:
The patent introduces a transport layer as an intermediary between the client and web service that handles asynchronous message delivery. The transport decouples the request-response cycle, allowing the client to send requests and receive responses at different times without becoming a server. The transport manages the complexity of asynchronous communication, thread pooling, and message routing, while the client maintains its simple client role.
2Adaptability or versatility
If the client is part of a larger application or cluster, then sophisticated needs arise, but the added complexity creates a burden on the developer
Solution Approach 1:
The patent segments the web service communication system into distinct layers: the client layer for simple request initiation, the transport layer for managing asynchronous message delivery and thread pooling, and the service layer for business logic. This segmentation allows each layer to handle specific concerns independently, reducing the burden on developers who only need to work with the simple client interface while the transport handles complex clustering and asynchronous delivery requirements.
3Reliability
If the client blocks at the transport level, then request-response interaction occurs, but performance is affected
Solution Approach 1:
The patent implements dynamic thread pooling at the transport layer that can adapt to varying load conditions. The transport maintains a pool of worker threads that can be dynamically allocated to handle multiple asynchronous requests concurrently. This dynamic resource management allows the system to maintain reliable request-response interaction while improving performance by preventing client blocking and enabling parallel message processing.
Data Source
AI summary
An asynchronous transport enables decoupling the delivery of an operation's request and response messages, from the request and response cycle of a single exchange on the transport. The response message need not be delivered as the response to the initial transport request, but can instead be delivered by the web service to a response endpoint or other location selected by the client, using a new connection originating from the service. In accordance with an embodiment, the client communicates with the web service via request messages that include a SOAP header, formatted according to an XML format, and conveyed using the HTTP. The asynchronous transport automatically deploys, for a client, an endpoint reference that will ultimately receive corresponding response messages. This allows the response to ultimately return to the client application in a manner consistent with the JAX-WS specification, without the developer having to change their original client application.


