Dynamic Web Service Composition via Semantic Processing Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing web service composition approaches require human involvement for creating new compositions, leading to delays and dependency on service providers for updates, and clients cannot easily create new compositions or invoke services without WSDL documents.
Innovation Solution
A method for service invocation that uses a semantic description of services, creating a processing graph from planning domain descriptions, deploying it as a composite service, and re-invoking or updating the service based on request parameters and domain changes, allowing instantaneous creation and dynamic updates of services.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual service composition is used, then service compositions can be created with human oversight, but it leads to delays and dependency on service providers for updates
Solution Approach 1:
The system enables self-service through automated service composition. The composition engine automatically generates service compositions based on service descriptions and requirements without human intervention. The caching mechanism stores generated compositions for reuse, and the system automatically detects when updates are needed, eliminating dependency on manual service provider updates while maintaining reliability through automated validation.
Solution Approach 2:
The system performs preliminary action by pre-generating and caching service compositions before they are needed. When services are described or updated, the composition engine proactively creates composition plans and stores them in the cache. This preliminary preparation eliminates delays during actual service invocation, as compositions are ready for immediate use without requiring manual creation at the moment of need.
2Productivity
If automated service composition is implemented, then service creation becomes instantaneous and dynamic, but it increases system complexity
Solution Approach 1:
The system segments the service composition functionality into distinct modular components: a service description module that defines services, a composition engine that generates compositions, a cache that stores compositions, and an invocation interface that uses them. This segmentation allows each component to be developed, maintained, and optimized independently, reducing overall system complexity while enabling automated high-speed composition.
Solution Approach 2:
The composition engine serves multiple functions: it generates initial service compositions, updates compositions when services change, validates composition correctness, and manages the composition cache. This multi-functionality reduces the need for separate specialized components, simplifying the system architecture while maintaining high productivity in service composition operations.
3Loss of time
If service compositions are cached, then invocation overhead is reduced and response time improves, but memory resources are consumed
Solution Approach 1:
The system dynamically changes parameters of cached compositions based on service updates. When a service description changes, the composition engine updates only the affected composition parameters in the cache rather than storing entirely new compositions. This parameter-based updating reduces memory consumption by reusing common sub-compositions while still achieving fast invocation through caching.
Solution Approach 2:
The caching mechanism implements discarding and recovering by automatically removing outdated or unused compositions from the cache to free memory resources. When services are updated or new compositions are needed, the system recovers memory by evicting less frequently used compositions and generating or retrieving new ones. This dynamic memory management maintains fast invocation performance while controlling memory usage.
Data Source
AI summary
A method for service invocation, including: receiving a first request for a service to be invoked, wherein the first request includes a semantic description of the service; creating a processing graph for the first request from planning domain descriptions of a plurality of services; deploying the processing graph in an execution environment as a composite service; invoking the composite service; and returning a response provided by the invoked composite service.


