Web Service Orchestration Server for Asynchronous Transaction Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing applications face challenges when interacting with asynchronous web-based services, as they typically expect rapid responses, leading to timeouts and errors when dealing with services that take minutes, days, or weeks to respond, causing functional issues.

Innovation Solution

The implementation of a web service orchestration server that manages long-running processes by suspending execution until responses are received from asynchronous services, using two-way proxies and flow coordination to handle both synchronous and asynchronous transactions, allowing for successful completion of collaborative processes across multiple web services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications wait for responses from web-based services within a short time period, then the application can function properly with synchronous services, but it will time-out and generate errors when interacting with asynchronous services that take minutes, days, or weeks to respond

Engineering Contradiction:
Improveapplication functionalityVSAvoidresponse waiting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by launching the process and sending the request to the asynchronous service, then suspending execution before waiting for the response. This allows the system to prepare everything in advance and pause at the optimal point, resuming later when the response arrives, thereby avoiding timeout errors while maintaining proper application functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts its operation mode based on the service response time characteristics. For synchronous services, it uses traditional blocking waits within short time periods. For asynchronous services, it implements suspension and resumption mechanisms, allowing execution to be paused and later continued, thereby adapting to varying response times without generating errors.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the system suspends execution to wait for asynchronous service responses, then it can handle long-running processes successfully, but it requires complex flow coordination and state management mechanisms

Engineering Contradiction:
Improveprocess completion successVSAvoidflow coordination mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary orchestration layer that manages the suspension and resumption of processes. This intermediary component handles the complexity of flow coordination, state persistence, and response matching, isolating the complexity from the individual processes and allowing them to be suspended and resumed without requiring complex logic within each process itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system extracts the flow coordination and state management logic from the individual process execution flow and places it in a dedicated orchestration mechanism. This separation allows the core process logic to remain simple while the complex coordination handling is delegated to a specialized component that manages suspensions, resumptions, and response correlations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of manufacture

If the system uses traditional synchronous communication methods, then the implementation is simple and direct, but it cannot successfully complete processes that require waiting for asynchronous service responses spanning minutes, days, or weeks

Engineering Contradiction:
Improveimplementation simplicityVSAvoidprocess execution duration
Core Design Contradiction:
Ease of manufactureVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary setup by launching the process and sending requests before the actual work completes. By suspending execution at the right moment and preserving state information, it avoids the need for continuous monitoring and complex polling mechanisms, maintaining implementation simplicity while supporting long-running processes that may take minutes, days, or weeks to complete.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8103713B2System and method for managing service interactions
Publication Date: 2012.01.24 COLLAXA CORP
  • US8103713B2 patent drawing
  • US8103713B2 patent drawing
  • US8103713B2 patent drawing

AI summary

A system and method for managing service interactions launches a process that is defined by a programming abstraction based on a syntax of a general purpose programming language. Interaction with a service, such as a web-based service, is initiated and the process requests the service to perform an action. Execution of the process is suspended until a response is received from the service. Execution of the process continues after receiving a response from the service.