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

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.

主站蜘蛛池模板: 象山县| 长岭县| 大宁县| 玉山县| 乌兰察布市| 万安县| 云林县| 陕西省| 邳州市| 汉沽区| 崇信县| 大余县| 永靖县| 龙泉市| 南投市| 淳化县| 霍山县| 孝昌县| 乌苏市| 呼伦贝尔市| 临桂县| 广汉市| 德令哈市| 含山县| 泉州市| 来凤县| 绵竹市| 萍乡市| 临江市| 曲周县| 红原县| 廉江市| 星子县| 吉隆县| 云浮市| 毕节市| 巫山县| 金山区| 溧阳市| 舟曲县| 宜黄县|