E-commerce Cloud Application Framework: Extension Architecture and Implementation
The article describes YouZan’s E‑commerce Cloud application framework, which offers merchants extensible custom‑coupon, installment and UI features through three types of extension points—business, message and frontend—organized into code deployment, Maven‑based development modules and an Aladdin‑driven runtime that ensure component openness, transparent upgrades, security, and future multi‑language and hot‑loading enhancements.
This article introduces the application framework design of YouZan's E-commerce Cloud platform, which provides powerful extensibility capabilities for large merchants with customized requirements such as custom coupons, installment payments, and personalized product pages.
Extension Points: The framework defines three types of extension APIs - business extension points (similar to Java SPI, e.g., additional fee calculation extension point), message extension points (for passing messages without affecting main business flow), and frontend extension points (for customizing UI components like checkout pages).
Application Framework: The framework consists of three parts: code deployment, development framework, and runtime framework. Code deployment uses a dedicated Git repository for initialization and deployment only (not for code management). The development framework is a Maven-based youzan-boot project with two isolated modules: internal core module (defines interfaces, tools, monitoring, Dubbo integration, ORM support) and external customization module (where developers implement their business logic).
Runtime Framework: The Aladdin container loads external customization modules at startup. When developers publish through the console, the App is packaged as a JAR and deployed to servers.
Key Benefits: Component openness (interface-based service provision via Interface JAR packages), component upgrades (transparent to developers through Aladdin version management), and security (component implementations are black boxes, data access is isolated through interface layer).
Future Plans: More component support, multi-language support, local runtime support, remote debugging, and enhanced monitoring with hot-loading capabilities.
Youzan Coder
Official Youzan tech channel, delivering technical insights and occasional daily updates from the Youzan tech team.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.