Pluggable Pricing Architecture Decouples Engine Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional pricing platforms require significant programming overhead to support multiple clients and modifications, as the pricing algorithm must be integrated into the pricing engine, limiting flexibility and efficiency in managing different pricing methods for various clients.
Innovation Solution
A pluggable pricing architecture that allows clients to define their own pricing constructs and utilize both standard and custom pricing methods as plugins, decoupling the pricing engine from specific pricing logic, enabling incremental development and customization without modifying the engine.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the pricing algorithm is integrated into the pricing engine, then the pricing operations can be performed efficiently, but the programming overhead increases and flexibility is reduced when supporting multiple clients
Solution Approach 1:
The pricing engine is segmented into a core engine component and separate pricing algorithm plugins. Each client's pricing algorithm is implemented as an independent plugin that can be loaded and executed by the core engine without modifying the engine's core structure. This segmentation allows the engine to maintain high efficiency while reducing programming overhead, as plugins can be added or modified independently without affecting the core engine code.
Solution Approach 2:
An intermediary layer is introduced between the pricing engine and the pricing algorithms. This intermediary layer handles the loading, execution, and management of pricing plugins, allowing the engine to interact with multiple client-specific algorithms through a standardized interface without needing to know or modify the specifics of each algorithm implementation.
2Productivity
If the pricing algorithm is integrated into the pricing engine, then the pricing operations can be performed efficiently, but the adaptability decreases when pricing algorithms need to be modified for different clients
Solution Approach 1:
By separating pricing algorithms into independent plugins, the system achieves high adaptability. Each client can have their own pricing algorithm plugin that is customized to their specific needs, and these plugins can be loaded, unloaded, or modified without affecting the core engine or other clients' algorithms. This maintains pricing operation efficiency while enabling flexible adaptation to different client requirements.
Solution Approach 2:
The pricing engine is designed with dynamic capability to load and execute different pricing algorithm plugins at runtime based on client requirements. This dynamic architecture allows the system to adapt to changing pricing needs by simply loading new plugins or updating existing ones, without requiring engine modifications or recompilation.
3Adaptability or versatility
If the pricing engine is modified to support new pricing algorithms, then client-specific pricing can be implemented, but the core engine stability is compromised
Solution Approach 1:
The pricing engine is segmented into a stable core and variable plugin components. The core engine maintains its stability by providing only standardized loading and execution frameworks, while all client-specific pricing logic is contained in separate plugins. This ensures that adding new pricing algorithms or customizing existing ones does not compromise core engine stability, as changes are isolated to individual plugins.
Solution Approach 2:
Pricing algorithm-specific code is extracted from the core engine and placed into separate plugin modules. This extraction ensures that the core engine remains clean, stable, and unchanged, while client-specific pricing capabilities are implemented through independent plugins that can be added or modified without affecting engine reliability.
Data Source
AI summary
Embodiments are directed to a pluggable architecture for performance of pricing operations. An embodiment of a storage medium includes instructions for installing multiple pricing methods at a pricing service including a pluggable architecture for pricing methods, each pricing method including a set of pricing functions; receiving a pricing request for a sales transaction including one or more sales items, the pricing request including a pricing context for each sales item; and performing a price calculation for the sales transaction, including resolving a pricing method for each sales item, applying the set of pricing functions for the resolved pricing method for each sales item, the application of the set of pricing functions being based at least in part on the pricing context for the sales item, calculating a price for each sales item based upon an outcome of the pricing functions, and aggregating the calculated prices for the sales items.


