扫描代码与合并模型
本文基于模型和应用支持多分支的前提,为您介绍如何进行代码扫描和模型合并。
背景信息
在使用BizWorks做设计开发的过程中,可能在生成了脚手架做开发时,却发现需要修改模型的情况。而此时已经生成了代码,如果再返回去修改模型、重新生成脚手架,会打断研发人员的工作流程,降低工作效率。因此,平台要提供元数据和代码双向同步的能力,研发人员可以在开发过程中使用特定的注解新增、修改或删除模型元数据,开发完成后再上报到平台和平台上的元数据做合并,形成最终确定的元数据。

说明 已发布的应用不支持代码扫描、模型差异查看和模型合并功能。
扫描代码
登录BizWorks,在选择平台下拉列表中选中微服务开发平台。
单击页面右上角
图标或其文本框区域,在下拉列表中单击目标项目名称后,单击应用页签。在应用列表页面单击目标中心应用名称。
在目标中心应用左侧导航栏中,选择 。
- 在代码扫描与合并页面,单击扫描代码分支。
- 在扫描代码分支对话框中,选择目标代码分支,填写备注(可选填),单击开始扫描。
- 扫描成功:分支状态将更新为扫描成功,您可以查看差异或合并。
- 扫描失败:分支状态将更新为扫描失败,您可以单击状态右侧的详情查看失败原因。当前版本支持以下校验:
- 代码不能使用平台中不存在的业务域。
- 代码不能使用平台中不存在的商业能力。
- 代码中不能包含不支持的数据类型。
查看模型差异
状态为扫描成功的分支可以查看模型差异,进行元数据级的可视化的差异对比,便于用户判断代码模型和元数据模型之间的差异。
- 您可通过如下两种方式进入查看模型差异页面:
- 单击目标分支右侧操作列下的查看差异。
- 单击目标分支右侧操作列下的合并,然后在合并模型页面单击查看差异。
- 单击目标分支右侧操作列下的查看差异。
- 在查看差异页面,您可以查看代码模型和元数据模型之间的数据差异详情。说明 如果被继承的父对象有结构对象注解,父对象会作为结构对象被扫描上报,且子对象会继承父对象。
- 页面左侧为代码模型,右侧为元数据模型。
- 模型数据按照业务域和商业能力两个维度列出。
- 数据的显示顺序按照元数据模型中的创建时间倒序显示。
- 默认所有的模型显示折叠状态。您可单击全部展开或
图标展开节点,拖动滚动条查看完整数据。
- 模型数据按照层级可分为如下三类:
层级类型 说明 数据是否可变 根节点 根节点没有父节点,有子节点。只有业务域编码和商业能力编码是根节点,只要出现了根节点,就表示该应用实现了某些业务域或商业能力,可以展开查看具体内容。 否 中间节点 中间节点是其他中间节点或根节点的子节点,也可以是其他中间节点或叶子节点的父节点,中间节点可以展开,只是某些情况下中间节点展开后可能没有子节点。 否 叶子节点 叶子节点是根节点或中间节点的子节点,叶子节点不能展开并且没有子节点,其本身一定包含了某个数据,比如“名称”、“描述”等。 是 - 根据是否包含实际数据,节点可分为如下两种类型:
节点类型 说明 数据是否可变 分组节点 分组节点本身不包含具体数据。分组节点是固定存在的,不管其下面有没有子节点,比如业务域下面的“领域对象”、“领域服务”等,是纯文字的描述,用于区分其子节点所包含的内容。 否 数据节点 数据节点本身包含数据,比如“业务域编码”、“结构对象编码”等,其本身就是编码数据,展开后可以看到相关的属性或子节点。 是
- 模型数据按照层级可分为如下三类:
- 您可将鼠标悬浮在节点旁边的图标上,在悬浮框中查看变更类型。
图标 含义 已发布的业务域或商业能力在代码中被修改。 新增数据。如果父节点是新增,则其所有的子节点都是新增。 更新数据。 - 对于叶子节点,只有当前数据被更新才显示为更新。
- 对于可展开的根节点或中间节点,只要子节点发生了新增、更新或删除等操作,都显示为更新。
删除数据。如果父节点是删除,则其所有的子节点都是删除。
合并模型
状态为扫描成功的分支可以继续进行模型合并。
- 单击目标分支右侧操作列下的合并。
- 在合并模型面板中,阅读合并说明,单击左下角开始合并。
- 在二次确认对话框中,单击开始合并。重要 合并后将以代码中数据为准,覆盖到建模平台。您可以在代码扫描与合并页面查看合并状态。单击分支名称,可以查看该分支的最新扫描合并详情,以及历史扫描合并记录。