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

背景信息

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

扫描代码

  1. 登录BizWorks,单击左侧导航栏1图标。在概览页面的左上角,单击1图标,从项目下拉列表中选择目标项目实例。1
  2. 单击1图标,在应用列表页面,单击目标应用名称。
  3. 在目标应用导航栏中,选择应用开发 > 模型扫描与合并
  4. 代码扫描与合并页面,单击扫描代码分支,在扫描代码分支面板,选择目标代码分支,单击开始扫描
    代码扫描
    • 扫描成功:分支状态将更新为扫描成功,您可以查看模型差异合并模型
    • 扫描失败:分支状态将更新为扫描失败,您可以单击状态右侧的详情查看失败原因。当前版本支持以下校验:
      • 代码不能使用平台中不存在的业务域。
      • 代码不能使用平台中不存在的商业能力。
      • 代码中不能包含不支持的数据类型。

查看模型差异

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

  1. 您可通过如下两种方式进入查看模型差异页面:
    • 单击目标分支右侧操作栏的查看模型差异查看模型差异
    • 单击目标分支右侧操作栏的合并模型,然后在合并模型页面单击查看模型差异按钮。合并模型页面查看模型差异
  2. 查看模型差异页面,您可以查看代码模型和元数据模型之间的数据差异详情。
    查看模型差异页面
    • 页面左侧为代码模型,右侧为元数据模型。
    • 模型数据按照业务域和商业能力两个维度列出。
    • 数据的显示顺序按照元数据模型中的创建时间倒序显示。
    • 默认所有的模型显示折叠状态。您可单击全部展开展开图标展开节点,拖动滚动条查看完整数据。
      • 模型数据按照层级可分为如下三类:
        层级类型 说明 数据是否可变
        根节点 根节点没有父节点,有子节点。只有业务域编码和商业能力编码是根节点,只要出现了根节点,就表示该应用实现了某些业务域或商业能力,可以展开查看具体内容。
        中间节点 中间节点是其他中间节点或根节点的子节点,也可以是其他中间节点或叶子节点的父节点,中间节点可以展开,只是某些情况下中间节点展开后可能没有子节点。
        叶子节点 叶子节点是根节点或中间节点的子节点,叶子节点不能展开并且没有子节点,其本身一定包含了某个数据,比如“名称”、“描述”等。
      • 根据是否包含实际数据,节点可分为如下两种类型:
        节点类型 说明 数据是否可变
        分组节点 分组节点本身不包含具体数据。分组节点是固定存在的,不管其下面有没有子节点,比如业务域下面的“领域对象”、“领域服务”等,是纯文字的描述,用于区分其子节点所包含的内容。
        数据节点 数据节点本身包含数据,比如“业务域编码”、“结构对象编码”等,其本身就是编码数据,展开后可以看到相关的属性或子节点。
    • 您可将鼠标悬浮在节点旁边的图标上,在悬浮框中查看变更类型。
      图标 含义
      被修改 已发布的业务域或商业能力在代码中被修改。
      新增数据 新增数据。如果父节点是新增,则其所有的子节点都是新增。
      更新数据 更新数据。
      • 对于叶子节点,只有当前数据被更新才显示为更新。
      • 对于可展开的根节点或中间节点,只要子节点发生了新增、更新或删除等操作,都显示为更新。
      删除数据 删除数据。如果父节点是删除,则其所有的子节点都是删除。

合并模型

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

  1. 单击目标分支右侧操作栏的合并模型
  2. 合并模型面板中,阅读合并说明,单击左下角开始合并合并模型
    注意 合并后将以代码中数据为准,覆盖到建模平台。
    您可以在代码扫描与合并页面查看合并状态。单击分支名称,可以查看该分支的最新扫描合并详情,以及历史扫描合并记录。