OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

前言:

在百度百科中,元数据被定义为:描述数据的数据,对数据及信息资源的描述性信息。在低代码平台中元数据的使用也是非常广泛,从前端可视化的组件的prop 属性定义,后端OR Maping数据库表映射,以及支撑系统模块关联关系,权限分配支撑等等都是基础性的元数据。而对于低代码平台及工具而言,其最主要的一个功能也是配置管理低代码组件的元数据信息。在业务组件发生需求变更时尽量通过修改元素配置的方式来改变组件的业务特性。

一,OneCode元数据实现

OneCode 语言本身基于成熟的JAVA语言体系,在元数据管理方面采用了,JAVA5原生的Annoation代码注解配置来完成,通过JDK完成基础编译,具体的元数据含义则由OneCode代码引擎独立独立解析支持。

(1)OneCode元数据注解基础组成

OneCode 元数据注解体系基础基础体系是一组基于经典MVC结构的注解分类。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

在模型(Module)类中中添加 @DBTable实现数据库表映射,或者在实体类中增加Aggregation聚合注解实现实体向聚合类的转换。

在控制器中(Controller)中添加Web路由注解@RequestMapping来完成Controller向web 容器的注入实现。

视图(View)中增加可被可视化设计器识别的视图注解代码。

(2)OneCode高级注解

OneCode 在完成基础的MVC注解支持外,额外提供了基于模块以及工程体系的注解应用。模块注解中提供了大量的值对象描述及常用域功能集成支持,可以在MVC基础上,通过增加@Module 、@TreeView 、@GridVIew、@FormView等集成性注解标识将单一的数据交互过程标识为模块级的应用。实现一键生成应用从而实现对于业务模块的高聚合支持。

在低代码应用中由于其场景的特殊性,对模块的发布以及工程管理应用提出了特殊的需求。OneCode在此基础上也提供了基于@Domain(领域服务) @Project (工程服务),允许开发者将第三方的引擎服务、常用业务服务以及工程本地代码导出发布预览等等提供元数据的支持。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

二,OneCode元数据注解解耦关系关系设计

(1)OneCode元数据注解添加范围

OneCode 支持开发者,在Java类、方法、字段属性以及构造函数上添加相应的注解。在类直接上直接添加@RequestMapping 直接声明可以将一组方法声明为Web可访问,也可以添加@GridAnnotaion @FormAnnataion等注解将当前实体声明为列表或者视图渲染。同样服务的方法注解上,可以添加与方法对应的动作、事件、服务来实现对应领域事件及服务调度的注册。而对于树形对象、容器组件等应用组件需要动态装载或者符合构建的实体则通过在构造函数上添加对象声明周期管理的相关注解。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

MVC通用注解一览图

(2)OneCode 元数据注解接口添加原则

OneCode允许用户在接口、抽象类、内部类以及普通类中添加注解,但更推荐用户将OneCode注解添加到独立的接口类,在多数的注解应用中,独立的接口描述基本上就已经能完成元数据的描述需求。程序在运行期可以通过,Spring 等IOC框架实现具体实现的以来注入。而当开发者通过OneCode建模工具来修改元数据定义时也可以有效的避免对具体实现的干扰。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

一键渲染

(3)OneCode 元数据注解分类理论支持及分类方法

OneCode在通用MVC开发注解基础上,大幅的引入了领域驱动设计的模型原理。通过领域模型元数据注解支持 ,将通用MVC开发,引擎中间件、微服务调度服务、业务集成开发、以及工程全权限配置等领域范畴的服务进行领域对象声明,在工程初始化时统一引入到通用的领域模型中,供OneCode的领域模型工具完成进一步的建模配置

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

三,OneCode元数据建模工具支持

(1)OneCode元数据编辑工具

OneCode 元素编辑工具是OneCode领域建模中最为重要的一个工具,OneCode代码工具可以直接读取附有OneCode元数据注解的Java原文件,开发者可以直接手工编辑Java代码。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

也可以通过展开元数据属性图进行可视化的元数据编辑管理。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

(2)仓储构建工具

OneCode提供了强大的注解支持体系,但开发者在首次使用时往往还是会出现手足无措,仓储构建工具的目的是辅助开发者使用常用的实体模型,通过资源适配快速的完成基础工程的构建,然后再通过OneCode 编辑器完成进一步的元数据注解支持。 OneCode 内置了数据库驱动工具,允许用户直接数据库表结构,也可以通过自带的API桥接工具完成接口与实体的自动映射投影快速完成OneCode 工程构建。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

(3)视图设计工具

OneCode视图设计器,通常是OneCode建模的最后的一步,在完成前期数据建模及工程构建后,通过向视图设计器的无缝对接,实现了全栈应用的无代码应用。

OneCode 低代码引擎核心元数据设计揭秘(低代码架构)

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

(0)
上一篇 2024年7月5日 下午6:16
下一篇 2024年7月5日 下午6:28

相关推荐

  • 机关2022年度党建工作计划(机关2022年度党建工作计划表)

    一、深化理论教育,加强思想业务建设。 1、建设学习型党组织和党员。 2、打造和谐优良的人文机关。 3、开展经常性思想政治工作。 ……….由于审核…

    科研百科 2023年2月28日
    135
  • 科研项目 产生的直接和间接效益

    科研项目产生的直接和间接效益 科研项目是一种以研究为基础的活动,旨在探索新的知识和技术,推动科学技术的发展。科研项目的开展不仅可以提高科学研究的质量和效率,还可以产生直接和间接的效…

    科研百科 2024年10月12日
    5
  • linux开发安卓app

    Linux开发安卓App 随着智能手机的普及和移动应用市场的繁荣,开发安卓App成为了许多开发者的热门选择。而在开发安卓App的过程中,使用Linux操作系统可以带来许多优势和便利…

    科研百科 2024年2月24日
    36
  • 广州市卫生局科研项目级别广州市卫生局科研项目级别

    广州市卫生局科研项目级别 广州市卫生局科研项目级别是广州地区的一项较高级别的科研项目,旨在推动当地科技和经济发展。该项目由广州市卫生局组织和管理,得到了政府部门和相关机构的支持和协…

    科研百科 2024年9月3日
    22
  • 2022年几款好用的固定资产管理系统推荐

    随着企业分公司的遍地开花,员工数量的增多、固定资产数量、固定资产类别、存放地点的增多,固定资产的日常业务比较频繁,比如从一个店调到另外一个店,从一个员工名下转移到另一个员工名下等。…

    科研百科 2023年8月25日
    87
  • 达州科研项目申报系统

    达州科研项目申报系统 达州科研项目申报系统是一款功能强大的科研项目申报平台,为达州科研项目申报提供了全面、高效、便捷的服务。该平台旨在促进达州科技创新,推动达州经济发展,为达州人民…

    科研百科 2025年3月29日
    4
  • 怎么做好科研项目助理

    科研项目助理是一个非常重要的角色,负责协助研究人员完成科研项目的各个方面,包括文献调研、数据收集、实验设计、数据分析等等。做好科研项目助理需要具备一定的技能和素质,以下是一些建议:…

    科研百科 2025年4月7日
    2
  • 大一科研项目有哪些

    大一科研项目有哪些 在大一学年中,学生们通常会参加许多科研项目。这些项目通常是由教授或导师指导的,旨在帮助学生提高他们的学术技能和知识水平。以下是一些常见的大一科研项目: 1. 文…

    科研百科 2024年11月5日
    0
  • 项目管理画图工具

    项目管理画图工具 随着现代项目管理的日益复杂,使用画图工具来辅助项目管理已经成为了一个必要的工具。画图工具可以帮助项目经理更好地组织和管理项目进度、成本和风险。本文将介绍一种常用的…

    科研百科 2024年9月28日
    17
  • ChatGPT开始联网,订酒店、看股价都可以!谷歌之后,这下该苹果慌了?

    每经记者:蔡鼎 自去年11月30日发布以来,OpenAI的ChatGPT迭代速度超乎人们的想象——在将大模型更新到GPT-4后,OpenAI在美西时间3月23日又甩出一个“王炸”—…

    科研百科 2023年4月29日
    80