Dynamic Web Service Client Update via Version Agent

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Service Oriented Architecture (SOA) using Web services, change management is complex due to the loosely coupled nature of services, making it difficult for clients to track and adapt to changes, leading to potential service disruptions and business interruptions, especially when changes are not backward compatible.

Innovation Solution

A method that involves a Version Agent with components like Notification Receiver and Parser, and Proxy Instance Checker, which receives and parses update notifications, determines compatibility, and dynamically updates the service proxy or notifies clients of incompatibilities, allowing for backward compatible changes without re-building or re-deploying client applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If service providers use notification messages (release notes or API upgrade guides) to notify clients of service changes, then clients can be informed of changes, but it becomes very difficult for developers to locate the part of the code needing adjustment when the documentation is long or complex or the client application code is huge

Engineering Contradiction:
Improveservice change informationVSAvoidcode update location
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent extracts only the essential compatibility information from comprehensive release notes, identifying and transmitting specifically the service interface elements that have changed (added, deleted, or modified operations and parameters). This extraction process filters out unnecessary documentation content, delivering precisely the information needed for code updates without the burden of reviewing entire release notes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The notification message structure is designed with localized quality by organizing change information according to its impact on different parts of the client code. Each service interface element change is tagged with its specific location and type of modification, allowing developers to quickly navigate to and understand only the relevant code sections that need adjustment.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If service providers make incompatible changes to service interfaces (such as adding mandatory parameters), then service functionality is improved, but old service versions cannot be retired and consumers depending on those versions are disrupted

Engineering Contradiction:
Improveservice functionalityVSAvoidservice continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements dynamic version management where the service provider can retire old service versions dynamically based on client compatibility status. The system continuously monitors which clients have updated their code and automatically retires old versions for those clients, while maintaining them for clients who haven't updated yet. This dynamic approach allows aggressive version evolution without disrupting existing clients.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop where service providers receive notifications about which clients have successfully updated their code to be compatible with new service versions. Based on this feedback, the provider can determine when it is safe to retire old service versions, ensuring that no active clients are disrupted by version retirement.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If clients rebuild and redeploy all applications every time a service changes, then clients keep up with service updates, but the development and deployment cycle becomes excessively complex and time-consuming

Engineering Contradiction:
Improveservice update adoptionVSAvoiddevelopment cycle
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of requiring complete application rebuilds and redeployments, the patent implements partial updates where only the specific code portions affected by service changes are modified. The system identifies exactly which service interface elements have changed and generates targeted update instructions for those specific components, allowing clients to update incrementally rather than undertaking full reconstruction of their applications.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The service provider performs preliminary analysis of service changes to determine compatibility impact before clients need to update. By pre-identifying which service interface elements have changed and preparing targeted notification messages with specific update instructions, the provider eliminates the need for clients to perform comprehensive code analysis and rebuilding, significantly simplifying the update process.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If the service interface changes (such as adding mandatory input parameters), then new service capabilities are achieved, but determining compatibility between versions becomes a difficult task requiring assistant tools

Engineering Contradiction:
Improveservice evolutionVSAvoidcompatibility classification
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The service provider performs self-service by automatically analyzing their own service interface changes and generating compatibility assessments. The system compares the new service version against the old version, automatically identifies added, deleted, or modified operations and parameters, and determines compatibility impact without requiring external assistant tools. This self-service capability eliminates the burden from clients to perform complex compatibility analysis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The service provider performs preliminary compatibility analysis before releasing service updates. By pre-comparing service versions and generating structured notification messages that indicate compatibility status and required changes, the provider eliminates the need for clients to perform difficult compatibility classification tasks using external tools, significantly simplifying the update process.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7822840B2Method and apparatus for dynamic web service client application update
Publication Date: 2010.10.26 WRP IP MANAGEMENT LLC
  • US7822840B2 patent drawing
  • US7822840B2 patent drawing
  • US7822840B2 patent drawing

AI summary

A method for managing a web service client update without recompiling or redeploying of the client code includes the following steps or acts of: receiving a request for the web service from a subscribed client; transmitting the request to the web service; receiving notification of the web service update from a service provider or registry or some other means; parsing the notification and retrieving parameters describing the web service update; marshalling the parameters; determining whether the new web service update is compatible with the current web service invoked by the client application; updating the local service proxy instance with the marshaled parameters if the new web service update is compatible with the current web service invoked by the client application; and transmitting a notification if the web service update is not compatible with the current web service invoked by the client application.