模型代码联动难? BizWorks来助力

简介: 本文介绍了业务模型设计和实现保持一致的重要性以及实际落地可能遇到的问题,以及BizWorks如何设计并提供一种双向联动能力, 通过BizWorks Toolkit(IDE 插件) 来解决和优化双向联动过程中的一系列问题。

业务模型设计和沉淀是企业数字化转型过程中非常重要的一个环节, 日趋复杂的业务场景和协作模式给建模的有效性以及模型作为业务资产如何持续发挥价值带来了新的挑战:

  • 设计完成的业务模型是否被合理实现了?
  • 经过数月、半年、1年迭代后,模型设计还能否对业务系统的演进起到有效价值?
  • 当企业供应商更换时, 业务系统的关键模型设计是否被有效保留了? 如何最大程度降低切换成本?

BizWorks双向联动机制

针对这一系列问题,BizWorks建模平台设计并提供了一种平台模型和代码的双向联动机制, 其主要原理如下所示:

  1. 模型到代码 - 设计阶段
  • 设计阶段, 在建模平台完成模型设计, 实现模型的可视化和在线化
  • 通过平台预置能力生成脚手架,模型对应的代码框架也同时生成
  1. 代码到模型 - 开发阶段

进入开发阶段后,研发人员更聚焦在代码侧,可以借助BizWorks Toolkit(IDE 插件) 快速完成

  • 本地模型批量标注
  • 本地模型批量扫描上报
  1. 联动效率和有效性

如何将平台(重设计),代码IDE(重开发)这两个不同定位的场景有效串联是双向联动需重点解决的问题。

BizWorks Toolkit(IDE 插件)通过提供了一系列配套能力使联动效率得到很大提升,也使得双向联动这一流程能有效落地:

  • 平台模型实时同步
  • 模型&代码实时校验
  • 模型&代码一致性规约扫描
  • 错误修复辅助(快速定位错误代码、QuickFix)
  • 针对模型变更的代码增量生成
  • 代码侧模型批量扫描上报

此外,结合模型灵活的多版本机制,双向联动可有效支持如下场景:

BizWorks Toolkit能力介绍

BizWorks Toolkit(IDE 插件)对双向联动的有效性起到了很大的作用,下面我们来看下具体是如何工作的。

1. BizWorks Toolkit安装和配置

首先通过插件市场完成BizWorks Toolkit安装

完成登录认证信息(具体步骤请参见 BizWorks Toolkit在线帮助 )

2. 完成应用和业务域版本的关联和相关配置

3. 查看和同步平台模型数据

首先打开BizWorks视图窗口

可以通过以下两种方式触发同步建模平台模型数据操作:

通过BizWorks菜单

或通过平台模型标签的同步下载入口

同步元数据成功后,界面会出现下图所示的提示

同步建模平台模型后,插件可以实时对比模型与代码差异,并提供修复建议。

4. 模型增量生成到本地/删除平台模型

右键单击目标模型,选择同步模型到本地

选择目标路径

模型增量生成代码

此外当有必要时,我们也可以在代码侧删除平台非必要模型

5. 代码标记为模型

我们可以通过多种方式快速完成将代码标记为模型:

  • 根据目录批量标注

  • 单文件标注

类导航树右键菜单:

或当前类编辑区域右键菜单:

6. 新建模型代码模板

我们可以根据需要选择具体模型类型,快速创建其对应的代码模板,新建的模型代码可通过后续的模型上报更新到建模平台。

7. 本地代码与平台模型的一致性约束

BizWorks Toolkit(IDE 插件)会实时校验本地代码和平台模型的一致性,当代码内容与平台模型存在不一致时,会标注下划线突出显示,在鼠标悬停或使用快捷键(Ctrl+F1)时界面会出现相应的错误提示。

或通过一致性规约扫描,会对平台模型和本地代码进行批量扫描并显示不一致问题

如果安装BizWorks插件的同时也安装了阿里规约扫描(Alibaba Java Coding Guidelines)插件,触发BizWorks规约扫描时会同时触发阿里规约扫描。

8. 快速修复代码和模型不一致问题

对于一致性校验不符合的内容,BizWorks Toolkit(IDE插件)提供了在代码侧或平台侧快速修复的方式

9. 批量扫描上报模型

可以通过"BizWorks菜单 - 扫描项目代码为模型"或 "BizWorks - 本地模型"标签页的扫描入口进行本地模型批量扫描

扫描后可查看本地模型

以及本地模型和平台模型的差异

并选择批量上报或选择单个模型进行上报

关于BizWorks Toolkit(IDE插件) 更多内容,请参见 BizWorks Toolkit在线帮助

总结

本文介绍了业务模型设计和实现保持一致的重要性以及实际落地可能遇到的问题,以及BizWorks如何设计并提供一种双向联动能力, 通过BizWorks Toolkit(IDE 插件) 来解决和优化双向联动过程中的一系列问题。

BizWorks Toolkit(IDE 插件)也还在持续演进和优化,希望通过更高效、更易用的机制帮助大家得心应手地完成模型设计和实现的一致性联动并持续演进,非常欢迎大家的试用并提供宝贵的优化建议。

如果大家对BizWorks(企业级云原生应用数字工作台)相关产品有兴趣,也欢迎访问BizWorks主页做详细了解: https://www. aliyun.com/product/appl icationservice/bizworks

同时也欢迎钉钉扫码与我们联系:

版权声明: 本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BizWorks是一个商业软件,它的代码扫描功能是通过静态代码分析实现的。具体来说,它会对Java代码进行解析,构建代码的抽象语法树(AST),然后对AST进行分析,检查其中是否存在潜在的安全漏洞、性能问题、代码风格不规范等问题。最终,它会生成一个报告,列出所有发现的问题和建议的修复方案。 由于BizWorks是商业软件,其代码扫描的具体实现方式可能是闭源的,无法得知其内部的具体实现方式。如果你想要实现类似的功能,可以考虑使用开源的静态代码分析工具,例如FindBugs、Checkstyle、PMD等。这些工具都提供了Java API,可以通过编写Java代码调用它们的功能。以下是一个简单的示例代码,使用FindBugs对Java代码进行扫描并输出扫描结果: ``` import edu.umd.cs.findbugs.BugInstance; import edu.umd.cs.findbugs.BugReporter; import edu.umd.cs.findbugs.FindBugs; import edu.umd.cs.findbugs.Project; import edu.umd.cs.findbugs.gui2.BugTreeModel; import edu.umd.cs.findbugs.gui2.MainFrame; import edu.umd.cs.findbugs.gui2.ReportTree; public class CodeScanner { public static void main(String[] args) { Project project = new Project(); project.addFile(args[0]); BugReporter bugReporter = new BugReporter(project); FindBugs findBugs = new FindBugs(); findBugs.setBugReporter(bugReporter); findBugs.setProject(project); findBugs.execute(); BugTreeModel bugTreeModel = new BugTreeModel(bugReporter); ReportTree reportTree = new ReportTree(bugTreeModel); MainFrame mainFrame = new MainFrame(reportTree); mainFrame.setVisible(true); } } ``` 这段代码使用FindBugs对指定的Java文件进行扫描,并将扫描结果在GUI界面中显示出来。你可以根据自己的需求修改代码,以实现你想要的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值