Fundamentals 14 min read

Why Architecture Matters: From Basics to the COLA Framework

This article explains what software architecture is, why it is essential, the responsibilities of architects, various classification types, typical architectural patterns such as layered, CQRS, hexagonal and onion architectures, and introduces Alibaba's open‑source COLA framework with its layered design, extension and specification concepts.

ITFLY8 Architecture Home
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Why Architecture Matters: From Basics to the COLA Framework

What is Architecture?

Architecture is an abstract description of the entities in a system and the relationships among them, providing a high‑level view that guides parallel work across different roles.

Why Architecture is Needed?

Any system—whether an aircraft or a single e‑commerce component—requires architecture to manage complexity, ensure maintainability, and support rapid iteration while preserving performance, security, and stability.

Responsibilities of an Architect

An architect’s primary value is to simplify complexity, creating understandable structures so designers, implementers, and operators can work with the system efficiently.

Software Architecture

Software architecture is a system’s blueprint that describes abstract components and their connections; during implementation these components become concrete classes or objects, often linked via interfaces.

The core value of software architecture is controlling complexity, not a specific layering or methodology.

Software Architecture Classification

Key categories include:

Business architecture – top‑level design influencing organization and technical structure.

Application architecture – designs the application’s layer structure, interfaces, and non‑functional requirements.

Distributed system architecture – addresses load balancing, service discovery, messaging, caching, and CAP trade‑offs.

Data architecture – standardizes data definitions, formats, and builds unified big‑data platforms.

Physical architecture – maps software components onto hardware, networks, and servers.

Operations architecture – plans, selects, and deploys operational systems.

Software architecture classification diagram
Software architecture classification diagram

Typical Application Architectures

Layered Architecture

Separates responsibilities into layers such as presentation, application, domain, and infrastructure. Diagram:

Layered architecture diagram
Layered architecture diagram

CQRS

Command‑Query Separation divides methods into commands (state‑changing, no return) and queries (read‑only, return results).

Command : does not return a result (void) but changes the object’s state.

Query : returns a result without side effects.

CQRS diagram
CQRS diagram

Hexagonal Architecture

Also called Ports‑Adapters, it separates the core business logic (inside the hexagon) from external drivers such as UI, databases, or other services (outside adapters).

Hexagonal architecture diagram
Hexagonal architecture diagram

Onion Architecture

Extends the hexagonal idea by adding multiple concentric layers—Application, Domain Service, Domain Model, Infrastructure—ensuring outer layers depend on inner ones while inner layers remain unaware of outer details.

Onion architecture diagram
Onion architecture diagram

COLA Application Architecture

COLA is an open‑source application architecture from Alibaba that incorporates classic ideas and adds specification and extension design, using an Archetype to solidify the structure for rapid development.

Layered Design

COLA refines the traditional three‑layer model into four layers: Presentation, Application, Domain, and Infrastructure.

Presentation Layer

Accepts REST requests, routes them to the Application layer, and returns view models (typically DTOs).

Application Layer

Handles input validation, assembles context, invokes domain services, and may directly access infrastructure when needed.

Domain Layer

Encapsulates core business logic via domain services and entities.

Infrastructure Layer

Provides tunnels for data sources (databases, search engines, files, SOA services), configuration, and common utilities.

Extension Design

Introduces two concepts: Business Identity (BizCode) uniquely identifies a business scenario, and Extension Points where custom behavior can be plugged in. The combination forms an Extension Coordinate, enabling multi‑tenant, multi‑business extensibility.

Extension design diagram
Extension design diagram

Specification Design

Defines conventions for modules, packages, and naming to reduce randomness and maintain consistency across the codebase.

Specification design diagram
Specification design diagram

Core Idea of Application Architecture

The unifying principle across all discussed architectures is the separation of core business logic from technical details, allowing the business core to be clear, reusable, and testable while technical components remain replaceable.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Software ArchitectureCQRSHexagonal Architectureonion architectureLayered DesignCOLA frameworkextension design
ITFLY8 Architecture Home
Written by

ITFLY8 Architecture Home

ITFLY8 Architecture Home - focused on architecture knowledge sharing and exchange, covering project management and product design. Includes large-scale distributed website architecture (high performance, high availability, caching, message queues...), design patterns, architecture patterns, big data, project management (SCRUM, PMP, Prince2), product design, and more.

0 followers
Reader feedback

How this landed with the community

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.