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

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.

主站蜘蛛池模板: 门源| 陵水| 武汉市| 嵩明县| 江津市| 邵阳县| 绥芬河市| 宁化县| 梅河口市| 新疆| 绥化市| 于田县| 崇左市| 江源县| 台江县| 太和县| 五家渠市| 广东省| 台中市| 鹤壁市| 油尖旺区| 绥棱县| 湛江市| 东乡族自治县| 比如县| 抚顺县| 天祝| 乌拉特中旗| 闸北区| 井冈山市| 兴仁县| 衡阳市| 浪卡子县| 大埔区| 五家渠市| 呈贡县| 剑阁县| 凯里市| 达州市| 盈江县| 贡嘎县|