Backend Development 16 min read

Design and Implementation of Alibaba Detail Platform: Modularization, Front‑Back Separation, and Platformization

This article describes the background, terminology, design principles, and detailed implementation of Alibaba's Detail platform, covering modular architecture, front‑back separation, module refactoring, stability, testing, continuous integration, deployment structures, and real‑world use cases.

Architecture Digest
Architecture Digest
Architecture Digest
Design and Implementation of Alibaba Detail Platform: Modularization, Front‑Back Separation, and Platformization

The article originates from the Alibaba Technical Association (ATA) and outlines the current challenges of the Detail system and the goals of the new Detail platform, which aims to improve collaboration efficiency, stability, and extensibility through modularization, SDK/API definitions, and two deployment modes.

Terminology : A module is a deployable, manageable, reusable, composable, stateless software unit with a unified interface; a platform is a complete technical system that is reusable, maintainable, extensible, and collaborative, guiding development work and supporting diverse business goals.

Design Principles : Emphasize "divide and conquer" via modularization, lightweight framework governance, and consistent module granularity that focuses on external contracts rather than internal implementation details.

Platformization includes:

Front‑Back Separation : Decouple business logic (backend) from presentation and interaction logic (frontend) to improve reusability and development efficiency.

Module Refactoring : Transform a monolithic architecture into service‑level modules using a lightweight module framework that manages lifecycle, inputs/outputs, and stability without intruding on business logic.

Core Components : AbstractModule – base class for all modules, each loaded in an isolated ClassLoader. LifecycleListener – monitors module lifecycle events. ExtensionPoint – extensible entry declared via annotations. Extension – base class for extension implementations.

Example module definition:

public final class ExampleModule extends AbstractModule {
    @Override
    protected ExampleResult execute(RunData data, ModuleContext context) throws ModuleException {
        // ...
    }
}

Module descriptor (module.properties):

#module.properties 需与模块同层
[email protected]
[email protected],YyyModule,ZzzModule
#or [email protected],YyyModule,ZzzModule
Module-Description=anything

Lifecycle listener interface:

public interface LifecycleListener extends EventListener {
    public void changed(Event event);
}

The module container publishes local interfaces as service‑oriented APIs, adds security wrappers, and supports remote invocation protocols, while also offering management hooks (currently under development).

Supporting tools include IDE plugins for module lifecycle and version management, and a plugin system that integrates common libraries (e.g., SLF4J, Switch) as interchangeable components.

Code Refactoring : Business logic is reorganized into layered modules, each exposing functionality via module interfaces, running on a module container atop application servers.

Stability : The platform inherits Alibaba’s long‑standing stability practices (staticization, async processing, isolation) and adds module‑level installation/uninstallation safeguards, automated degradation, disaster recovery checks, and configurable timeouts for concurrent module execution.

Testing System : Introduces layered unit tests (DAO/util, service/manager, API, UI) and adopts PowerMock for backend tests; automation covers all layers except UI, which remains manual. Continuous integration runs relevant tests based on changed files, ensuring rapid feedback.

Development Model : Defines comprehensive standards (module development, testing, quality, release, emergency handling) and two collaboration modes – independent module co‑development and source‑branch co‑development – each with distinct trade‑offs.

Deployment Architecture : Decouples logical platform design from physical deployment, allowing flexible, composable deployment topologies to meet fast‑changing business demands.

Use Cases : The platform powers various Alibaba businesses (e.g., agriculture, travel, music) and supports high‑traffic scenarios, wireless terminals, and non‑detail pages by reusing or remotely invoking modules.

software architectureModularizationPlatform Engineeringtestingbackend developmentcontinuous integrationFrontend‑Backend Separation
Architecture Digest
Written by

Architecture Digest

Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.