Web Service Version Routing via SOAP Message Inspection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If software is updated in production environment, then new version can be deployed, but service downtime occurs

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidservice downtime
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If new version is deployed concurrently with old version, then downtime is eliminated, but system complexity increases

Engineering Contradiction:
Improveservice downtimeVSAvoidversion routing mechanism
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7913244B2Side by side for web services
Publication Date: 2011.03.22 ORACLE INT CORP
  • US7913244B2 patent drawing
  • US7913244B2 patent drawing
  • US7913244B2 patent drawing

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.