Web Service Version Routing via SOAP Message Inspection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Updating software in a production environment often results in downtime, which can be challenging for administrators, especially when dealing with global customers, as it is difficult to minimize disruptions.
Innovation Solution
Implementing a side-by-side deployment of web services, where both old and new versions operate concurrently, allowing the new version to handle new conversations and callbacks while the old version manages existing ones, enabling administrators to start the new version without disrupting customers by using version-related information in SOAP requests and a version handler to route requests appropriately.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If software is updated in production environment, then new version can be deployed, but service downtime occurs
Solution Approach 1:
The patent segments the web service into multiple versioned instances (old version and new version) that can operate independently and concurrently. Each version handles specific conversation streams, allowing the new version to be deployed without taking down the entire service. This segmentation enables continuous operation while updating software.
Solution Approach 2:
The patent implements preliminary action by deploying the new version alongside the old version before fully migrating customers. The version handler is configured in advance to route requests based on conversation ID, and the new version is pre-deployed and tested. This allows the system to transition smoothly without abrupt downtime.
2Loss of time
If new version is deployed concurrently with old version, then downtime is eliminated, but system complexity increases
Solution Approach 1:
The patent introduces a version handler as an intermediary component that sits between the client and the web service implementations. This handler examines the SOAP request, extracts the conversation ID, determines which version should handle the request, and routes it accordingly. This intermediary simplifies the complexity by centralizing the routing logic rather than distributing it throughout the system.
Solution Approach 2:
The patent uses copying by maintaining duplicate versions of the web service (old version and new version) with identical interfaces but different implementations. The version handler copies the routing decision based on conversation ID, directing requests to the appropriate version. This copying approach allows both versions to coexist without requiring significant structural changes to the overall system architecture.
Data Source
AI summary
SOAP requests can contain version related information. The version related information of the SOAP request can be checked and based on the version related information, the SOAP request can be sent to an old or new version of the web service.


