Domain centric architecture

Prasad
2 min readDec 5, 2023

Domain-centric architecture is an approach that emphasizes structuring software systems based on specific business domains. In the finance domain, the architecture would be designed to address the unique challenges, requirements, and functionalities relevant to financial services. Let’s consider an example and a simplified diagram:

**Example: Finance Domain – Online Banking System**

**Components:**

  1. **User Interface Layer:**
  2. . – *Components:* Web and mobile interfaces for customers.
  3. . – *Functionalities:* Account overview, fund transfers, bill payments.

2. **Application Layer:**

. – *Components:* Account management, transaction processing, authentication services.

. – *Functionalities:* Handling financial transactions, managing account details, ensuring security.

3. **Business Logic Layer:**

. – *Components:* Core banking functionalities, risk management, compliance modules.

. – *Functionalities:* Implementing business rules, ensuring regulatory compliance, risk assessment.

4. **Integration Layer:**

. – *Components:* APIs, connectors to external services (e.g., payment gateways).

. – *Functionalities:* Facilitating communication between different modules and external systems.

5. **Data Layer:**

. – *Components:* Database systems for customer data, transaction records, and analytics.

. – *Functionalities:* Storing and retrieving data, supporting reporting and analytics.

**Diagram:**

```

+ – – – – – – – – – – – – +

|. User Interface. |

|. (Web/Mobile App) |

+ – – – – – – – – – – – – +

. |

+ – – – – – – – – – – – – +

|. Application Layer. |

|. (Transaction, Auth) |

+ – – – – – – – – – – – – +

. |

+ – – – – – – – – – – – – +

|. Business Logic Layer. |

| (Core Banking, Risk mgmt)|

+ – – – – – – – – – – – – +

. |

+ – – – – – – – – – – – – +

|. Integration Layer. |

|. (APIs, External Connectors)|

+ – – – – – – – – – – – – +

. |

+ – – – – – – – – – – – – +

|. Data Layer. |

| (Customer DB, Analytics)|

+ – – – – – – – – – – – – +

```

In this architecture, each layer has its specific responsibilities, and the components within each layer collaborate to provide a comprehensive online banking system tailored to the finance domain. The business logic layer incorporates domain-specific functionalities such as core banking processes, risk management, and compliance, making it domain-centric.

--

--

Prasad

I am a OpenSource Enthusiast|Python Lover who attempts to find simple explanations for questions and share them with others