Future technology direction - "Lego style" assemblable development capability

Technology is changing the development of all walks of life, and Gartner's main strategic technology trends have always been one of the industry's technology vanes. In the past three years, Gartner has mentioned assembly technology in the main strategic technology trends. In 2021, it first proposed the assembly enterprise, in 2022 it proposed the assembly application, and in 2023, it mentioned the assembly technology in the two main strategic technology trends. technology to build.

Assemblable capabilities are frequently used as a technical direction, mainly because they can make it easier for companies to adapt to the impact of changes similar to the new crown epidemic, and help companies face new business value points and control the risks of rapid changes through assembly tools. The ability to assemble will greatly increase the competitiveness and flexibility of enterprises:

  • Lower threshold: Assembling applications with building blocks lowers the threshold and enables businesses to participate;

  • The product is more agile: the product has changed from a single solution to a pre-assembled business function set, which can respond to external changes more agilely;

  • Delivery is more agile: adopting an assembly method to deliver new features is 80% faster than competitors;

  • More agile decision-making: With composable capabilities, it can make faster changes and responses when making decisions.

So what exactly is assembleability? How to have to have the ability to assemble? Does composability mean modularization and microservices? Is Composable Architecture the same as Microservices Architecture?

01 What is Assemblability

Several concept definitions that can be assembled

In order to figure out what is an assembly capability, we need to clarify the concepts of an assembly unit, an assembly application, and an assembly development.

Concept 1: Assemblable Units

Gartner calls the unit that can be assembled PBC (Packaged business capabilities), translated into Chinese as packaged business capabilities, and we will refer to it as PBC in the future. We extracted the English definition from Gartner's official website:

Packaged business capabilities(PBCs) are software components that represent a well-defined business capability ,functionally recongnziable as such by a business user.Techically,a PBC is bounded collection of a data schema and a set of services,APIs and event channels .The well-implemented PBCs are functionally complete to ensure autonomy(no critical external dependencies,no need for diret external access  its data).PBCs are meant to be used as building blocks for application product suites and custom-assembled application experiences.

From the definition point of view, PBC is a well-defined business function and a software component that can be recognized by users; it is a software component, not a serialized package, which is different from microservices.

