CN110825362B - 低代码应用软件开发系统及方法 - Google Patents
低代码应用软件开发系统及方法 Download PDFInfo
- Publication number
- CN110825362B CN110825362B CN201911065044.1A CN201911065044A CN110825362B CN 110825362 B CN110825362 B CN 110825362B CN 201911065044 A CN201911065044 A CN 201911065044A CN 110825362 B CN110825362 B CN 110825362B
- Authority
- CN
- China
- Prior art keywords
- modeling
- code
- data
- application
- business
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种低代码应用软件开发系统及方法,其中,系统中包括:开发平台、运行平台及云数据库,开发平台与云数据库通信连接,用于根据预先定义的功能模块对应用运行所需的模型进行搭建,并对搭建的模型进行实例化、以结构化数据的形式存储于云数据库;运行平台与云数据库通信连接,用于获取云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统。其通过运行平台的引擎组对应用建模结构化数据进行解析运行,实时高效地渲染出相应的应用系统,无需经过编译打包和部署运维的过程,且只需经过少量的业务功能测试即可完成交付。
Description
技术领域
本发明涉及软件开发技术领域,尤指一种低代码应用软件开发系统及方法。
背景技术
传统的计算机软件开发过程是将用户需求转化为软件所需的软件工程活动的总集,包括需求分析、规格说明、详细设计、编码开发、测试验证、安装部署、监控运维及文档化,还可能包括短、长期的修复和升级以持续满足用户的需求。需求一旦发生变更,均需要执行完整的软件过程才能交付,具体,软件工程师根据详细需求文档编写系统详细设计文档,程序员根据系统详细设计文档逐行手工编写软件代码,通过编译构建可执行的软件包后交给测试人员在测试环境中测试验证,最后由运维人员搭建生产环境并完成相关软件包的部署最终完成需求的交付。
这种传统的软件开发过程在大型平台软件中是可行的,原因在于这类软件可以为企业带来高收益,足以覆盖编码开发所需的时间和资源成本。但是,由于应用型软件面临更高的响应速度、更多变的应用场景、更短的应用生命周期,这种开发方法于应用型软件中的缺陷逐步显现:
第一:开发周期过长。由于要执行完整的“分析-设计-编码-测试-部署-运维”过程,且每一道工序都需专业的人才负责执行,环环相扣,如流水线般协作,无法满足应用型软件所需的快速响应。实际上有很多研发工序与业务的实现无关,更多的是保障软件的交付质量,比如软件包的编译构建、测试、缺陷修复、运行环境的搭建和部署运维等工序,但这些工序在传统软件开发方法中必不可少,在整个软件过程生命周期中占比较高,导致无法及时响应变化的业务需求。
第二:代码复用程度低。通过传统编码开发的软件,业务逻辑都是硬编码在代码中,对象、类、方法之间存在千丝万缕的关联关系,若要以代码的形式复用,成本极高。一般只有在业务功能基本一致且与其他业务模块关联较少,或是与业务无关时,才会考虑通过复制代码的形式复用。但这种复用带来的新问题是要理解原有代码,这对一开始的编码就提出了很高的要求。所以在软件开发领域,相对于修改复用前人的代码程序员通常更愿意自己重写一遍。
第三:维护成本过高。由软件功能的实现需要通过程序员编写代码来实现,业务上有任何变动都需要改动代码,且软件系统业务复杂度越高,代码量就越大,软件系统的维护成本也就越高。尤其是程序员半路接手项目时,熟悉其他人编写的代码本身就需要较高的学习成本,若对整个系统在代码层面上了解不够充分,极易引发系统缺陷。同时,业务需求的实现依赖技术选型,当系统不得不进行架构调整时,需要有大量的代码改动,更新维护难度和成本不亚于用新的技术方案重新进行编码开发。
第四:软件成熟度低。一般来说,应用类软件业务代码占比较高,由程序员逐行编码形成的功能,在数万行代码中存在BUG几乎是必然的,且代码复用程度低,这些代码首次完成后需要花费大量的测试时间才能趋于稳定。一旦需求变更或调整,又会陷入新一轮的不稳定。
为此,计算机软件开发领域一直在探索更优的解决方案,目前主要有以下几个方向:
一是原有模式内的优化,如发展高级编程语言、开源框架、公用类库等,虽然一定程度上提升了软件的开发效率,但软件开发的整个生命周期没有从根本上发生变化,仍然需要执行需求分析、详细设计、编码开发、测试验证、安装部署、监控运维和文档化,虽然过程中每个工序的效率都有所提升,却没有从根本上解决以上问题。
二是基础能力中台化,将基础、通用、公共的能力剥离下沉至一个平台,如主数据能力、API(Application Program Interface,应用程序接口)能力、DevOps能力等,所有的业务应用基于中台提供的能力进行开发,应用类软件的程序员只需专注自己的业务即可。这种方式提升了公共能力的复用度和成熟度,整体效率提高了,但业务部分存在的问题依旧没有得到改善。
三是通过代码生成的方式根据代码模板生成预置业务代码,如对业务对象的增删改查的代码,程序员根据这些生成好的代码块进行修改和组合使用。代码生成本质上依旧是代码层面的复用,只能满足简单的业务场景,无法满足多个业务对象的联动。
四是以表单流程为代表的零代码配置平台,通过可视化的配置可以搭建数据收集、数据流转、流程审批这类固定场景,但脱离了预设的固定场景后就无法使用,而且零代码模式无法满足复杂、个性化的业务。
虽然以上四个方向对应用类软件的开发效率都有不同程度的提升,但也存在各种客观问题和限制,未能很好地解决传统软件开发方法带来的问题。
发明内容
本发明的目的是提供一种低代码应用软件开发系统及方法,有效解决现有软件开发方法开发周期过长、代码复用程度低、维护成本过高、软件成熟度低等技术问题。
本发明提供的技术方案如下:
一种低代码应用软件开发系统,包括:开发平台、运行平台及云数据库,其中,
所述开发平台,与所述云数据库通信连接,用于根据预先定义的功能模块对应用运行所需的模型进行搭建,并对搭建的模型进行实例化、以结构化数据的形式存储于所述云数据库;
所述运行平台,与所述云数据库通信连接,用于获取所述云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统。
一种低代码应用软件开发方法,应用于上述低代码应用软件开发系统,所述低代码应用软件开发方法中包括:
开发平台根据预先定义的功能模块对应用运行所需的模型进行搭建,并对搭建的模型进行实例化、以结构化数据的形式存储于所述云数据库;
运行平台获取所述云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统。
一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时实现上述低代码应用软件开发方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述低代码应用软件开发方法的步骤。
在本发明提供的低代码应用软件开发系统及方法中,通过运行平台的引擎组对应用建模结构化数据进行解析运行,实时高效地渲染出相应的应用系统,针对每一次的业务需求改动,对于整个系统来说,仅是数据发生了改动,而应用是通过运行平台引擎组解析运行的,整个需求的交付过程通过零代码(可视化积木式配置)或少量代码(低代码引擎)即可完成开发,无需经过编译打包和部署运维的过程,且只需经过少量的业务功能测试即可完成交付,在没有任何编程基础的情况下同样能快速实现软件的开发和上线。至少能够带来以下一项有益效果:
一、软件交付周期更短,由于将软件开发过程缩短为“分析-配置-测试”三个步骤,无需花费时间在设计、编码、部署、运维等与业务无关的过程中,仅需进行少量业务测试确保配置无误即可,可缩短至少80%的交付周期。
二、软件开发门槛更低,由于本发明通过建模和引擎实现了业务与代码的分离,让应用型软件的开发不再必须通过编程实现,使得具备一定IT背景的业务人员也可以开发软件,大大降低了应用型软件的开发门槛。
三、软件开发成本更低,由于周期的缩短和门槛的降低,且本发明提供的开发平台和运行平台支持多租户按需购买资源,无需一次性购买所有硬件资源和额外人工成本部署运维,大幅降低了软件开发成本。
四、软件升级维护更便捷,由于本发明使得应用类软件具体的业务逻辑均以结构化数据的形态存储,与程序代码(主要是运行平台的引擎组代码)实现了分离,如有新的业务需求,无需改动运行平台的底层程序代码,通过调整应用的建模数据即可实现需求变更。另外,由于无需考虑代码,软件开发工作的移交维护也变得更加便捷。
五、软件复用度更高,由于基于本发明系统开发的软件都运行在运行平台中,本质上共享一套引擎组代码,只是通过不同的建模数据渲染组合出不同的功能,即通过一个共享的运行平台就能满足绝大部分的业务组合。同时,建模数据是结构化可迁移的,不同租户之间可导出/导入实现应用级的复用,针对不同租户业务差异,无论差异大小,都仅需修改建模数据即可实现功能变化,复用范围大大提升。
六、实现软件功能与技术解耦,该运行平台对引擎组的能力(如性能优化、兼容性优化等,)进行升级、甚至对整个运行平台的技术栈、框架进行升级时,都无需对应用建模数据进行修改,即可对运行平台上所有的应用类软件产生效果,大幅延长了软件的生命周期。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施例,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为本发明低代码应用软件开发系统一实施例示意图;
图2为本发明低代码应用软件开发系统另一实施例示意图;
图3为本发明低代码应用软件开发系统另一实施例示意图;
图4为本发明多租户共享服务实例一实例示意图;
图5为本发明中低代码应用软件开发方法一实施例流程示意图;
图6为本发明中终端设备一实施例的结构示意图。
附图标记说明:
100-开发平台,110-表单设计器,120-流程设计器,130-业务设计器,140-权限配置模块,150-低代码编辑器,200-运行平台,210-表单引擎,220-流程引擎,230-业务引擎,240-权限解析器,250-低代码引擎,300-云数据库,400-终端设备,410-存储器,411-计算机程序,420-处理器。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施例。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施例。
如图1所示为本发明提供的低代码应用软件开发系统一实施例示意图,包括:开发平台100、运行平台200及云数据库300,其中,开发平台100,与云数据库300通信连接,用于根据预先定义的功能模块对应用运行所需的模型进行搭建,并对搭建的模型进行实例化、以结构化数据(JSON格式)的形式存储于云数据库300;运行平台200,与云数据库300通信连接,用于获取云数据库300中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统。
在本实施例提供的应用软件开发模式中,首先用户根据应用软件的业务需求,通过开发平台100(可视化程序设计工具)提供的各种最小化业务组件,以所见即所得、积木式地搭建业务系统的数据结构、工作流、业务逻辑、界面、权限等,并以结构化数据的形式将实例模型存储于云数据库300中。在云数据库300中对模型实例进行序列化JSON存储。之后,用户访问应用页面时,运行平台200从数据库中读取JSON数据反序化模型实例对其进行解析,生成引擎元对象实例,存储入缓存。接着,通过运行平台200的引擎组解析建模的结构化数据渲染应用页面,读取/保存业务数据后引擎组根据业务上下文和模型配置的表达业务逻辑,产生运行时业务数据并保存入云数据库300,形成完整的应用系统。该低代码应用软件开发模式和图形化程序设计工具,将业务逻辑抽象描述业务的元数据和少量脚本代码,实现“设计即运行”,无需其他额外的研发工序即可投入使用,整个软件开发过程无需编码开发、编译构建、部署发布的环节,即改即用,解决应用类软件在传统开发模式下开发周期过长、代码复用程度低、维护成本过高、软件成熟度低等问题。
基于“业务逻辑与代码分离”的技术架构,在开发平台100中,可以同时创建并维护多个应用,且搭建的应用均以结构化数据的形式存储于云数据库300中,所有功能模块都是以“应用”进行组织和管理,创建的应用具备独立性、可管理性、可维护性、开放性和热插拔等特性。
如图2所示,在一实施例中,开发平台100中的功能模块包括表单设计器110、流程设计器120、业务设计器130及权限配置模块140等,其中,表单设计器110用于对应用的表单进行建模,通过可视化的方式搭建应用运行时的数据;流程设计器120用于对应用的工作流进行建模,通过可视化的方式搭建应用运行时所需的工作流;业务设计器130用于根据预先配置的组件,采用可视化的方式对应用呈现页面所需元素对应的组件进行定义;权限配置模块140,分别与表单设计器110、流程设计器120和业务设计器130连接,用于对应用中资源的操作权限和数据权限进行配置。
具体,表单建模用以实现应用软件“运行时数据与代码分离”,可快速搭建应用的运行时数据,包含数据结构建模、业务规则建模和界面布局建模三个模型,其中,数据结构建模与表单的业务数据持久化相关,存储物理数据库中的表结构,包括表基本属性、列、数据类型、长度、是否主键、是否非空、索引、约束、描述等信息。业务规则建模与表单的组件类型和业务逻辑相关,存储表单的业务组件、数据来源、校验规则、联动规则、业务逻辑等信息。界面布局建模与表单呈现在浏览器的布局样式相关,存储各类型终端(包括PC端和移动终端)对应的表单布局样式。
在表单建模时,用户通过开发平台100提供的可视化表单设计器110,采用拖拉拽所见即所得的方式绘制表单,并配置表单名、字段名、数据源、校验规则、联动规则等信息;之后,开发平台100将用户配置的信息通过建模仓库服务转化成数据结构建模、业务规则建模和界面布局建模的结构化数据(JSON格式)保存到云数据库300中。同时表单引擎210(于运行平台200中,与表单建模对应)通过解析数据结构建模在云数据库300生成与表单数据结构一致的物理表,物理表的命名采用用户输入的表单名+应用标识+租户标识的方式,以解决在多租户多应用场景下物理表在租户和应用间不会重复的问题。整个过程对用户透明,用户仅需关注表单的布局样式和业务规则的配置,即可完成应用软件的运行时数据的构建。
在一实例中,表单设计器提供常用的布局组件(如一行一列/两列/三列、分组、选项卡等)和业务组件(如单行文本、多行文本、选择框、时间日期、富文本、文件上传、人员部门选择、子表单、多表关联等),通过拖拽即可完成业务表单的设计。在表单设计器的设计界面由三部分组成,其中,左侧部分为可选组件面板,从该面板中选取希望添加的布局组件/业务组件并通过拖拽的方式的进行添加。中间部分为图形界面设计效果展示面板,用户从左侧的可选组件面板中将布局组件/业务组件拖拽至该图形界面设计效果展示面板中并放置于适当的位置,完成表单界面的初步设计。右侧部分为配置表单,用户于图形界面设计效果展示面板中需要进行详细数据配置的布局组件/业务组件,由右侧显示的相应配置表单中进行参数的配置及修改。
流程建模用以实现应用软件“工作流逻辑与代码分离”,可快速搭建应用所需的工作流,包含流程主题建模和流程定义建模,且流程主题建模和流程定义建模为一对多的关系。其中,流程主题建模用于接收用户配置的流程主题并存储,并根据流程主题自动生成用于唯一标识该流程的流程标识和ID,以建立流程与表单建模、业务建模等模型关联的依据。流程定义建模用于存储工作流规则及与之对应唯一的流程版本号(每个流程配置一个版本号,各流程的版本号按照时间先后递增)。
在流程建模时,用户通过开发平台100中的可视化流程设计器120,采用拖拉拽所见即所得的方式绘制流程,配置流程主题、流程节点、审批规则、流转规则、操作权限等信息;之后,开发平台100将用户配置的信息通过建模仓库服务转化成流程主题建模和流程定义建模结构化数据(JSON格式)保存到云数据库300中,每次流程定义的更新将产生一个新的流程定义版本,整个过程对用户透明,用户仅需关注流程图和业务规则的配置,即可完成业务流程的开发。
在一实例中,可视化流程设计器120基于HTML5 Canvas和SVG(可缩放矢量图形)技术实现,并采用BPMN2.0规范(业流程建模和执行的最新标准规范,在2013年被ISO列入信息领域的模型标准,定义了规范的执行语义和描述格式)的执行语义和描述格式规范图形和人机交互,通过规则引擎、表达式引擎实现可视化规则配置满足应用的业务场景。流程建模过程中,利用标准的图元建模真实的业务发生过程,以确保相同的流程在不同的流程引擎中得到相同的执行结果。
业务建模用以实现应用软件“业务逻辑、页面与代码分离”,定义应用系统中呈现给用户的页面所有元素的抽象模型集合,实现针对不同类型终端(PC端和移动终端)的页面定制。具体,在可视化业务设计器130中包含大量的基础组件(操作按钮、表单、列表、文本、图片、分割线、宫格导航、菜单等)和高级组件(自定义组件、数状列表、统计、汇总列表等),以此,在业务建模时,用户通过所见即所得的方式于业务设计器130中引用组件组装成页面,并配置各个组件的数据来源、业务规则、触发事件、交互方式、生命周期等信息以满足应用系统的业务场景;之后,开发平台100将配置的信息通过建模仓库服务转化成业务建模结构化数据(JSON格式)保存到云数据库300中。
权限建模用以实现“权限逻辑与代码分离”,定义应用系统所有资源的操作权限和数据权限,并将配置的权限信息通过建模仓库服务转换为权限建模结构化数据保存到云数据库300中。在一实例中,采用RBAC权限模型对应用进行权限建模,把开发平台100中所有组件视为RBAC全向模型中的“资源”,每个资源都有一个唯一的ID,把模块和组件是否可访问、是否可见、是否可用抽象成RBAC模型中的“操作”,构成“用户-角色-权限-资源”的授权模型,把功能操作和资源统一管理。
由开发平台100中开发的应用仅为具有高度扩展性和兼容性的结构化数据,并非程序代码,本身并不具备运行的能力。故运行时需通过运行平台200内部的各种引擎对开发平台100的建模数据进行解析,渲染系统页面并表达业务逻辑,得到应用系统。
具体,运行平台200中包括表单引擎210、流程引擎220、业务引擎230及权限解析器240,其中,表单引擎210用于解析表单设计器110中的建模数据生成适配终端类型的表单页面,及用于解析建模数据在云数据库300生成与表单数据结构一致的物理表并对其进行唯一标识;流程引擎220用于解析流程设计器120中的建模数据,实现流程实例从发起到结束完整的业务流程生命周期过程;业务引擎230用于解析业务设计器130中的建模数据,实现应用系统页面的渲染、人机交互及数据交互功能;权限解析器240用于解析权限配置模块140中配置的权限数据。
表单引擎210的核心作用是通过解析表单建模数据,生成适配终端类型的表单页面(PC浏览器和移动终端H5页面),同时完成表单数据的增删查改及用户配置的其他业务操作。技术原理主要分为第一API层(应用程序的调用接口)、业务逻辑层、第一引擎内核层和表单定义层。
第一API层中包括基于HTTP的RESTful API和基于Java本地调用的SDK API两种类型的API。RESTful API主要用于对外部系统提供流程服务,由API网关负责鉴权和请求代理;SDK API主要用于本地处理,开发人员通过调用表单引擎API完成复杂的业务需求。
业务逻辑层用于实现和封装表单的全部业务,例如数据的增删查改、表单控件业务执行、表单控件联动、界面布局渲染等业务。
表单定义层用于读取表单设计器110中表单建模的模型数据(JSON)并解析成表单引擎210能够正常执行的表单元对象(Class实例),并把表单元对象存储到缓存中,避免重复解析提升引擎执行性能。
第一引擎内核层是表单引擎210运行时业务表达的核心层,用于根据表单元对象的数据库表结构实现表单业务的表达,生成适配终端类型的表单页面,包括:
1)表结构解析层:从表单元对象中解析数据库(即云数据库)表结构,与数据库中的物理表进行比对,生成数据库操作指令;之后,经过DLL生成器转换,生成与数据库方言匹配的SQL语句,进而通过执行SQL进行数据库表、字段、索引、约束的创建和维护操作。
2)业务组件执行层:用于实现表单生命周期、表单控件、操作按钮等组件的业务表达。
3)页面布局解析层:通过UI(界面)模型解析器和UI生成器并结合表单数据上下文进行数据填充,生成PC端或移动终端的表单页面。
流程引擎220的核心作用是通过解析流程建模数据,实现流程实例从发起到结束完整的业务流程生命周期过程,技术原理主要分为第二API层、流程执行层和第二流程定义层。
第二API层中包括基于HTTP的RESTful API和基于Java本地调用的SDK API两种类型的API。RESTful API主要用于对外部系统提供流程服务,由API网关负责鉴权和请求代理;SDK API用于封装内核实现过程,对外提供接口,以此开发人员通过调用流程引擎API完成复杂业务需求。
流程定义层用于读取流程设计器120产生的BPMN2执行语义,并解析成引擎内核层能直接识别的流程元对象,并把流程元对象存储到缓存中,提升引擎执行性能。
第二引擎内核层是流程引擎220运行时流程业务表达的核心层,是BPMN2规范的具体实现,包括:
1)流程指令解析层:从流程定义层获取流程元对象,结合流程业务上下文解析出下一步流程指令集合。
2)流程元件执行层:接收流程指令解析层输入的指令集合,并执行各指令对应的业务逻辑,产生运行时数据。
3)数据访问层:接收从流程元件执行层输入的运行时数据,执行数据持久化操作,最终把流程运行时数据存储到云数据库300中。
业务引擎230的核心作用是通过解析业务建模数据,实现系统页面(PC浏览器和移动终端H5页面)的渲染、人机交互、数据交互功能。技术原理主要分为第三API层、第三引擎内核层及业务定义层。
第三API层用于对内核实现过程进行封装并提供相应的接口供运行平台200的业务逻辑层调用。
业务定义层用于从仓库服务读取业务设计器130中业务建模的建模数据并解析得到第三引擎内核能直接识别的业务元对象,并把业务元对象存储到缓存中,提升引擎执行性能。
第三引擎内核层是业务引擎230运行时业务逻辑表达的核心层,由业务指令解析组件、数据集解析组件、事件解析组件、生命周期解析组件和数据访问组件分工协作:
1)业务指令解析组件:从业务定义层获取业务元对象,结合当前业务上下文解析出指令集合(包含数据集指令、事件指令及生命周期指令)。
2)数据集解析组件:接收并执行业务指令解析组件生成的数据集指令,解析出SQL语句,通过数据访问层执行SQL从而获取数据集,并把数据集存放于当前执行线程上下文,供其他内核组件使用。
3)事件解析组件:接收并执行事件指令,用于响应用户在页面上的人机交互事件(如查询列表、点击操作按钮等等),根据业务建模中配置的事件触发内容执行具体的业务逻辑,并把响应结果存放于当前执行线程上下文。
4)生命周期解析组件:接收并执行生命周期指令,当应用页面中组件的生命周期(如删除按钮执行前、执行中、执行后)被触发时,执行业务建模中配置的业务逻辑。
5)数据访问组件:用于管理持久化事务,封装对云数据库300的增删查改的复杂实现,提供简单接口供业务引擎230其他组件调用。
在另一实施例中,如图3所示,开发平台100中的功能模块除了包括表单设计器110、流程设计器120、业务设计器130及权限配置模块140之外,还包括低代码编辑器150,分别与表单设计器110、流程设计器120、业务设计器130及权限配置模块140连接,为开发平台100中的预设组件提供低代码编程插槽,进行低代码建模,以扩展相应组件的业务能力配置应用的个性化业务。在开发平台100中,为大部分组件提供低代码编程插槽以扩展组件的业务能力,具备一定编程基础的用户可通过配置的低代码编辑器150直接编写业务代码以实现个性化业务需求。具体,低代码编辑器150中还提供语法高亮、API智能提示和代码补全等功能,便于用户编写高质量的业务代码。要注意的是,这里用户通过低代码编辑器150编写的代码并不是可执行的程序代码,并通过开发平台100的编译和安全性校验后由建模仓库服务转化为低代码建模结构化数据(JSON)保存到云数据库300中。表单设计器110、流程设计器120、业务设计器130及权限配置模块140同前一实施例,这里不做赘述。
在一实例中,可视化流程设计器120基于HTML5 Canvas和SVG(可缩放矢量图形)技术实现,并采用BPMN2.0规范的执行语义和描述格式规范图形和人机交互,通过规则引擎、表达式引擎实现可视化规则配置满足应用的业务场景,并通过低代码引擎250(于运行平台中,与低代码建模对应)满足用户自行编写业务代码以实现复杂业务需求。
相对应的,运行平台200中包括表单引擎210、流程引擎220、业务引擎230、权限解析器240及低代码引擎250,其中,表单引擎210用于解析表单设计器110中的建模数据生成适配终端类型的表单页面,及用于解析建模数据在云数据库300生成与表单数据结构一致的物理表并对其进行唯一标识;流程引擎220用于解析流程设计器120中的建模数据,实现流程实例从发起到结束完整的业务流程生命周期过程;业务引擎230用于解析业务设计器130中的建模数据,实现应用系统页面的渲染、人机交互及数据交互功能;权限解析器240用于解析权限配置模块140中配置的权限数据;低代码引擎250用于接收用户根据应用个性化业务编写的业务逻辑,并进行编译。表单引擎210、流程引擎220、业务引擎230、权限解析器240同前一实施例,这里不做赘述。
低代码引擎250的核心作用是供软件开发编写程序代码的能力用于满足通过积木式配置无法满足的业务场景,为具备编程能力的用户(具备基础的JavaScript语法知识即可通过低代码引擎250编写个性化的业务逻辑)提供丰富的扩展能力。在一实例中,低代码的语法实现了ECMA-357 ECMAScript for XML(E4X)标准,拥有JavaScript 1.7的全部特性,运行于JVM(Java虚拟机)具备访问Java API的能力。低代码引擎250核心部件包括低代码编译器、低代码运行器和低代码函数库。
1)低代码编译器:用于对用户编写的低代码语法进行解析,转换成Java语言,再通过编译器生成JVM可执行的Java字节码(虚拟指令)。
2)低代码运行器:接收通过低代码编译器产生的Java字节码,由JVM的解析器产生机器可执行的二进制机器码,进而利用JVM自身的能力运行用户编写的业务代码。从编写代码到代码运行,整个过程即改即用,无需重启程序。
3)低代码函数库:基于低代码语法,把平台底层能力封装成简单的接口供用户调用,以实现复杂的、个性化的业务需求。
在实际应用中,基于低代码引擎250的能力和实现原理,可以用W3C语法标准开发出任何样式的用户界面,结合低代码函数库和JAVA原生API开发服务端API,实现前后端数据交互,满足复杂的业务场景。
在整个软件开发过程中,开发平台100和运行平台200以及其他基础服务和程序均基于云平台运作。基础设施云平台的服务器集群为运行平台200提供强大的计算资源和数据存储资源,通过运行平台200的引擎组对应用建模结构化数据进行解析运行,从而实时高效地渲染出应用系统,针对每一次的业务需求改动,对于整个系统来说,仅是数据发生了改动,而应用是通过运行平台200引擎组解析运行的,整个需求的交付过程通过零代码(可视化积木式配置)或少量代码(低代码引擎)即可完成开发,无需经过编译打包和部署运维的过程,且只需经过少量的业务功能测试即可完成交付。
在上述实施例中,由于开发的软件都运行在运行平台中,本质上共享一套引擎组代码,只是通过不同的建模数据渲染组合出不同的功能,即通过一个共享的运行平台就能满足绝大部分的业务组合;同时,建模数据是结构化可迁移的,不同租户之间可导出/导入实现应用级的复用。在云数据库中不同租户之间能够共用服务实例,且不同存储实例之间的租户进行隔离。如图4所示,在一实例中,租户A、租户B和租户C共享服务实例#1,租户D使用服务实例#N。以此,在存储时,将租户A、租户B和租户C分配存储于实例1,将租户D分配存储实例N,且租户之间存在表级别隔离,每位租户包括form表单数据、bmp图像数据及permission权限数据,如图示中,租户A包括form_user_a、bmp_user_a及permission_user_a。
在实际应用中,可将该低代码应用软件开发系统应用于WEB管理类应用软件(如OA、ERP、CRM等)、泛H5应用软件(如基于企业微信的应用、小程序应用等)、手机客户端APP应用等,还可应用于人工智能业务训练建模、物联网接入平台等领域。
如图5所示为本发明提供的低代码应用软件开发方法一实施例流程示意图,应用于上述低代码应用软件开发系统,该低代码应用软件开发方法中包括:S10开发平台根据预先定义的功能模块对应用运行所需的模型进行搭建,并对搭建的模型进行实例化、以结构化数据的形式存储于云数据库;S20运行平台获取云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统。
在本实施例提供的应用软件开发模式中,首先用户根据应用软件的业务需求,通过开发平台(可视化程序设计工具)提供的各种最小化业务组件,以所见即所得、积木式地搭建业务系统的数据结构、工作流、业务逻辑、界面、权限等,并以结构化数据的形式将实例模型存储于云数据库中。在云数据库中对模型实例进行序列化JSON存储。之后,用户访问应用页面时,运行平台从数据库中读取JSON数据反序化模型实例对其进行解析,生成引擎元对象实例,存储入缓存。接着,通过运行平台的引擎组解析建模的结构化数据渲染应用页面,读取/保存业务数据后引擎组根据业务上下文和模型配置的表达业务逻辑,产生运行时业务数据并保存入云数据库,形成完整的应用系统。该低代码应用软件开发模式和图形化程序设计工具,将业务逻辑抽象描述业务的元数据和少量脚本代码,实现“设计即运行”,无需其他额外的研发工序即可投入使用,整个软件开发过程无需编码开发、编译构建、部署发布的环节,即改即用,解决应用类软件在传统开发模式下开发周期过长、代码复用程度低、维护成本过高、软件成熟度低等问题。
在一实施例中,步骤S10中进一步包括:通过表单设计器对应用的表单进行建模的步骤;通过流程设计器对应用的工作流进行建模的步骤;通过业务设计器对应用呈现页面所需元素对应的组件进行定义的步骤;及通过权限配置模块对应用中资源的操作权限和数据权限进行配置的步骤。步骤S20中进一步包括:通过表单引擎解析表单设计器中的建模数据生成适配终端类型的表单页面的步骤;通过流程引擎解析流程设计器中的建模数据,实现流程实例从发起到结束完整的业务流程生命周期过程的步骤;通过业务引擎解析业务设计器中的建模数据,实现应用系统页面的渲染、人机交互及数据交互功能的步骤;通过权限解析器解析权限配置模块中配置的权限数据的步骤。于开发平台中进行表单建模、流程建模、业务建模及权限配置的过程,及运行平台引擎组对建模数据进行解析运行、渲染应用系统页面及表达业务逻辑得到应用系统的过程均与低代码应用软件开发系统中方法相同,这里不做赘述。
在另一实例中,步骤S10中还包括通过低代码编辑器为开发平台中的预设组件提供低代码编程插槽、通过建模仓库服务将低代码编辑器中编译后的数据由建模仓库服务转化为结构化数据并保存于云数据库的步骤。步骤S20中还包括通过低代码引擎接收用户根据应用个性化业务编写的业务逻辑并进行编译的步骤。对于低代码编辑器和低代码引擎均与低代码应用软件开发系统中方法相同,这里不做赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序单元或模块,以完成以上描述的全部或者部分功能。实施例中的各程序模块可以集成在一个处理单元中,也可是各个单元单独物理存在,也可以两个或两个以上单元集成在一个处理单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序单元的形式实现。另外,各程序模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
图6是本发明一个实施例中提供的终端设备的结构示意图,如所示,该终端设备400包括:处理器420、存储器410以及存储在存储器410中并可在处理器420上运行的计算机程序411,例如:低代码应用软件开发程序。处理器420执行计算机程序411时实现上述各个低代码应用软件开发方法实施例中的步骤,或者,处理器420执行计算机程序411时实现上述各低代码应用软件开发装置实施例中各模块的功能。
终端设备400可以为笔记本、掌上电脑、平板型计算机、手机等设备。终端设备400可包括,但不仅限于处理器420、存储器410。本领域技术人员可以理解,图6仅仅是终端设备400的示例,并不构成对终端设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如:终端设备400还可以包括输入输出设备、显示设备、网络接入设备、总线等。
处理器420可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器420可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器410可以是终端设备400的内部存储单元,例如:终端设备400的硬盘或内存。存储器410也可以是终端设备400的外部存储设备,例如:终端设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器410还可以既包括终端设备400的内部存储单元也包括外部存储设备。存储器410用于存储计算机程序411以及终端设备400所需要的其他程序和数据。存储器410还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的终端设备,可以通过其他的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性、机械或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可能集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序411发送指令给相关的硬件完成,的计算机程序411可存储于一计算机可读存储介质中,该计算机程序411在被处理器420执行时,可实现上述各个方法实施例的步骤。其中,计算机程序411包括:计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序411代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如:在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施例,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种低代码应用软件开发系统,其特征在于,包括:开发平台、运行平台及云数据库,其中,
所述开发平台,与所述云数据库通信连接,用于根据预先定义的功能模块对应用运行所需的模型进行搭建,并对搭建的模型进行实例化、以结构化数据的形式存储于所述云数据库;
所述运行平台,与所述云数据库通信连接,用于获取所述云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统;
所述开发平台中的功能模块包括表单设计器、流程设计器、业务设计器及权限配置模块,其中,所述表单设计器用于对应用的表单进行建模,通过可视化的方式搭建应用运行时的数据;所述流程设计器用于对应用的工作流进行建模,通过可视化的方式搭建应用运行时所需的工作流;所述业务设计器用于根据预先配置的组件,采用可视化的方式对应用呈现页面所需元素对应的组件进行定义;所述权限配置模块用于对应用中资源的操作权限和数据权限进行配置;且所述开发平台将表单设计器中表单建模时的配置信息、流程设计器中流程建模时的配置信息、业务设计器中业务建模的配置信息及权限配置模块中的权限信息经由建模仓库服务转化为结构化数据并保存于云数据库中;
所述运行平台中包括表单引擎、流程引擎、业务引擎及权限解析器,其中,所述表单引擎用于解析所述表单设计器中的建模数据生成适配终端类型的表单页面,及用于解析建模数据在所述云数据库生成与表单数据结构一致的物理表并对其进行唯一标识;所述流程引擎用于解析所述流程设计器中的建模数据,实现流程实例从发起到结束完整的业务流程生命周期过程;所述业务引擎用于解析所述业务设计器中的建模数据,实现应用系统页面的渲染、人机交互及数据交互功能;所述权限解析器用于解析权限配置模块中配置的权限数据;
所述表单引擎中包括第一API层、业务逻辑层、第一引擎内核层及表单定义层,其中,所述第一API层中包括基于HTTP的RESTful API和基于Java本地调用的SDK API;所述业务逻辑层用于实现和封装表单的相关业务;所述表单定义层用于读取表单设计器中表单建模的模型数据并解析得到表单元对象;所述第一引擎内核层用于根据所述表单元对象的数据库表结构实现表单业务的表达,生成适配终端类型的表单页面。
2.如权利要求1所述的低代码应用软件开发系统,其特征在于,所述低代码应用软件开发系统还包括低代码编辑器,所述低代码编辑器为开发平台中的预设组件提供低代码编程插槽,以扩展相应组件的业务能力配置应用的个性化业务;且所述低代码编辑器中编译后的数据经由建模仓库服务转化为结构化数据并保存于云数据库中。
3.如权利要求2所述的低代码应用软件开发系统,其特征在于,
所述表单设计器中对表单的建模包含数据结构建模、业务规则建模及界面布局建模,其中,所述数据结构建模用于存储物理数据库中的表结构,所述业务规则建模用于存储表单的业务组件信息及业务逻辑信息,所述界面布局建模用于存储各类型终端对应的表单布局样式;和/或
所述流程设计器中对流程的建模包含流程主题建模和流程定义建模,其中,所述流程主题建模用于接收用户配置的流程主题并存储,并根据所述流程主题生成唯一标识该流程的流程标识;所述流程定义建模用于存储工作流规则及与之对应唯一的流程版本号;和/或
所述权限配置模块采用RBAC权限模型对应用中所有资源的操作权限和数据权限进行配置。
4.如权利要求2或3所述的低代码应用软件开发系统,其特征在于,
所述运行平台中还包括低代码引擎,所述低代码引擎用于接收用户根据应用个性化业务编写的业务逻辑,并进行编译。
5.如权利要求4所述的低代码应用软件开发系统,其特征在于,
所述流程引擎中包括第二API层、第二引擎内核层及流程定义层,其中,所述第二API层中包括基于HTTP的RESTful API和基于Java本地调用的SDK API;所述流程定义层用于读取流程设计器中流程建模产生的执行语义并解析得到流程元对象;所述第二引擎内核层用于根据所述流程元对象得到流程指令,并执行对应的业务逻辑,实现流程实例从发起到结束完整的业务流程生命周期过程;和/或
所述业务引擎中包括第三API层、第三引擎内核层和业务定义层,其中,所述第三API层用于对内核实现过程进行封装并提供相应的接口供运行平台调用;所述业务定义层用于读取业务设计器中业务建模的建模数据并解析得到业务元对象;所述第三引擎内核层用于根据所述业务元对象实现应用系统页面的渲染、人机交互及数据交互功能;和/或
所述运行平台中包括表单引擎、流程引擎、业务引擎、权限解析器及低代码引擎,所述低代码引擎中包括低代码编译器、低代码运行器及低代码函数库,其中,所述低代码编译器用于接收用户根据应用个性化业务编写的代码并对其进行解析和编译,生成可执行的字节码;所述低代码运行器用于根据所述低代码编译器生成的字节码生成二进制机器码并运行;所述低代码函数库用于基于低代码语法,将运行平台底层能力封装成接口供调用。
6.一种低代码应用软件开发方法,其特征在于,应用于如权利要求1-5任意一项所述的低代码应用软件开发系统,所述低代码应用软件开发方法中包括:
开发平台根据预先定义的功能模块对应用运行所需的模型进行搭建,并对搭建的模型进行实例化、以结构化数据的形式存储于所述云数据库;
运行平台获取所述云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统;
所述开发平台根据预先定义的功能模块对应用运行所需的模型进行搭建中,包括:通过表单设计器对应用的表单进行建模的步骤;通过流程设计器对应用的工作流进行建模的步骤;通过业务设计器对应用呈现页面所需元素对应的组件进行定义的步骤;通过权限配置模块对应用中资源的操作权限和数据权限进行配置的步骤;及
所述开发平台将表单设计器中表单建模时的配置信息、流程设计器中流程建模时的配置信息、业务设计器中业务建模的配置信息及权限配置模块中的权限信息经由建模仓库服务转化为结构化数据并保存于云数据库中的步骤;
所述运行平台获取所述云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统中,包括:通过表单引擎解析所述表单设计器中的建模数据生成适配终端类型的表单页面的步骤;通过流程引擎解析所述流程设计器中的建模数据,实现流程实例从发起到结束完整的业务流程生命周期过程的步骤;通过业务引擎解析所述业务设计器中的建模数据,实现应用系统页面的渲染、人机交互及数据交互功能的步骤;及通过权限解析器解析权限配置模块中配置的权限数据的步骤;
所述表单引擎中包括第一API层、业务逻辑层、第一引擎内核层及表单定义层,其中,所述第一API层中包括基于HTTP的RESTful API和基于Java本地调用的SDK API;所述业务逻辑层用于实现和封装表单的相关业务;所述表单定义层用于读取表单设计器中表单建模的模型数据并解析得到表单元对象;所述第一引擎内核层用于根据所述表单元对象的数据库表结构实现表单业务的表达,生成适配终端类型的表单页面。
7.如权利要求6所述的低代码应用软件开发方法,其特征在于,
所述开发平台根据预先定义的功能模块对应用运行所需的模型进行搭建中,还包括:通过低代码编辑器为开发平台中的预设组件提供低代码编程插槽的步骤;及所述开发平台将低代码编辑器中编译后的数据经由建模仓库服务转化为结构化数据并保存于云数据库中。
8.如权利要求7所述的低代码应用软件开发方法,其特征在于,
所述运行平台获取所述云数据库中存储的模型实例,并通过相应的引擎对模型实例中结构化的建模数据进行解析运行,渲染应用系统页面及表达业务逻辑得到应用系统中,还包括:通过低代码引擎接收用户根据应用个性化业务编写的业务逻辑,并进行编译的步骤。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时实现如权利要求6-8中任一项所述低代码应用软件开发方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求6-8中任一项所述低代码应用软件开发方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911065044.1A CN110825362B (zh) | 2019-11-04 | 2019-11-04 | 低代码应用软件开发系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911065044.1A CN110825362B (zh) | 2019-11-04 | 2019-11-04 | 低代码应用软件开发系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110825362A CN110825362A (zh) | 2020-02-21 |
CN110825362B true CN110825362B (zh) | 2023-04-14 |
Family
ID=69552256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911065044.1A Active CN110825362B (zh) | 2019-11-04 | 2019-11-04 | 低代码应用软件开发系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825362B (zh) |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495724A (zh) * | 2020-03-19 | 2021-10-12 | 中国科学院沈阳自动化研究所 | 一种基于微服务的工业物联网低代码快速开发系统和方法 |
CN111399820A (zh) * | 2020-03-26 | 2020-07-10 | 宁波极望信息科技有限公司 | 一种基于web应用服务和net的架构的高效开发系统 |
CN111581670B (zh) * | 2020-04-28 | 2023-08-11 | 电子科大科园股份有限公司 | 数据生命周期管理方法 |
CN111625219A (zh) * | 2020-05-22 | 2020-09-04 | 杭州指令集智能科技有限公司 | 一种bo组件处理方法、装置及设备 |
CN111708517A (zh) * | 2020-06-01 | 2020-09-25 | 昆山夏洛特智能科技有限公司 | 一种基于图形化模式技术的定制化软件系统 |
CN111831282A (zh) * | 2020-06-30 | 2020-10-27 | 苏州宏软信息技术有限公司 | 基于vue技术的低代码开发表单方法和系统 |
CN113900633A (zh) * | 2020-07-06 | 2022-01-07 | 上海际链网络科技有限公司 | 物联网场景的低代码开发方法及装置、存储介质、开发平台 |
CN112099780B (zh) * | 2020-07-31 | 2024-04-12 | 浪潮通用软件有限公司 | 一种基于erp系统的可视化应用开发方法、设备及介质 |
CN112000338B (zh) * | 2020-08-13 | 2024-07-30 | 深圳市华磊迅拓科技有限公司 | 界面显示方法、装置及计算机可读存储介质 |
CN111984256A (zh) * | 2020-08-19 | 2020-11-24 | 上海翘腾科技有限公司 | 一种基于云原生架构的低代码应用流程系统和运行方法 |
CN111984235B (zh) * | 2020-08-19 | 2024-06-07 | 上海翘腾科技有限公司 | 一种可定制化的前端低代码开发系统及方法 |
CN112015412A (zh) * | 2020-08-21 | 2020-12-01 | 北京金和网络股份有限公司 | 基于表单引擎生成业务模型的装置及方法 |
CN112015429B (zh) * | 2020-08-21 | 2023-08-04 | 杭州指令集智能科技有限公司 | 一种代码生成方法、装置及设备 |
CN112214202B (zh) * | 2020-09-27 | 2023-12-15 | 西思艾(北京)软件有限公司 | 一种无须写代码的手机程序开发系统 |
CN112256710B (zh) * | 2020-09-30 | 2022-12-06 | 中孚安全技术有限公司 | 一种基于元数据的数据统计分析图表生成系统、方法及设备 |
CN112256248B (zh) * | 2020-10-10 | 2023-06-16 | 合肥青谷信息科技有限公司 | 一种启效智慧云低代码平台 |
CN112379863B (zh) * | 2020-10-12 | 2024-05-28 | 杭州易现先进科技有限公司 | 跨浏览器和小程序的webGL开发方法、装置和计算机设备 |
CN112230900A (zh) * | 2020-10-27 | 2021-01-15 | 北京聚通达科技股份有限公司 | 一种自定义设置表单模型的开发引擎系统及方法 |
CN112214214A (zh) * | 2020-10-29 | 2021-01-12 | 上海厦广科技有限公司 | 针对安卓原生app的低代码开发系统、设备和介质 |
CN112328219A (zh) * | 2020-11-04 | 2021-02-05 | 数字广东网络建设有限公司 | 业务访问处理方法、装置、系统和计算机设备 |
CN112328235A (zh) * | 2020-11-06 | 2021-02-05 | 广州朗国电子科技有限公司 | 一种快速定制软件应用交互逻辑方法 |
CN112328247B (zh) * | 2020-11-06 | 2024-05-03 | 广州朗国电子科技股份有限公司 | 一种快速定制软件应用界面方法 |
CN112527275A (zh) * | 2020-11-18 | 2021-03-19 | 温州市易能软件有限公司 | 一种从原型设计直接生成可运行程序的系统开发平台 |
CN113760226A (zh) * | 2020-11-25 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 服务构建方法、装置、电子设备以及存储介质 |
CN112528248A (zh) * | 2020-12-08 | 2021-03-19 | 北京航天云路有限公司 | 面向多应用的用户权限管理方案 |
CN112507623A (zh) * | 2020-12-15 | 2021-03-16 | 交控科技股份有限公司 | 一种算法中台构建方法及系统 |
CN112540803B (zh) * | 2020-12-18 | 2023-08-11 | 深圳赛安特技术服务有限公司 | 一种表单设计适配方法、装置、设备及存储介质 |
CN112527320B (zh) * | 2020-12-18 | 2024-07-05 | 成都泛微网络科技有限公司 | 一种基于浏览器部署应用系统的方法、装置及存储介质 |
CN112650475B (zh) * | 2020-12-21 | 2021-10-22 | 广州云徙科技有限公司 | 一种结合中台架构理论的软件低代码开发系统及开发方法 |
CN112540753A (zh) * | 2020-12-23 | 2021-03-23 | 航天科工智慧产业发展有限公司 | 一种案件特征解析方法 |
CN112698822B (zh) * | 2020-12-30 | 2024-04-16 | 新奥数能科技有限公司 | 应用软件开发方法、装置、系统架构及工作方法 |
CN112650487B (zh) * | 2020-12-31 | 2024-01-23 | 南方电网数字平台科技(广东)有限公司 | 混合应用程序开发方法、系统、计算机设备和存储介质 |
CN113034095B (zh) * | 2021-01-29 | 2022-01-28 | 北京来也网络科技有限公司 | 结合rpa和ai的人机互动方法、装置、存储介质及电子设备 |
US11330070B1 (en) * | 2021-01-29 | 2022-05-10 | Salesforce.Com, Inc. | Containerized workflow engines executing metadata for user-defined applications |
CN114281323A (zh) * | 2021-03-30 | 2022-04-05 | 北京百特运通科技有限公司 | 一种前端表单生成方法及系统 |
CN113094037B (zh) * | 2021-04-20 | 2022-10-11 | 上海携宁计算机科技股份有限公司 | 表单和工作流的交互方法、开发平台、设备及存储介质 |
CN113050945A (zh) * | 2021-04-25 | 2021-06-29 | 拉扎斯网络科技(上海)有限公司 | 搭建平台的搭投配置方法、装置、计算机设备及存储介质 |
CN113076096B (zh) * | 2021-04-29 | 2024-04-23 | 成都星云智联科技有限公司 | 一种桌面应用程序开发方法、装置、设备及存储介质 |
CN113377414A (zh) * | 2021-06-01 | 2021-09-10 | 商飞软件有限公司 | 一种基于企业地图导航技术的低代码构建平台 |
CN113535836A (zh) * | 2021-07-16 | 2021-10-22 | 成都融微软件服务有限公司 | 智能流程引擎服务系统及方法 |
CN113590111B (zh) * | 2021-07-19 | 2022-08-23 | 郭睿 | 一种基于卡片组件的高可配置的低代码开发平台的实现方法 |
CN113467770B (zh) * | 2021-07-19 | 2024-03-26 | 张宇 | 一种基于标准数据交换的指令集可视化操作系统、方法及应用 |
CN113268227A (zh) * | 2021-07-21 | 2021-08-17 | 武汉万云网络科技有限公司 | 一种零代码可视化的软件开发平台及开发方法 |
CN113592332B (zh) * | 2021-08-06 | 2024-03-05 | 时代云英(深圳)科技有限公司 | 基于自定义配置的低代码业务系统及方法 |
CN113656012B (zh) * | 2021-08-17 | 2022-05-03 | 广州新科佳都科技有限公司 | 一种轨道交通可视化界面的低代码开发系统 |
CN113656032B (zh) * | 2021-08-23 | 2023-09-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种h5制作平台的循环取值列表的处理方法及系统 |
CN113849168A (zh) * | 2021-08-25 | 2021-12-28 | 北京通通易联科技有限公司 | 一种基于可视化配置搭建应用系统的方法 |
CN113742746A (zh) * | 2021-08-27 | 2021-12-03 | 北京航天云路有限公司 | 一种基于注解实现的组合鉴权的权限管理系统及方法 |
CN113867723A (zh) * | 2021-09-13 | 2021-12-31 | 长城计算机软件与系统有限公司 | 一种前端代码生成方法及装置 |
CN113778446B (zh) * | 2021-09-15 | 2024-02-13 | 航天新通科技有限公司 | 一种低代码应用开发平台 |
CN113961129A (zh) * | 2021-09-24 | 2022-01-21 | 北京新享科技有限公司 | 一种基于低代码技术的企业信息化操作方法及系统 |
CN113835691B (zh) * | 2021-09-27 | 2024-06-11 | 工银科技有限公司 | 一种iOS应用开发方法、系统、设备、介质和程序产品 |
CN113849165A (zh) * | 2021-09-28 | 2021-12-28 | 航天科工网络信息发展有限公司 | 基于可视化拖拉且可定制的低代码前端开发框架及方法 |
CN113805853A (zh) * | 2021-09-28 | 2021-12-17 | 重庆允成互联网科技有限公司 | 一种基于工业互联网的软件产品开发系统 |
CN113868344B (zh) * | 2021-09-29 | 2024-04-16 | 国网智能电网研究院有限公司 | 面向电力应用的构建系统、方法、装置、服务器及存储介质 |
CN113961235A (zh) * | 2021-10-22 | 2022-01-21 | 江苏徐工工程机械研究院有限公司 | 软件管理方法、软件管理系统和云平台 |
CN113987398A (zh) * | 2021-10-27 | 2022-01-28 | 广东南方电力通信有限公司 | 一种软件自定义表单内容web开发系统及方法 |
CN114168117A (zh) * | 2021-10-27 | 2022-03-11 | 福建亿榕信息技术有限公司 | 一种基于设计器的信创低代码开发工具和存储设备 |
CN114063987A (zh) * | 2021-11-15 | 2022-02-18 | 浙江力石科技股份有限公司 | 一种可视化业务搭建方法、装置、终端及存储介质 |
CN114089962B (zh) * | 2021-11-18 | 2024-09-20 | 浪潮通用软件有限公司 | 一种构件管理方法、设备及介质 |
CN114168121B (zh) * | 2021-12-07 | 2022-08-16 | 济南红旗信息科技有限公司 | 一种基于代码工厂模式开发软件系统、终端和存储介质 |
CN114281797A (zh) * | 2021-12-10 | 2022-04-05 | 长三角信息智能创新研究院 | 基于敏捷低代码平台快速创建基层数据汇聚仓库的方法 |
CN114138242A (zh) * | 2021-12-13 | 2022-03-04 | 四川启睿克科技有限公司 | 基于rpa软件的无代码跨系统接口开发方法 |
CN114356483B (zh) * | 2022-01-05 | 2023-04-21 | 北京京航计算通讯研究所 | 一种sap erp系统数据处理方法 |
CN114398021B (zh) * | 2022-01-11 | 2022-09-06 | 北京大唐神州科技有限公司 | 基于软件开发的低代码交付方法 |
CN114063992B (zh) * | 2022-01-11 | 2022-04-22 | 广东道一信息技术股份有限公司 | 一种低代码开发平台的建模方法及系统 |
CN114564176B (zh) * | 2022-01-27 | 2023-08-22 | 阿里云计算有限公司 | 一种代码开发方法、服务器及存储介质 |
CN114860218A (zh) * | 2022-05-09 | 2022-08-05 | 大唐软件技术股份有限公司 | 一种低代码开发方法和装置 |
CN115098567B (zh) * | 2022-06-20 | 2024-04-12 | 上海纽酷信息科技有限公司 | 一种基于bi平台的低代码平台数据传输方法 |
CN115296957A (zh) * | 2022-06-22 | 2022-11-04 | 中科计算技术创新研究院 | 基于低代码的物联网网关装置 |
CN115421715B (zh) * | 2022-08-15 | 2024-07-26 | 南京天溯自动化控制系统有限公司 | 低代码编译存储方法及基于功能流的Web三维场景低代码系统 |
CN115113874B (zh) * | 2022-08-30 | 2023-01-31 | 广州市玄武无线科技股份有限公司 | 基于小程序的配置开发方法、系统、设备及存储介质 |
CN115328458B (zh) * | 2022-10-12 | 2023-02-03 | 共道网络科技有限公司 | 一种业务应用开发方法及装置 |
CN115328442B (zh) * | 2022-10-13 | 2023-01-10 | 北京帮安迪信息科技股份有限公司 | 基于低代码平台构建的危化品企业安全风险管控平台 |
CN115373725B (zh) * | 2022-10-24 | 2023-02-03 | 布谷云软件技术(南京)有限公司 | 一种以需求为粒度的软件开发管理系统及方法 |
CN115438050B (zh) * | 2022-11-07 | 2023-02-17 | 杭州兆林科技有限公司 | 一种分级低代码开发平台 |
GR1010579B (el) * | 2022-12-15 | 2023-11-29 | Ανδρεας Λαζαρου Συμεωνιδης | Πλατφορμα μειωμενου κωδικα για την ταχεια αναπτυξη διαδικτυακων εφαρμογων |
CN116185381B (zh) * | 2022-12-16 | 2023-11-03 | 辽宁荣科智维云科技有限公司 | 基于微服务架构的云原生低代码构建方法、系统及应用 |
CN115640045B (zh) * | 2022-12-26 | 2023-04-07 | 卓望数码技术(深圳)有限公司 | 基于领域驱动设计的低代码开发平台及业务系统创建方法 |
CN116301795B (zh) * | 2023-01-28 | 2024-06-04 | 广西数字大脑智能科技有限责任公司 | 一种用于页面可视化配置及代码编写的开发平台 |
CN115840778B (zh) * | 2023-02-20 | 2023-05-16 | 北京百特云享科技有限公司 | 一种基于模型的可视化配置连接器及其连接方法 |
CN116339721A (zh) * | 2023-03-01 | 2023-06-27 | 华院计算技术(上海)股份有限公司 | 软件构建方法、系统、设备及介质 |
CN115993966B (zh) * | 2023-03-24 | 2023-06-30 | 美云智数科技有限公司 | 应用开发系统及方法 |
CN116049020B (zh) * | 2023-04-03 | 2023-08-04 | 深圳市明源云科技有限公司 | 软件产品的自动化测试方法、装置、设备及可读存储介质 |
CN116501315A (zh) * | 2023-04-26 | 2023-07-28 | 江苏博云科技股份有限公司 | 基于DevOps域的低代码软件开发系统、方法及设备 |
CN117234470B (zh) * | 2023-10-08 | 2024-02-23 | 开物数智(安徽)智能科技有限公司 | 一种基于低代码平台的跨端表单开发系统及方法 |
CN117453268A (zh) * | 2023-12-26 | 2024-01-26 | 菲特(天津)检测技术有限公司 | 一种用于数据管理的快速开发平台 |
CN117539468B (zh) * | 2024-01-09 | 2024-03-19 | 成都了了科技有限公司 | 一种快速实现业务的低代码开发平台 |
CN118012396B (zh) * | 2024-01-23 | 2024-07-05 | 中科科界(北京)科技有限公司 | 基于低代码方式实现图书出版erp功能的方法及系统 |
CN117667196B (zh) * | 2024-02-01 | 2024-04-16 | 宁波沃尔斯软件有限公司 | 基于中间表示模型的uxui高效协作的低代码方法 |
CN118132060B (zh) * | 2024-05-06 | 2024-08-02 | 苏州锐盈智能科技有限公司 | 一种基于元数据驱动的低代码软件开发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539855A (zh) * | 2008-12-25 | 2009-09-23 | 厦门亿力吉奥信息科技有限公司 | 一种业务基础软件平台 |
CN107193545A (zh) * | 2017-04-07 | 2017-09-22 | 广东省科技基础条件平台中心 | 一种面向构件的多语言协同开发装置、方法与系统 |
CN108459846A (zh) * | 2018-03-14 | 2018-08-28 | 广东洪睿信息科技有限公司 | 软件云定制方法及平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8806348B2 (en) * | 2011-05-12 | 2014-08-12 | Google Inc. | Data model generation based on user interface specification |
-
2019
- 2019-11-04 CN CN201911065044.1A patent/CN110825362B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539855A (zh) * | 2008-12-25 | 2009-09-23 | 厦门亿力吉奥信息科技有限公司 | 一种业务基础软件平台 |
CN107193545A (zh) * | 2017-04-07 | 2017-09-22 | 广东省科技基础条件平台中心 | 一种面向构件的多语言协同开发装置、方法与系统 |
CN108459846A (zh) * | 2018-03-14 | 2018-08-28 | 广东洪睿信息科技有限公司 | 软件云定制方法及平台 |
Also Published As
Publication number | Publication date |
---|---|
CN110825362A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825362B (zh) | 低代码应用软件开发系统及方法 | |
CN110020307B (zh) | 一种客户端视图的绘制方法和装置 | |
CN110928529B (zh) | 辅助算子开发的方法和系统 | |
US10417314B2 (en) | Systems and methods of a script generation engine | |
US11392393B2 (en) | Application runtime configuration using design time artifacts | |
CN105022630B (zh) | 一种组件管理系统及组件管理方法 | |
ES2936090T3 (es) | Método implementado por computador que expone aplicaciones tipo software a partir de especificaciones de diseño | |
CN112860260B (zh) | 一种在高校场景下基于web的跨平台应用构建工具及方法 | |
CN105512304A (zh) | 在线生成互联网应用方法和系统集成方法及支撑平台 | |
WO2023035563A1 (zh) | 小程序跨应用迁移方法、设备、终端、系统及存储介质 | |
Ranabahu et al. | Application portability in cloud computing: an abstraction-driven perspective | |
CN102929646A (zh) | 应用程序生成方法及装置 | |
CN112988165A (zh) | 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质 | |
CN112463135A (zh) | 代码生成方法、代码生成器、电子设备及存储介质 | |
Benouda et al. | Automatic code generation within MDA approach for cross-platform mobiles apps | |
CN107391118A (zh) | 一种Web应用用户体验平台系统 | |
US9830204B2 (en) | Facilitating communication between software components that use middleware | |
KR100994070B1 (ko) | 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치 | |
KR101902191B1 (ko) | 질의 기반 소프트웨어 논리의 동적 변경 및 실행을 위한 멀티테넌트 지원 장치 및 방법 | |
CN117193728A (zh) | 软件即服务平台的开发方法及装置 | |
CN116909553A (zh) | 一种页面在线开发及本地编译运行系统 | |
CN117075893A (zh) | 一种基于vue的移动端页面生成方法及系统 | |
CN114721647B (zh) | 一种基于无代码应用开发的面向对象编程方法 | |
US12038940B2 (en) | Architecture for data map converters | |
US11693652B2 (en) | Automated authoring of software solutions from a data model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |