OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

OneCode今天(12月10日)正式更新了其V2.0版本。从OneCode的季度版本生命中,可以看到2.0版本还是一个重量级的版本,笔者在收到2.0更新后第一时间下拉了最新的代码。在参考了OneCode 的技术说明后,根据包结构来分析一下OneCode2.0的结构。

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

一,OneCodeV2.0 更新说明

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

(1)基线由1.1.2升级到了2.0

从中央仓库的OneCode版本来看,已经统一调整到了2.0版本。相应的Gitee 仓库也做了更新。

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

(2)OCStuido 开发工具也变更了2.0版本

onecode/onecode低代码引擎

OCStuido 版本这次采用了一个新的版本号,onecode-all.

同时在版本提交日志中也显示改版本为完整版OneCode,并且在版本说明中简单介绍了包说明。

更新代码后,发现src下的源码数量也大大增加。

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

(3)私有云部署包也统一调整到了2.0版本

这次私有云版本中,没有发现太多的更新。但经编译测试后和2.0版本还是可以兼容使用的。

二,OCStuido2.0 新更代码包结构说明

这次OneCode更新,最主要的部分还是在OCStudio上开放的代码量上有了一个数量级上的提升,这对于对OneCode感兴趣的开发者而言大大减少了构建工程(以前版本完整源码可以从中央仓库自行解析编译)的工作量,可以快速的阅读调试OneCode 源代码。下面是笔者根据开放的源码包结构整理的功能模块图:

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

三,领域驱动配置:com.ds.dsm

OneCode-DSM工具集,是OneCode中一个重量级的工具集合。

(1)首页导航页

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

com.ds.dsm.IndexNav 导航页

@Controller@RequestMapping("/dsm/nav/")@MethodChinaName(cname = "DSM导航")@IndexAnnotation@LayoutAnnotation(transparent = false, type = LayoutType.vertical, items = {@LayoutItemAnnotation(panelBgClr = "#3498DB", size = 28, pos = PosType.before, locked = true, moveDisplay = false, cmd = false)})public class IndexNav { @CustomAnnotation(hidden = true, pid = true) public String projectVersionName; @MethodChinaName(cname = "DSM建模") @RequestMapping(method = RequestMethod.POST, value = "DSMInstNavTree") @NavTreeViewAnnotation @ModuleAnnotation(dynLoad = true, imageClass = "spafont spa-icon-conf", caption = "DSM建模") @CustomAnnotation(index = 1) @ResponseBody public TreeListResultModel<List<DSMNavTree>> getDSMInstNavTree(String projectVersionName) { return TreePageUtil.getTreeList(Arrays.asList(DSMNavItems.values()), DSMNavTree.class); }

}

从导航页的配置而言

RequestMapping("/dsm/nav/")

RequestMapping(method =RequestMethod.POST, value ="DSMInstNavTree")

页面资源地为:/dsm/nav/DSMInstNavTree

转换为OneCode .view的访问转换地址

dsm.nav.DSMInstNavTree.view

http://bpm.itjds.net/RAD/bpmVVVERSION0/dsm.nav.DSMInstNavTree.view

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

也可以通过,Studio的仿真菜单进入

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

DSM入口页

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

(2)DSM包视图

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

  • com.ds.dsm.repository资源库管理模块;
  • com.ds.dsm.aggreagtion领域模型构建模块
  • com.ds.dsm.view以及视图工厂配置模块

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

仓储模型模块:主要功能是辅助用户将用户的数据库,外部API接口,以及已有的“代码”应用通过转换器转变为可被DSM识别的资源部格式。

领域模型模块:是DSM核心工具,在领域模型中导入的资源会同具体场景下的值对象,场景菜单、通用域服务根据具体的业务场景完成领域模型的建模工作。

视图工厂是领域模型的具体实现,在领域模型应用中建模输出的产物会通过出码工厂输出位视图应用,这些视图应用会通过视图工厂进一步加工处理输出为用户交互应用。

(3)DSM-Aggregation 领域模型

com.ds.dsm.aggreagtion 包结构

dsm.agg web资源地址

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

功能应用配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

(4)DSM-View 视图工厂

com.ds.dsm.view包结构

dsm.view web资源地址

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

视图总览

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

列表配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

列表配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

表单配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

字段配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

四,系统配置管理:com.ds.system

(1)com.ds.system.SystemIndex 导航页

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

@Controller@RequestMapping("/system/")@IndexAnnotation@LayoutAnnotation(transparent = false, type = LayoutType.vertical, items = {@LayoutItemAnnotation(panelBgClr = "#3498DB", size = 28, pos = PosType.before, locked = true, moveDisplay = false, cmd = false)})public class SystemIndex { @MethodChinaName(cname = "系统管理") @RequestMapping(method = RequestMethod.POST, value = "SystemNav") @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "xui-icon-bullet", caption = "系统管理") @CustomAnnotation(index = 0) @ResponseBody public ResultModel<SystemNav> getSystemNav(String projectId) { return new ResultModel<SystemNav>(); } @MethodChinaName(cname = "公式管理") @RequestMapping(method = RequestMethod.POST, value = "FormulaManager") @NavTreeViewAnnotation @ModuleAnnotation(dynLoad = true, imageClass = "spafont spa-icon-function") @CustomAnnotation(index = 1) @ResponseBody public TreeListResultModel<List<FormulaTypeItem>> getFormulaManager(String id) { } @RequestMapping(method = RequestMethod.POST, value = "WebSiteTreeNav") @APIEventAnnotation(autoRun = true @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "spafont spa-icon-c-cssbox", dynLoad = true, caption = "模板站点") @CustomAnnotation(index = 2) @ResponseBody public TreeListResultModel<List<DomainTempNavTree>> getDSMTempTreeNav(String id) { return resultModel; } @MethodChinaName(cname = "模板管理") @RequestMapping(method = RequestMethod.POST, value = "CodeTemps") @APIEventAnnotation(autoRun = true) @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "spafont spa-icon-settingprj", dynLoad = true, caption = "模板管理") @CustomAnnotation(index = 3) @ResponseBody public TreeListResultModel<List<JavaTempNavTree>> getTempManager(String id) { return resultModel; } @MethodChinaName(cname = "服务管理") @RequestMapping(method = RequestMethod.POST, value = "ServiceBeanNav") @NavTreeViewAnnotation @ModuleAnnotation(imageClass = "spafont spa-icon-conf1", caption = "服务管理") @CustomAnnotation(index = 4) @ResponseBody public ResultModel<ServiceBeanNav> getServiceBeanNav(String projectId) { return new ResultModel<ServiceBeanNav>(); }}

(2)system.index.view Web导航地址

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

子系统管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

租户管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

表达式管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

模板站点管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

添加图片注释,不超过 140 字(可选)

出码模板管理

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

微服务配置

OneCode低代码引擎 V2.0源码结构详解(低代码开发平台 知乎)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月16日 下午4:07
下一篇 2024年5月16日 下午4:19

相关推荐

  • 系统信息项目管理包括

    系统信息项目管理包括系统信息项目管理是一个复杂的过程,需要涉及到多个方面的工作,包括需求分析、设计、开发、测试、部署和维护等。在这个过程之中,需要遵循一系列的规则和流程,以确保项目…

    科研百科 2024年12月17日
    3
  • 系统规划与管理和信息系统项目管理

    系统规划与管理和信息系统项目管理是项目管理中非常重要的两个方面。系统规划是指确定项目的目标,范围,成本和时间,以及为达到这些目标而制定的战略和计划。系统管理则是指对项目进行监控,协…

    科研百科 2024年11月10日
    0
  • 甘肃会宁“量身定制”脱贫套餐 发展种养业助农增收

      “我不仅贷到了8万元信用贷款,还贷到了5万元精准扶贫专项贷款,有了这些资金,我对脱贫致富信心更足了。”2018年,甘肃省会宁县中川村贫困户马尚元,借助乡…

    科研百科 2022年5月13日
    255
  • 罗平:党建引领“河长制”推动“河长治”(党建引领河长制工作)

    微风拂过,水波粼粼,目之所及皆是水清、岸绿、景美……眼下的罗平县龙王庙水库水质清澈、景色秀美,犹如一颗蓝宝石镶嵌在罗平县城一隅,滋养着万物。 推行河长制以来,罗平县龙王庙水库发生了…

    科研百科 2024年7月6日
    82
  • 客户客户关系管理管理

    客户客户关系管理管理 随着现代商业的不断发展,企业与客户之间的互动变得越来越频繁,客户满意度也成为了企业成功的关键因素之一。因此,客户客户关系管理(CRM)成为了企业提高客户满意度…

    科研百科 2024年10月1日
    18
  • 邯郸市中西医结合医院精神科被认定为市级医学重点学科(邯郸市中西医结合医院精神科电话)

    日前,邯郸市卫生健康委员会公布“十四五”市级医学重点学科名单,邯郸市中西医结合医院精神科顺利通过材料评审、答辩评审和综合评定等环节,被认定为“十四五”市级医学重点学科。这一荣誉的获…

    科研百科 2024年6月25日
    79
  • 微软计划软件

    微软计划软件 微软是一家世界知名的科技公司,其产品涵盖了操作系统、办公软件、游戏、浏览器等多个领域。最近,微软又推出了一项全新的计划,旨在开发更加智能和便捷的软件产品。 微软计划软…

    科研百科 2024年10月14日
    8
  • 浙江省委组织部纪检组长什么级别

    浙江省委组织部纪检组长是什么级别 浙江省委组织部纪检组长是浙江省省级领导之一。该组织成立于1995年,是浙江省组织部和浙江省纪律检查委员会的合署办公机构。它负责监督和管理浙江省各级…

    科研百科 2024年10月16日
    29
  • 科研项目背景怎么写

    科研项目背景怎么写 科研项目的背景是项目开始的基础,它描述了项目的目的、研究问题、研究方法、研究范围和预期成果。在撰写科研项目背景时,需要准确、详细地描述项目的背景信息,以便读者了…

    科研百科 2024年10月10日
    28
  • 中国围棋人㉚项勇:先保证教育质量,再考虑经济效益

    【中国围棋人访谈】是全新打造的围棋文化专栏,访谈对象是在自己园地兢兢业业耕耘的围棋人,我们要做的就是让每一篇访谈都能触动一片人群的心灵,找到自己的感触共鸣。 本期受访人物——项勇:…

    科研百科 2023年12月20日
    106