官术网_书友最值得收藏!

Decomposition based on business capability

Business capability refers to structured modeling, which provides a high-level overview of the business. Business capabilities are the top layer of the business architecture and belong to the business domain. We can split a monolithic application into services based on their business capabilities. These services have broad context boundaries, including user interface, persistent storage, and any external collaborations. Consequently, the teams are cross-functional and include the full range of skills required for the development: user experience, database, and project management. 

A business capability refers to how a business architecture model behaves in order to achieve a business goal. A business capability is similar to a business object. Let's define the services of our application based on its business capabilities:

  • Customer Account Management is responsible for managing the account details of the customers
  • Order Management is responsible for managing the customer's orders
  • Book Inventory Management is responsible for managing the book inventories
  • Shipping Management is responsible for managing shipped orders

It is important to understand the core components of the business, such as the user interface, service, data, logging, or messaging. Business capabilities mostly depend on the business and are primarily organized in multiple layers.

A microservice architecture would have services that correspond to each of these capabilities, as follows:

The preceding diagram shows the decomposition of a monolithic application based on its business capabilities. We have identified four business capabilities of the online bookshop application and created a service to correspond to each.

The challenging part of this decomposition is how to identify the business capabilities. Nobody identifies business capabilities perfectly, but a useful place to start is by analyzing the organization's purpose, structure, and business processes. This approach has the following benefits:

  • The architecture is stable since the business capabilities are relatively stable.
  • In the microservice architecture, each development team focuses on delivering business value rather than technical features. These teams are cross-functional and autonomous.
  • The microservice approach provides a cohesive system that has loosely coupled services.

Let's move on to the next section, where we will discuss another approach for decomposing a monolithic application to a microservice-based application.

主站蜘蛛池模板: 邢台县| 鄂托克旗| 新河县| 自贡市| 洛南县| 图片| 黄骅市| 友谊县| 兴国县| 威海市| 蓬安县| 同仁县| 西昌市| 察哈| 合阳县| 耒阳市| 黄浦区| 河津市| 石泉县| 行唐县| 田林县| 石林| 仁寿县| 右玉县| 涟源市| 屯留县| 武定县| 杭州市| 安西县| 商水县| 那曲县| 南宫市| 崇义县| 商水县| 吉木乃县| 利辛县| 南靖县| 新津县| 米易县| 南丹县| 三河市|