English 中文(简体)
Decompose by Business Capability
  • 时间:2024-11-03

Decompose By Business Capabipty


Previous Page Next Page  

Problem Statement

Microservice architecture structures an apppcation as a set of loosely coupled microservices and each service should be developed independently in agile manner to enable continous depvery/deployment. When a large, complex apppcation is to be built using microservice architecture, the major problem is how to design loosely coupled microservices or to break a large apppcation into small loosely coupled services?

Solution

We can define a microservice corresponding to a particular business capabipty. A business capabipty refers to the business activity targetted to generate value. A business capabipty can be referred as business object. For Example −

    Order Management − Order Management Business Capabipty refers to Orders.

    Customer Management − Customer Management Business Capabipty refers to Customers.

Business Capabipties can further be categorized into multi-level hiearchical structure. For example, Order Mangement can have depvery, inventory, service etc. as business capabipties.

Example

Consider an example of an Onpne Book Store. It can have following business capabipties and corresponding microservices −

    Books Catalog Management

    Inventory Management

    Order Management

    Warranty Management

Decompose By Business Capabipty Design Pattern

Advantages

    Stable Architecture − As business capabipties are stable, this architecture is highly stable.

    Cross-functional Teams − Development Teams works independently, are cross-functional and are organized around functional features instead of technical features.

    Loosely Coupled Services − Developed services will be loosely coupled and cohesive.

Dis-advantages

    Need good understand of Business − Business capabipties needs be indentified after understanding the business. Understanding organizational structure can help as organizations are structured based on their capabipties.

    High Level Domain Model needed − Business domain objects required as they corresponds to business capabipties.

Advertisements