扫描代码与合并模型

本文基于模型和应用支持多分支的前提,为您介绍如何进行代码扫描和模型合并。

背景信息

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

说明

已发布的应用不支持代码扫描、模型差异查看和模型合并功能。

扫描代码

  1. 登录BizWorks,在选择平台下拉列表中选中微服务开发平台image.png

  2. 单击页面右上角image.png图标或其文本框区域,在下拉列表中单击目标项目名称后,单击应用页签。在应用列表页面单击目标中心应用名称。image.png

  3. 在目标中心应用左侧导航栏中,选择应用开发 > 模型扫描与合并

  4. 代码扫描与合并页面,单击扫描代码分支

  5. 扫描代码分支对话框中,选择目标代码分支,填写备注(可选填),单击开始扫描1

    • 扫描成功:分支状态将更新为扫描成功,您可以查看差异合并

    • 扫描失败:分支状态将更新为扫描失败,您可以单击状态右侧的详情查看失败原因。当前版本支持以下校验:

      • 代码不能使用平台中不存在的限界上下文。

      • 代码中不能包含不支持的数据类型。

查看模型差异

状态为扫描成功的分支可以查看模型差异,进行元数据级的可视化的差异对比,便于用户判断代码模型和元数据模型之间的差异。

  1. 您可通过如下两种方式进入查看模型差异页面:

    • 单击目标分支右侧操作列下的查看差异1

    • 单击目标分支右侧操作列下的合并,然后在合并模型面板单击查看差异1

  2. 查看差异页面,您可以查看代码模型和元数据模型之间的数据差异详情。

    image

    说明

    如果被继承的父对象有结构对象注解,父对象会作为结构对象被扫描上报,且子对象会继承父对象。

    • 页面左侧为代码模型,右侧为元数据模型。

    • 模型数据按照限界上下文维度列出。

    • 数据的显示顺序按照元数据模型中的创建时间倒序显示。

    • 默认所有的模型显示折叠状态。您可单击全部展开展开图标展开节点,拖动滚动条查看完整数据。

      • 模型数据按照层级可分为如下三类:

        层级类型

        说明

        数据是否可变

        根节点

        根节点没有父节点,有子节点。只有限界上下文编码是根节点,只要出现了根节点,就表示该应用实现了某些限界上下文,可以展开查看具体内容。

        中间节点

        中间节点是其他中间节点或根节点的子节点,也可以是其他中间节点或叶子节点的父节点,中间节点可以展开,只是某些情况下中间节点展开后可能没有子节点。

        叶子节点

        叶子节点是根节点或中间节点的子节点,叶子节点不能展开并且没有子节点,其本身一定包含了某个数据,比如“名称”、“描述”等。

      • 根据是否包含实际数据,节点可分为如下两种类型:

        节点类型

        说明

        数据是否可变

        分组节点

        分组节点本身不包含具体数据。分组节点是固定存在的,不管其下面有没有子节点,比如限界上下文下面的“领域对象”、“领域服务”等,是纯文字的描述,用于区分其子节点所包含的内容。

        数据节点

        数据节点本身包含数据,比如“限界上下文编码”、“结构对象编码”等,其本身就是编码数据,展开后可以看到相关的属性或子节点。

    • 您可将鼠标悬浮在节点旁边的图标上,在悬浮框中查看变更类型。

      图标

      含义

      被修改

      已发布的限界上下文在代码中被修改。

      新增数据

      新增数据。如果父节点是新增,则其所有的子节点都是新增。

      更新数据

      更新数据。

      • 对于叶子节点,只有当前数据被更新才显示为更新。

      • 对于可展开的根节点或中间节点,只要子节点发生了新增、更新或删除等操作,都显示为更新。

      删除数据

      删除数据。如果父节点是删除,则其所有的子节点都是删除。

合并模型

状态为扫描成功的分支可以继续进行模型合并。

  1. 单击目标分支右侧操作列下的合并

  2. 合并模型面板中,阅读合并说明,单击左下角开始合并合并模型

  3. 在二次确认对话框中,单击开始合并

    重要

    合并后将以代码中数据为准,覆盖到建模平台。

    您可以在代码扫描与合并页面查看合并状态。单击分支名称,可以查看该分支的最新扫描合并详情,以及历史扫描合并记录。