Technically speaking, PBC is a bounded collection whose elements include internal data, metadata, services, APIs, and event channels. PBC is functionally complete to ensure autonomy (no critical external dependencies, no direct access to other components' data).

Concept 2: Composable Applications

Combined with the definition of PBC, a composable application is composed of a series of packaged PBCs according to the business combination.

Concept 3: Composable Development

Assemblable development is like building blocks to combine a series of PBCs according to business and develop the interface of business scenarios. When requirements change or process changes, PBCs can be reassembled by adding, splitting, and replacing.

Concept 4: Composable Architecture

The assembleable architecture is based on PBC, and users can combine multiple PBCs and project-based requirements to build business applications. Service encapsulation complies with the PBC standard.

The main feature of the microservice architecture is full decoupling, providing management such as service registration, service discovery, service security, circuit breaker downgrade, etc., and providing governance such as monitoring, upgrading, and gray scale. Assemblable architecture is a new thinking, which is a further evolution of microservice architecture. It has changed the application delivery mode, adopts assembled delivery, and selects and assembles PBC through self-service.

Assembly Capability Assessment Model

After the concept of assembly capability is clear, let's see how to evaluate the assembly capability. Gartner gives an assessment model for the ability to assemble. The evaluation model measures the technology and business abstraction capabilities of an enterprise from four core dimensions: modularity, autonomy, discoverability, and orchestration.

  • Modularity: Modularity is the foundation, that is, each PBC that encapsulates the entire system must be a unit with independent and complete business logic. Information hiding, separation of concerns, encapsulation, etc. are ways to divide into good modules.

  • Autonomy: PBC should pay attention to the boundary, and can have its own storage, data, etc., and cannot directly check the data of another PBC.

  • Discoverable: Discoverable includes two aspects. One is that after the PBC component is developed, it can be quickly found by business users. The document is clear and complete enough to allow business users to accurately evaluate the applicability. And discover components to complete the dynamic orchestration and expansion of business processes.

  • Orchestration: Basic orchestration needs to support industry-wide protocols, not limited to specific programming languages. PBC component providers should make their components as programmable as possible, such as defining clear interfaces, doing idempotent control, supporting standard protocols, and extensibility.

0 2 How to have the capability of assembleable development

To achieve the goal of assembleability, the enterprise needs to work together with the assembly platform and PBC. The two have their own emphasis. PBC focuses on modular and autonomous parts, and the assembly platform focuses on discoverability and orchestration capabilities.

From the perspective of assembleable development, the need to realize assembled development requires PBC and assembly platform. The assembly platform realizes PBC management, visual combination and arrangement, visual interface development and visual business process development. PBC is packaged and supplied according to business scenarios.

Then let's focus on what is a qualified PBC and what capabilities the assembly platform needs to have.

How to package PBC

Based on the definition of PBC and the assembly capability evaluation model, PBC must at least meet the following criteria:

  • Internal functions: including business models, data, and services;

  • API: API of open standard protocol;

  • Message channel: open message channel;

  • Service: PBC design considers autonomy and idempotence.

In addition to the most basic requirements, there are also some key points that need to be focused on when encapsulating, such as whether PBC needs a UI, PBC granularity, PBC variability, PBC architecture adaptability, etc.

Key point 1: PBC UI

For PBC UI, we suggest that it is optional. The main reason is that the UI changes very frequently, and the layout, color, process, and interaction methods will change frequently. PBC does not recommend including UI. Of course, in order to ensure a unified UI style design, it is recommended that the PBC assembly process achieve a unified style through a unified UI design tool.

Key point 2: Granularity of PBC

The granularity of PBC encapsulation can adopt the domain-driven method (DDD), which is widely used in the industry. Based on the domain-driven method, we generally divide PBC according to entities or aggregates.

Key point 3: PBC extension points

PBC is the encapsulation of service capabilities. To achieve high multiplexing of PBC, it is necessary to consider the adaptation of PBC to various service scenarios. At the design level of PBC, commonality and change can be separated, that is, the current popular extension point architecture based on business identity is adopted, and the separated change is realized by means of extension points. Different business identities implement different extension points to support the realization of changes.

Key point 4: Architecture adaptability of PBC

In order to consider the multiplexing of PBC to different business scenarios, different business scenarios may have different requirements for databases and middleware. At the architectural level, PBC can easily realize the migration of different databases and middleware, and it is best to adapt to multiple databases and middleware.

Based on the analysis of the above key points, we can use the following model to represent the packaging of PBC:

 

PBC's Internal Capabilities

  • Basic information: PBC version information, etc.;

  • Metadata: resource definition, configuration definition, process data, service data, domain model design, etc.;

  • Documentation: Provide function introduction, usage scenarios, operation manuals, safety detection issues, test reports, etc.;

  • Data: business data, etc.

PBC Integration Capabilities

  • Dependence on external resources: dependencies on external API interfaces, messages, data sources, etc.;

  • API interface: The API list provided externally can be automatically discovered and registered to the API integration platform;

  • Message: Provide a message interface to the outside world;

  • Data exchange: file data exchange provided externally, etc.;

  • Extension points: A list of extension points opened during PBC encapsulation.

Architecture Adaptability of PBC

  • Optional configuration of multiple databases and multiple middleware provided by architecture adaptation.

PBC user interface

  • Optional, page name, URI list, used for PBC trial and microservice page assembly.

Assembled development platform

With a qualified PBC, the assembly platform needs to manage the PBC, assemble and arrange the PBC, and develop the interface according to the business scenario. Based on these, we believe that the assembly platform needs to have at least the following capabilities:

  • PBC management: provide full life cycle management such as PBC standards and specifications, on-and off-shelf management, and subscription management;

  • PBC assembly and arrangement: Provide visual assembly and arrangement of PBC; this requires service integration, data integration, service arrangement, process arrangement, and needs to provide PBC interface development.

The assembled development platform mainly includes assembly factory, asset market, connection and integration.

  • Asset market: uniformly define asset standards and specifications, provide asset catalogs, asset management capabilities, and streamline asset on-shelf and use processes; asset types include application templates, PBC, basic components, page blocks, page templates, functions, etc.;

  • Assembly factory: provide visual tools to realize the line assembly and arrangement of PBC, and develop the scene interface through the visual designer;

  • Connection and integration: Provide service integration, data integration, message integration and ecological integration capabilities, provide integrated management of PBC, and provide integration of applications, PBC and internal and external systems of the enterprise.

Of course, in order for an enterprise to have the ability to assemble, in addition to assembling the platform and component ecology, it also needs to make some adjustments in the team and collaboration model. It is necessary to establish an integrated team, so that business personnel and technical personnel can be integrated to achieve business response and rapid innovation through rapid assembly.

One last sentence, Whale Technology Lingxi Platform is an assembled development platform that provides PBC lifecycle management, asset market, and visual assembly tools, and can assemble a series of PBCs into different business applications according to business.

Guess you like

Origin blog.csdn.net/whalecloud/article/details/130204554