业务中台是基于DDD方法论进行实践并抽象出来的一种企业应用架构。中台项目的建模过程主要由技术建模构成。本文介绍示例项目中技术建模的相关内容。
背景信息
业务域
示例项目中预置了两个业务域:用户域和商品域,且两个业务域中都包含简单的领域模型、数据模型和应用服务,这两个业务域仅作为示例参考,并未覆盖完整的业务设计。本文以用户域为例介绍业务域,帮助您了解BizWorks中各种对象的定义与使用方法。
在示例项目的业务域页面,您可以看到系统自动创建的两个业务域(用户域和商品域)。单击用户域名称后,在用户域版本列表中,单击v1.0.0版本号,并查看v1.0.0版本的内容,具体如下图所示:

更多信息,请参见创建与管理领域对象。
领域模型
在用户域v1.0.0版本的领域模型页签,单击领域对象后,单击领域模型设计器,在模型设计器页面您可以通过可视化方式查看模型情况。用户域的领域模型中包含三个对象,分别是用户(实体对象、聚合根)、账号(实体对象)、地址(值对象)。具体如下图所示:

更多信息,请参见使用领域模型设计器。
领域模型之间的关系可以在模型设计器中快速编辑,目前领域对象间的关系支持关联、聚合、组合与继承。
对象关系 | 1 : 0..* | 1 : 1..* | 1 : 0..1 | 1 : 1 |
---|---|---|---|---|
关联 | 适用 | 适用 | 适用 | 适用 |
聚合 | 适用 | 适用 | 适用 | 适用 |
组合 | 适用 | 适用 | 适用 | 适用 |
继承 | 不适用 | 不适用 | 不适用 | 不适用 |
更多领域对象关系信息,请参见领域对象关系。
数据模型
在用户域v1.0.0版本的数据模型页签,单击数据模型设计器,在数据模型设计器页面您可以通过可视化方式查看数据模型信息。用户域的数据模型与模型间关联关系如下:

更多信息,请参见使用数据模型设计器。
数据模型中支持如下字段,模型间的关系可以通过引用字段来设置。例如地址是用户对象的补充信息,地址和用户对象之间存在关联关系。那么地址表中UserId的字段类型需要选择为Reference(引用),并且引用对象需要选择为用户数据模型中的userId,具体如下图所示:

数据模型中目前支持的字段类型如下:
参数 | 说明 |
---|---|
字段名称 | 自定义字段的名称。 |
编码 | 英文字母和数字的组合,长度不得超过80个字符,需以小写字母开头,在数据模型中唯一。 |
表字段名 | 系统会根据数据模型编码自动生成表字段名,表名用于生成DDL脚本。如果您需要修改生成规则,可以返回数据模型列表页面,单击设置表信息生成规则,在设置表信息生成规则面板更改设置。 |
字段类型 | 文本类:Text(文本)、LongText(长文本)。可选择该字段是否为主键、是否必填、是否唯一,并设置默认值。
说明 如果某个字段被设置为主键,则唯一和必填都会自动被选中。
|
日期类:Date(日期)、DateTime(日期时间)、Timestamp(时间戳)。该类型字段不支持作为主键,并且默认值只能选择固定的日期,不能使用Today()等相对时间或使用函数。
说明 设置默认值不会影响代码生成和数据库DDL语句。
|
|
整数数值类:Integer(整数)、Long(长整型)。可选择该字段是否为主键、是否必填、是否唯一,并设置默认值。 | |
小数数值类:Double(小数)、Decimal(高精小数)。该类型不支持作为主键,并且需要填写小数位数。 | |
Boolean(布尔):支持取值True和False。 | |
Reference(引用):选择该类型后需要选择关联的表和字段,该引用字段的实际类型与关联字段的类型相同。其中,关联的表是当前版本业务域已经保存的数据模型,关联字段是关联表内的字段。 | |
Sequence(序列):自增长序列,默认为Long类型,必填且唯一,可设置为主键,需要设置初始值。 |
更多信息,请参见创建与管理数据模型。
应用服务
应用服务的结构对象如同常用的DTO对象,已定义的结构对象可以作为应用服务方法的出入参使用。示例项目的用户域中定义了用户基础信息、用户身份验证两个结构对象,用于在用户信息获取、用户登录验证接口中作为出入参使用。

更多信息,请参见创建和管理结构对象。
应用服务可按照业务分类去定义同类型的应用服务方法,用户域中定义了用户服务与认证服务。用户服务可用于定义用户信息获取、更新等服务,认证服务提供了各种登录认证服务。

更多信息,请参见创建和管理应用服务。
商业能力
商业能力概述
商业能力是把业务场景沉淀下来的结构化方式。
- 以前实现多个微服务,您只能从系统上看到多个接口。而商业能力是从业务视角来解释底层多个微服务具体做了什么,以及接口在业务场景的实现中起的关键作用是什么。这就是商业能力的可视化。
- 通过商业能力的度量,您可以知道沉淀的能力的复用度,以及使用效果。例如:
- 哪些业务场景用得很频繁,带来了比较好的价值。
- 哪些需求实际很长时间都没被使用到。
- 管理和运营商业能力的核心是为了盘活微服务已经沉淀的能力。
示例项目的商业能力介绍
在示例项目中,将商品发布业务场景提炼成商业能力。
- 商品发布作为一个标准的业务场景,在不同的应用系统针对不同的业务方,其核心流程都是一样的,所以适合在业务中台进行抽象。
- 业务方在应用中构建商品发布能力时,不需要自己检索对应的基础能力来进行业务组装,直接申请使用该商业能力即可。
- 商业能力流程图中包含不同的参与方与流程节点,每个流程节点中会关联一到多个商业服务方法,便于业务方快速完成标准服务的接入。
在示例项目的商业能力页面,单击商业能力名称为商品发布后,在商品发布的版本列表中,单击v1.0.0版本号。在商业能力流程页签,您可以看到该商业能力包含的内容。具体如下图所示:

在商业能力流程页签,单击编辑商业能力流程图。在商业能力流程设计器中,您可以看到商品发布流程定义的细节。具体如下图所示:
该业务场景中,主要会涉及到两类角色:平台管理方和商家,而流程起点由商家触发。

- 灰色背景的节点表示该业务活动并不涉及到中台能力。以商品准备为例,在商业能力设计器中双击该业务活动节点,您可以查看该业务活动节点详情。具体如下图所示:
由上图可知,该业务活动并未关联商业能力服务方法。
- 白色背景的节点表示该业务活动需要调用到中台能力,以添加商品为例,在商业能力设计器中双击该业务活动节点。具体如下图所示:
由上图可知,该业务活动节点关联了1个商业能力服务方法。
更多信息,请参见使用商业能力流程设计器。