Location-Transparent BPEL Extensions for Distributed Web Service Orchestration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
BPEL lacks constructs and libraries to implement complex business logic, leading to resource competition and difficulty in distributing processes across multiple systems.
Innovation Solution
A system and method for orchestrating Web Services using BPEL that enables location transparency and routing slip extensibility, allowing extensions to be executed across multiple computers without modification, using Message Oriented Middleware (MOM) and routing slips.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If custom code extensions are co-located on the same physical computer as the BPEL processing engine, then complex business logic can be implemented, but resource competition occurs between extensions and the BPEL engine
Solution Approach 1:
The patent segments the BPEL execution environment by separating extension elements from the core BPEL engine. Extensions are deployed as independent components that can be dynamically loaded and executed in isolated contexts, preventing resource contention while maintaining functional integration. This is achieved through separate class loaders and isolated execution environments that allow extensions to run without competing for the same JVM resources.
Solution Approach 2:
The patent introduces an intermediary layer (the extension management infrastructure) that mediates between the BPEL engine and custom code extensions. This intermediary handles extension deployment, class loading, and execution context management, allowing extensions to be implemented without direct resource competition with the engine. The intermediary abstracts the resource management complexity while enabling sophisticated business logic implementation.
2Device complexity
If BPEL processes are centralized on a single location, then orchestration control is simplified, but distribution across multiple computer systems becomes extremely difficult
Solution Approach 1:
The patent creates a universal extension execution model that functions both in centralized and distributed environments. The same extension deployment mechanism and execution infrastructure support both single-node and multi-node configurations, eliminating the need for different approaches based on deployment topology. Extensions can be deployed to any node in the distributed system and executed with the same semantics as in centralized mode.
Solution Approach 2:
The patent adds the dimension of spatial distribution to the BPEL execution model by enabling extensions to be deployed across multiple physical locations while maintaining logical unity. The extension management infrastructure abstracts physical location, allowing extensions to be distributed across multiple computer systems while presenting a unified interface to the BPEL engine. This transforms the single-location constraint into a multi-location capability without increasing orchestration complexity.
3Quantity of substance
If extension elements are physically distributed across multiple computers, then computing resources are increased, but location transparency and dynamic movement become challenging
Solution Approach 1:
The patent implements a feedback mechanism where the extension management infrastructure continuously monitors extension execution state, resource availability, and system load. Based on this feedback, the system dynamically makes decisions about extension deployment, migration, and load balancing. This feedback loop enables automatic adaptation to changing conditions while maintaining location transparency, as the infrastructure manages physical distribution without requiring changes to extension code or BPEL processes.
Data Source
AI summary
In order to achieve location transparency and routing slip extensibility, a system and a method for orchestrating a web service using Business Process Execution Language are disclosed. The method includes: receiving a message, wherein the message comprises an address identifying an extension element; determining, from the address, a location of the extension element identified by the address; responsive to determining the location of the extension element, directing the message to an appropriate location; and storing the message in a computer readable storage medium.


