CN115964030A - 应用开发系统及应用开发方法 - Google Patents
应用开发系统及应用开发方法 Download PDFInfo
- Publication number
- CN115964030A CN115964030A CN202211464779.3A CN202211464779A CN115964030A CN 115964030 A CN115964030 A CN 115964030A CN 202211464779 A CN202211464779 A CN 202211464779A CN 115964030 A CN115964030 A CN 115964030A
- Authority
- CN
- China
- Prior art keywords
- interface
- application
- data
- page
- module
- 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.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种应用开发系统和应用开发方法,该应用开发系统采用PaaS架构,包括:租户管理模块,用于提供第一可视化界面供用户配置租户;角色分配模块,用于提供第二可视化界面供用户为租户分配具有相应操作权限的角色;页面设计模块,用于提供第三可视化界面供用户拖拽页面组件以设计页面;数据模型设计模块,用于提供第四可视化界面供用户设计包括数据存储单元的数据模型;接口配置模块,用于提供第五可视化界面供用户配置接口;环境部署模块,用于提供第六可视化界面供用户部署应用环境及在应用环境中创建应用。本发明的应用开发系统可以缩短应用交付周期、降低学习门槛、自定义生成页面、降低应用部署成本与运维成本。
Description
技术领域
本发明主要涉及计算机软件开发技术领域,具体地涉及一种应用开发系统及应用开发方法。
背景技术
随着计算机软件技术的飞速发展,更新、更复杂的应用开发技术不断涌现,软件技术的门槛越来越高,软件的生命周期包括设计、开发、测试、部署等多个环节,也包括服务资源分配、监控、维护等各个方面,业务的交付周期较长,并且人力物力的投入也十分巨大。在企业内部,存在许多重复性高、复杂度低、轻量型、急迫性或者需要进行快速业务试错的业务需求,这类业务需求不适合采用传统的软件开发交付过程。
在应用开发过程中,目前常用的解决方案是在企业内制定通用的组合模板框架,用该组合模板框架对特定场景的业务模块功能进行封装,方便应用开发人员以减少重复开发工作量的方式快速实现指定业务,之后再申请服务器资源等完成交付部署。例如,常用的组合模板框架包括基于Spring Boot、Vue、MyBatis搭建的模板化的后台管理系统,该系统可内置权限、任务等,形成一套开发框架,开发者根据指定业务基于组合模板框架编写业务逻辑以构建应用,应用开发完毕后每个应用都需要独立打包、交付及生产部署。
使用通用的组合模板框架进行应用开发的方法可以提升指定业务的交付速度,但该应用开发方法也存在许多问题:1、交付周期长,虽然提升了部分的应用开发效率,但只有基础类功能的代码可以复用,应用打包、交付、部署等一系列工作仍然需要独立展开,因此对整体的应用交付流程并未有较大提升;2、学习门槛高,对开发技能要求较高,开发周期长,对于非专业信息技术(Internet Technology,IT)开发人员基本无法上手;3、页面模板单一无法拓展,无法自定义生成复杂页面,用户界面(User Interface,UI)组件较少,场景拓展有限;4、应用部署成本高,需要申请资源独立部署应用并管理更新;5、运维成本高,需要长期维护和管理应用服务。
发明内容
本申请所要解决的技术问题是提供一种应用开发系统及应用开发方法,可以降低开发人员的学习门槛,开发人员能快速上手完成应用开发。
本申请为解决上述技术问题而采用的技术方案是一种应用开发系统,该应用开发系统采用PaaS架构,该应用开发系统包括:租户管理模块,用于提供第一可视化界面供用户配置租户,租户管理模块根据用户的租户配置指令生成至少一个租户;角色分配模块,用于提供第二可视化界面供用户为租户分配具有相应操作权限的角色;页面设计模块,用于提供第三可视化界面供用户设计页面,页面设计模块根据用户在第三可视化界面中拖拽的页面组件生成页面,页面对应于角色;数据模型设计模块,用于提供第四可视化界面供用户设计数据模型,数据模型包括数据存储单元,数据模型对应于角色;接口配置模块,用于提供第五可视化界面供用户配置接口,接口包括通用接口和自定义接口;环境部署模块,用于提供第六可视化界面供用户部署应用环境及在应用环境中创建应用。
在本申请的一实施例中,租户管理模块还用于在第一可视化界面上展示租户的应用所需的计算资源。
在本申请的一实施例中,角色包括:租户管理员、租户开发者、租户普通用户、应用管理员、应用开发者、应用普通用户中的一类或多类。
在本申请的一实施例中,页面组件由JSON数据的格式定义,页面设计模块通过前端框架将JSON数据渲染为页面元素,并实时监听JSON数据以实时更新页面组件。
在本申请的一实施例中,页面组件包括校验设置项,校验设置项用于设定页面组件对输入数据的校验规则。
在本申请的一实施例中,页面组件还包括接口设置项,接口设置项用于设定页面组件调用的数据。
在本申请的一实施例中,数据模型包括数据名称、数据类型和数据大小;数据模型设计模块还用于根据数据模型生成增删改查模型接口,增删改查模型接口用于供角色进行数据的增删改查操作。
在本申请的一实施例中,数据模型设计模块配置为按照如下方式根据数据模型生成增删改查模型接口:创建不同类型的接口数据,为接口数据生成接口编号并保存至接口表;存储条件逻辑和返回字段至接口表;存储角色的接口条件至接口表,接口条件用于控制不同角色访问数据的权限;存储查询条件至接口表,查询条件在组合拼接后用于多表组合查询;根据接口数据、条件逻辑、返回字段、接口条件、查询条件生成增删改查模型接口。
在本申请的一实施例中,接口配置模块集成了通用接口,通用接口包括文件的上传接口、下载接口、分享接口、预览接口中的一类或多类。
在本申请的一实施例中,自定义接口采用FaaS架构,接口配置模块根据用户配置自定义接口的指令生成自定义接口,其中生成自定义接口的步骤包括:请求连接租户的应用,获得授权信息;提供函数模板的列表;拉取相应的函数模板,在本地创建代码目录,下载函数模板的源代码至代码目录;将源代码推送至服务器,创建镜像并将镜像推送至仓库;将镜像部署至应用,并启动容器生成自定义接口的链接;设置应用的函数实例;读取函数实例的运行日志;调用自定义接口,显示调用结果。
在本申请的一实施例中,应用环境包括:开发环境、测试环境、灾备环境、生产环境中的一类或多类。
在本申请的一实施例中,应用环境包括开发环境和测试环境,在开发环境中创建应用后,应用开发系统将应用的相关数据记录在应用数据表中,并将应用数据表通过消息队列传输至测试环境,其中应用的相关数据包括但不限于:页面组件和数据模型。
本申请为解决上述技术问题还提出一种应用开发方法,适用于如上所述的应用开发系统,该应用开发方法包括:在租户管理模块的第一可视化界面中配置租户,生成至少一个租户;在角色分配模块的第二可视化界面中为租户分配具有相应操作权限的角色;在页面设计模块的第三可视化界面中设计页面,在第三可视化界面中拖拽页面组件以生成页面,页面对应于角色;在数据模型设计模块的第四可视化界面中设计数据模型,数据模型包括数据存储单元,数据模型对应于角色;在接口配置模块的第五可视化界面中配置接口,接口包括通用接口和自定义接口;在环境部署模块的第六可视化界面中部署应用环境及在应用环境中创建应用。
本申请的技术方案采用PaaS架构,提供了应用部署需要的资源和计算能力,应用能共享计算资源;应用开发人员通过租户管理模块的第一可视化界面配置所需租户,通过租户隔离数据,在独立空间内完成开发和部署;通过角色分配模块的第二可视化界面为租户分配具有相应操作权限的角色,赋予各租户不同的功能;通过拖拽页面设计模块的第三可视化界面中的不同页面组件以生成内容丰富的页面;通过数据模型设计模块的第四可视化界面设计包括数据存储单元的数据模型,后续可自动生成对数据进行增删改查的模型接口;通过接口配置模块的第五可视化界面配置通用接口、自定义接口,最大限度减少重复性功能开发;通过环境部署模块的第六可视化界面部署应用环境以及创建应用,应用可以快速部署并在多个应用环境中使用,完成了应用的快速开发,以快速交付指定业务。
本申请通过配置化的方式开发业务所需应用,普通IT人员也能快速上手完成应用开发,降低了开发人员的学习门槛;页面组件丰富,可拖拽页面组件自定义生成场景丰富的页面,使应用页面更容易实现;采用平台即服务(Platform as a Service,PaaS)架构搭建应用开发系统,提供了应用部署需要的资源和计算能力,用户应用能共享计算资源,快速交付业务,降低了应用的部署成本;应用节点通过容器化部署,以函数形式注入,可根据业务请求量弹性扩容,例如在业务访问量高时动态增加对应的容器数量,提供稳定可靠的应用服务能力,降低了应用的运维成本;应用开发完成后可以快速部署应用到多个应用环境中使用,缩短了应用的交付周期。
附图说明
为让本申请的上述目的、特征和优点能更明显易懂,以下结合附图对本申请的具体实施方式作详细说明,其中:
图1是本申请一实施例的应用开发系统的架构图;
图2是本申请一实施例的租户管理模块提供的第一可视化界面的示例性示意图;
图3是本申请一实施例的角色分配模块提供的第二可视化界面的示例性示意图;
图4是本申请一实施例的页面设计模块提供的第三可视化界面的示例性示意图;
图5是本申请一实施例的数据模型设计模块提供的第四可视化界面的示例性示意图;
图6是本申请一实施例的接口配置模块提供的第五可视化界面的示例性示意图;
图7是本申请一实施例的环境部署模块提供的第六可视化界面的示例性示意图。
具体实施方式
为让本申请的上述目的、特征和优点能更明显易懂,以下结合附图对本申请的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请还可以采用其它不同于在此描述的其它方式来实施,因此本申请不受下面公开的具体实施例的限制。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
在本申请的描述中,需要理解的是,方位词如“前、后、上、下、左、右”、“横向、竖向、垂直、水平”和“顶、底”等所指示的方位或位置关系通常是基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,在未作相反说明的情况下,这些方位词并不指示和暗示所指的装置或元件必须具有特定的方位或者以特定的方位构造和操作,因此不能理解为对本申请保护范围的限制;方位词“内、外”是指相对于各部件本身的轮廓的内外。
此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。
为了便于描述,在这里可以使用空间相对术语,如“在……之上”、“在……上方”、“在……上表面”、“上面的”等,用来描述如在图中所示的一个器件或特征与其他器件或特征的空间位置关系。应当理解的是,空间相对术语旨在包含除了器件在图中所描述的方位之外的在使用或操作中的不同方位。例如,如果附图中的器件被倒置,则描述为“在其他器件或构造上方”或“在其他器件或构造之上”的器件之后将被定位为“在其他器件或构造下方”或“在其他器件或构造之下”。因而,示例性术语“在……上方”可以包括“在……上方”和“在……下方”两种方位。该器件也可以其他不同方式定位(旋转90度或处于其他方位),并且对这里所使用的空间相对描述作出相应解释。
本申请的应用开发系统主要应用在针对重复性高、复杂度不高、轻量型、急迫性或者需要进行快速业务试错的应用需求场景。
图1是本申请一实施例的应用开发系统的架构图。参考图1所示,该实施例的应用开发系统100采用PaaS架构,该应用开发系统100包括租户管理模块101、角色分配模块102、页面设计模块103、数据模型设计模块104、接口配置模块105和环境部署模块106。本申请的应用开发系统100中的上述各个模块可以通过由处理器和存储器构成的计算机硬件设备实现,具体为上述各个模块作为程序单元存储于存储器中,由处理器执行存储在存储器中的各程序单元来实现线程控制。
示例性地,租户管理模块101用于提供第一可视化界面201(参考图2所示)供用户配置租户,并根据用户的租户配置指令生成至少一个租户。角色分配模块102用于提供第二可视化界面301(参考图3所示)供用户为租户分配具有相应操作权限的角色。页面设计模块103用于提供第三可视化界面401(参考图4所示)供用户设计页面,且根据用户在第三可视化界面401中拖拽的页面组件生成对应于角色的页面。数据模型设计模块104用于提供第四可视化界面501(参考图5所示)供用户设计对应于角色的数据模型,数据模型包括数据存储单元;接口配置模块105用于提供第五可视化界面601(参考图6所示)供用户配置接口,接口包括通用接口和自定义接口。环境部署模块106用于提供第六可视化界面701(参考图7所示)供用户部署应用环境及在应用环境中创建应用。
图2是本申请一实施例的租户管理模块提供的第一可视化界面的示例性示意图,参考图2所示,图2中的运维2011、监控管理2012等为独立租户。本申请的应用开发系统100对应用访问、数据库空间、计算资源都做了租户设计,以隔离应用相应的数据,在独立空间内完成应用的开发和部署,开发人员在第一可视化界面201中配置一个或多个租户,租户管理模块101根据相应的租户配置指令生成租户。使用多租户技术以实现多个租户之间共享系统实例,同时实现租户的系统实例的个性化定制,通过使用多租户技术保证系统共性的部分被共享,个性的部分被单独隔离。数据的隔离通过分库方式完成,示例性地,分库方式指的是数据库的选择,开发人员可以选择目前已有的数据库或者开发系统提供的数据库,默认每个租户分配一个数据库实例。数据库实例是程序,是位于用户和操作系统之间的一层数据管理软件,是访问数据库的通道。本申请使应用开发人员通过租户管理模块101的第一可视化界面201配置所需租户,通过租户隔离数据,在独立空间内完成开发和部署。
本申请基于PaaS架构分配计算资源,PaaS架构提供了应用部署需要的资源和计算能力,应用能共享计算资源。本申请使开发人员对应用从设计开发到部署访问全部在本开发系统完成。开发人员在租户下创建应用,在应用内处理页面、数据、函数接口、角色、权限等功能,通过配置化完成应用的业务。本申请的应用开发系统100的角色分配模块102、页面设计模块103、数据模型设计模块104、接口配置模块105、环境部署模块106提供了相应的可视化界面,方便用户进行相应的配置、创建操作等,这些模块的详细内容将在后文说明。
在一些实施例中,租户管理模块101还用于在第一可视化界面201上展示租户的应用所需的计算资源。通过这样的设置,开发人员可以直观了解租户应用所需计算资源的情况,便于选择、分配适合的计算资源。
图3是本申请一实施例的角色分配模块提供的第二可视化界面的示例性示意图。在一些实施例中,角色包括租户管理员、租户开发者、租户普通用户、应用管理员、应用开发者、应用普通用户中的一类或多类。示例性地,参考图3所示,在第二可视化界面301上,在各独立的租户中进行角色分配,例如点击新增角色3011按钮后,创建角色名称为普通用户3012的角色,并为该角色分配相应的权限。本申请的应用开发系统100定义的角色中,租户管理员负责授权并可以管理租户内的事项;租户开发者可以创建应用;租户普通用户能访问应用;应用管理员可以管理应用的授权;应用开发者可以开发应用;应用普通用户只能访问应用。本申请对角色名称、角色权限的设置不做限制,可以根据实际情况自主选择。本申请通过角色分配模块102的第二可视化界面301为租户分配具有相应操作权限的角色,赋予各租户不同的功能。
图4是本申请一实施例的页面设计模块提供的第三可视化界面的示例性示意图。在一些实施例中,页面组件由JSON数据的格式定义,页面设计模块103通过前端框架将JSON数据渲染为页面元素,并实时监听JSON数据以实时更新页面组件。示例性地,参考图4所示,在第三可视化界面401中通过拖拽页面组件4011生成相应页面。页面组件4011可拖拽移动,是可视化的前端开发组件。本申请的应用开发系统100定义页面组件4011由JSON(JavaScript Object Notation)数据的格式进行输入,通过前端框架React库将JSON数据渲染为页面元素。采用实时监听方式,允许开发人员动态修改JSON数据以保持实时更新。当开发人员保存数据时,将当前页面的完整JSON数据保存到数据库内,访问页面时再读取JSON数据并解析成页面元素。在此过程中,加载开发人员的权限,并对相应的页面组件4011设置隐藏可见、可写禁用等属性。
在一些实施例中,页面组件4011包括校验设置项,校验设置项用于设定页面组件对输入数据的校验规则。
在一些实施例中,页面组件4011还包括接口设置项,接口设置项用于设定页面组件调用的数据。
示例性地,参考图4所示,本申请的应用开发系统100包括大量日常常用的页面组件4011,页面组件4011上设置有对输入数据的校验设置项,开发人员可根据实际情况设定相应的校验规则,易用性强,并允许开发人员根据规则自定义页面组件4011,同时在页面组件4011上预留了对接接口的接口设置项,方便应用程序编程接口(ApplicationProgramming Interface,API)调用数据。本申请通过拖拽页面设计模块103的第三可视化界面401中的不同页面组件4011以生成内容丰富的页面,通过页面进行数据库建模并自动生成数据表。
在一些实施例中,数据模型包括数据名称、数据类型和数据大小;数据模型设计模块104还用于根据数据模型生成增删改查模型接口,增删改查模型接口用于供角色进行数据的增加、删除、修改和查询操作。
图5是本申请一实施例的数据模型设计模块提供的第四可视化界面的示例性示意图,示例性地,参考图5所示,在第四可视化界面501设计数据模型,本申请的数据模型作为数据存储单元,该数据模型定义数据名称、数据类型和数据大小,通过数据模型可自动生成增删改查模型接口。
在一些实施例中,数据模型设计模块104配置为按照如下方式根据数据模型生成增删改查模型接口:
创建不同类型的接口数据,为接口数据生成接口编号并保存至接口表;
存储条件逻辑和返回字段至接口表;
存储角色的接口条件至接口表,接口条件用于控制不同角色访问数据的权限;
存储查询条件至接口表,查询条件在组合拼接后用于多表组合查询;
根据接口数据、条件逻辑、返回字段、接口条件、查询条件生成增删改查模型接口。
示例性地,参考图1和图5所示,数据模型设计模块104提供第四可视化界面501供用户设计数据模型,开发人员在相应的界面上能创建表结构5011,在第四可视化界面501上就能实现建表操作。生成增删改查模型接口的实现方式是:
(1)创建五种类型(select,insert,update,get,delete)的接口数据,为接口数据生成随机接口编号保存到接口表。示例性地,五种类型的接口数据都会生成独立的接口编号以及访问字符串。
(2)在接口表内同时存储条件逻辑(=,not in,in,like,between,>,<等)及返回字段。示例性地,返回字段指的是配置所需返回范围的字段,例如结构化查询语言(Structured Query Language,SQL)语句执行后可指定结果集的内容,如查询某张表一共10个字段,可指定返回字段为3个字段。
(3)存储角色的接口条件至接口表,接口条件用于控制不同角色访问数据的权限;存储查询条件至接口表,查询条件在组合拼接后用于多表组合查询;根据接口数据、条件逻辑、返回字段、接口条件、查询条件生成增删改查模型接口。
示例性地,当模型接口被查询调用时,根据模型接口的数据取条件逻辑和返回字段过滤后返回给页面。根据预先存入的模型接口信息找到对应的SQL信息,应用开发系统100会自动转为执行语句和数据处理的代码,通过配置,实现原本需要逐步编写代码的过程。
对于不同角色访问不同数据的权限控制,通过在角色对应的接口表内保存接口条件来进行过滤,该数据可在角色配置时定义,查询条件可分为固定参数、系统参数、方法参数,例如查询访问角色名下的数据,可绑定特定字段为系统参数“CURRENT_USER”。
对于多表组合查询,将查询条件组合拼接后过滤,能实现关联查询和多表操作。示例性地,多表组合查询,例如处理普通表时,处理A表后,根据A表的部分结果,再次对B表、C表两张表进行处理。
示例性地,本申请的应用开发系统100在数据模型配置完毕并生成数据表后,会同时根据预设的规则存储对应的增删改查接口的数据。通过读取上述存储的数据可转换为供应用系统访问的接口。对应接口的访问链接,可以在系统中直接查询,对于关系复杂的查询,系统还支持多表关联的对应接口配置。
本申请的应用开发系统100预设了多种风格页面的模板,将模板的JSON页面数据与模型字段、接口进行填充,可一键生成增删改查通用页面,开发人员可根据业务选择对应的模板生成页面,无需从零开发。本申请通过数据模型设计模块104的第四可视化界面501设计包括数据存储单元的数据模型,可以自动生成对数据进行增删改查的模型接口。
图6是本申请一实施例的接口配置模块提供的第五可视化界面的示例性示意图。在一些实施例中,接口配置模块105集成了通用接口,通用接口包括文件的上传接口、下载接口、分享接口、预览接口中的一类或多类。
参考图6所示,接口配置模块105提供第五可视化界面601供用户配置接口,示例性地,在第五可视化界面601中点击新增关联模型接口6011按钮后以配置通用接口、自定义接口。为最大限度减少重复性功能开发,对于高频重复性功能,本申请在接口配置模块105封装了多个通用接口,范围包括但不限于:文件类的上传、下载、分享、预览功能,通知类的如邮件、短信、钉钉工单,并集成了与企业内部其他自建系统如监控、日志、运维、配置管理数据库(Configuration Management Database,CMDB)等第三方系统。在基于本申请的应用开发系统100进行开发时,可以直接引用上述功能,无需重复开发。
在一些实施例中,自定义接口采用函数即服务(Function as a service,FaaS)架构,接口配置模块105根据用户配置自定义接口的指令生成自定义接口,其中生成自定义接口的步骤包括:
请求连接租户的应用,获得授权信息;
提供函数模板的列表;
拉取相应的函数模板,在本地创建代码目录,下载函数模板的源代码至代码目录;
将源代码推送至服务器,创建镜像并将镜像推送至仓库;
将镜像部署至应用,并启动容器生成自定义接口的链接;
设置应用的函数实例;
读取函数实例的运行日志;
调用自定义接口,显示调用结果。
示例性地,本申请的应用开发系统100对自定义接口采用FaaS架构,对于应用开发者来说不需要拥有服务器,而是利用租户内的共享服务计算资源来部署服务。该方案利用Kubernetes构建函数服务的能力,通过定制常用编程语言基础模板,配置函数构建文件,通过命令行工具将函数代码推送到镜像仓库并实现部署。接口配置模块105根据用户配置自定义接口的指令生成自定义接口的步骤包括:
(1)请求连接租户下的应用获得授权信息,从而可以获取应用提供的资源能力。
(2)显示函数模板列表,该接口提供编程语言模板,包括常用的Python、Java的函数源码。
(3)通过拉取相应的函数模板代码,在本地创建代码目录,通过接口下载函数模板的源代码至代码目录。
(4)将本地源代码推送至远端服务器,构建镜像并推送至仓库。
(5)部署镜像到应用服务,通过Kubernetes启动容器,生成自定义接口的链接。
(6)启停及扩容应用的函数实例,控制实例数。
(7)查看函数实例的运行日志。
(8)本地调度函数,触发自定义接口调用,显示调用结果。
在一些实施例中,应用环境包括:开发环境、测试环境、灾备环境、生产环境中的一类或多类。
在一些实施例中,应用环境包括开发环境和测试环境,在开发环境中创建应用后,应用开发系统100将应用的相关数据记录在应用数据表中,并将应用数据表通过消息队列传输至测试环境,其中应用的相关数据包括但不限于:页面组件和数据模型。
图7是本申请一实施例的环境部署模块提供的第六可视化界面的示例性示意图。示例性地,参考图1和图7所示,在第六可视化界面701中部署应用环境及在应用环境中创建应用。基于本申请的应用开发系统100开发的应用程序,可以通过版本同步功能,发布至内部的各个目标环境7011。环境的类型包括开发环境、测试环境、灾备环境、生产环境。本申请的应用开发系统100在开发环境创建应用后,会将应用、页面、数据模型等相关数据记录在对应的应用数据表中。应用编辑或开发完成,在第六可视化界面701点击提交7012按钮后,自动将应用数据表以异步的消息队列传输至所需要的应用环境中,比如从开发环境同步至测试环境。在接收到应用相关的数据后,会解析成页面组件的页面元素、数据表、以及配套的操作代码,在验证完毕后,可通过修改应用的状态,开启整个应用供用户使用。本申请通过环境部署模块106的第六可视化界面701部署应用环境以及创建应用,应用可以快速部署并在多个应用环境中使用,完成了应用的快速开发,以快速交付指定业务。
本申请的应用开发系统100对于开发人员学习成本低,入门门槛低,能快速实现需求,让开发人员专注于业务,具有简单性、易用性、可扩展性、高可用、可视化、简化运维等特性。
本申请的技术方案采用PaaS架构,提供了应用部署需要的资源和计算能力,应用能共享计算资源;应用开发人员通过租户管理模块101的第一可视化界面201配置所需租户,通过租户隔离数据,在独立空间内完成开发和部署;通过角色分配模块102的第二可视化界面301为租户分配具有相应操作权限的角色,赋予各租户不同的功能;通过拖拽页面设计模块103的第三可视化界面401中的不同页面组件以生成内容丰富的页面,通过页面进行数据库建模并自动生成数据表;通过数据模型设计模块104的第四可视化界面501设计包括数据存储单元的数据模型,自动生成对数据进行增删改查的模型接口;通过接口配置模块105的第五可视化界面601配置通用接口、自定义接口,最大限度减少重复性功能开发;通过环境部署模块106的第六可视化界面701部署应用环境以及创建应用,应用可以快速部署并在多个应用环境中使用,完成了应用的快速开发,以快速交付指定业务。
本申请通过配置化的方式开发业务所需应用,普通IT人员也能快速上手完成应用开发,降低了开发人员的学习门槛;页面组件丰富,可拖拽页面组件自定义生成场景丰富的页面,使应用页面更容易实现;采用PaaS架构搭建应用开发系统100,提供了应用部署需要的资源和计算能力,用户应用能共享计算资源,快速交付业务,降低了应用的部署成本;应用节点通过容器化部署,以函数形式注入,可根据业务请求量弹性扩容,例如在业务访问量高时动态增加对应的容器数量,提供稳定可靠的应用服务能力,降低了应用的运维成本;应用开发完成后可以快速部署应用到多个应用环境中使用,缩短了应用的交付周期。
本申请的实施方式还公开了一种应用开发方法,适用于如前文所述的应用开发系统100,该应用开发方法包括:在租户管理模块的第一可视化界面中配置租户,生成至少一个租户;在角色分配模块的第二可视化界面中为租户分配具有相应操作权限的角色;在页面设计模块的第三可视化界面中设计页面,在第三可视化界面中拖拽页面组件以生成页面,页面对应于角色;在数据模型设计模块的第四可视化界面中设计数据模型,数据模型包括数据存储单元,数据模型对应于角色;在接口配置模块的第五可视化界面中配置接口,接口包括通用接口和自定义接口;在环境部署模块的第六可视化界面中部署应用环境及在应用环境中创建应用。
需要说明的是,前文所述的应用开发系统100的内容均可用于说明该应用开发方法,此处的应用开发方法仅作为在本申请的应用开发系统100上开发应用的一个实施例。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述申请披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DAPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘CD、数字多功能盘DVD……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
虽然本申请已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本申请,在没有脱离本申请精神的情况下还可作出各种等效的变化或替换,因此,只要在本申请的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
Claims (13)
1.一种应用开发系统,所述应用开发系统采用PaaS架构,其特征在于,包括:
租户管理模块,用于提供第一可视化界面供用户配置租户,所述租户管理模块根据所述用户的租户配置指令生成至少一个租户;
角色分配模块,用于提供第二可视化界面供所述用户为所述租户分配具有相应操作权限的角色;
页面设计模块,用于提供第三可视化界面供所述用户设计页面,所述页面设计模块根据所述用户在所述第三可视化界面中拖拽的页面组件生成页面,所述页面对应于所述角色;
数据模型设计模块,用于提供第四可视化界面供所述用户设计数据模型,所述数据模型包括数据存储单元,所述数据模型对应于所述角色;
接口配置模块,用于提供第五可视化界面供所述用户配置接口,所述接口包括通用接口和自定义接口;
环境部署模块,用于提供第六可视化界面供所述用户部署应用环境及在所述应用环境中创建应用。
2.如权利要求1所述的应用开发系统,其特征在于,所述租户管理模块还用于在所述第一可视化界面上展示所述租户的应用所需的计算资源。
3.如权利要求1所述的应用开发系统,其特征在于,所述角色包括:租户管理员、租户开发者、租户普通用户、应用管理员、应用开发者、应用普通用户中的一类或多类。
4.如权利要求1所述的应用开发系统,其特征在于,所述页面组件由JSON数据的格式定义,所述页面设计模块通过前端框架将所述JSON数据渲染为页面元素,并实时监听所述JSON数据以实时更新所述页面组件。
5.如权利要求1所述的应用开发系统,其特征在于,所述页面组件包括校验设置项,所述校验设置项用于设定所述页面组件对输入数据的校验规则。
6.如权利要求5所述的应用开发系统,其特征在于,所述页面组件还包括接口设置项,所述接口设置项用于设定所述页面组件调用的数据。
7.如权利要求1所述的应用开发系统,其特征在于,所述数据模型包括数据名称、数据类型和数据大小;所述数据模型设计模块还用于根据所述数据模型生成增删改查模型接口,所述增删改查模型接口用于供所述角色进行数据的增删改查操作。
8.如权利要求7所述的应用开发系统,其特征在于,所述数据模型设计模块配置为按照如下方式根据所述数据模型生成所述增删改查模型接口:
创建不同类型的接口数据,为所述接口数据生成接口编号并保存至接口表;
存储条件逻辑和返回字段至所述接口表;
存储所述角色的接口条件至所述接口表,所述接口条件用于控制不同角色访问数据的权限;
存储查询条件至所述接口表,所述查询条件在组合拼接后用于多表组合查询;
根据所述接口数据、所述条件逻辑、所述返回字段、所述接口条件、所述查询条件生成所述增删改查模型接口。
9.如权利要求1所述的应用开发系统,其特征在于,所述接口配置模块集成了所述通用接口,所述通用接口包括文件的上传接口、下载接口、分享接口、预览接口中的一类或多类。
10.如权利要求1所述的应用开发系统,其特征在于,所述自定义接口采用FaaS架构,所述接口配置模块根据所述用户配置自定义接口的指令生成所述自定义接口,其中生成所述自定义接口的步骤包括:
请求连接所述租户的应用,获得授权信息;
提供函数模板的列表;
拉取相应的所述函数模板,在本地创建代码目录,下载所述函数模板的源代码至所述代码目录;
将所述源代码推送至服务器,创建镜像并将所述镜像推送至仓库;
将所述镜像部署至所述应用,并启动容器生成所述自定义接口的链接;
设置所述应用的函数实例;
读取所述函数实例的运行日志;
调用所述自定义接口,显示调用结果。
11.如权利要求1所述的应用开发系统,其特征在于,所述应用环境包括:开发环境、测试环境、灾备环境、生产环境中的一类或多类。
12.如权利要求1所述的应用开发系统,其特征在于,所述应用环境包括开发环境和测试环境,在所述开发环境中创建所述应用后,所述应用开发系统将所述应用的相关数据记录在应用数据表中,并将所述应用数据表通过消息队列传输至所述测试环境,其中所述应用的相关数据包括但不限于:所述页面组件和所述数据模型。
13.一种应用开发方法,适用于如权利要求1-12任一项所述的应用开发系统,其特征在于,所述方法包括:
在租户管理模块的第一可视化界面中配置租户,生成至少一个租户;
在角色分配模块的第二可视化界面中为所述租户分配具有相应操作权限的角色;
在页面设计模块的第三可视化界面中设计页面,在所述第三可视化界面中拖拽页面组件以生成页面,所述页面对应于所述角色;
在数据模型设计模块的第四可视化界面中设计数据模型,所述数据模型包括数据存储单元,所述数据模型对应于所述角色;
在接口配置模块的第五可视化界面中配置接口,所述接口包括通用接口和自定义接口;
在环境部署模块的第六可视化界面中部署应用环境及在所述应用环境中创建应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211464779.3A CN115964030A (zh) | 2022-11-22 | 2022-11-22 | 应用开发系统及应用开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211464779.3A CN115964030A (zh) | 2022-11-22 | 2022-11-22 | 应用开发系统及应用开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115964030A true CN115964030A (zh) | 2023-04-14 |
Family
ID=87356897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211464779.3A Pending CN115964030A (zh) | 2022-11-22 | 2022-11-22 | 应用开发系统及应用开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115964030A (zh) |
-
2022
- 2022-11-22 CN CN202211464779.3A patent/CN115964030A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825362B (zh) | 低代码应用软件开发系统及方法 | |
CN109597814B (zh) | 一种后台管理信息系统的在线快速交付系统 | |
US8712953B2 (en) | Data consumption framework for semantic objects | |
WO2015078343A1 (zh) | 用于web开发系统的开发方法和web开发系统 | |
WO2018036342A1 (zh) | 基于csar的模型文件的可视化设计方法及装置 | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
US9245256B2 (en) | Assigning and managing reviews of a computing file | |
KR20160128940A (ko) | 사용자 폼 인터페이스의 자동 생성 방법 및 시스템 | |
US20210357584A1 (en) | Describing changes in a workflow based on changes in structured documents containing workflow metadata | |
CN109471580B (zh) | 一种可视化3d课件编辑器及课件编辑方法 | |
US20190005228A1 (en) | Trusted and untrusted code execution in a workflow | |
US7168062B1 (en) | Object-oriented software system allowing live modification of an application | |
JP2023070148A (ja) | ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法 | |
CN114217951A (zh) | 一种多云多集群的kubernetes集群管理方法及系统 | |
KR102397494B1 (ko) | 로우(Low) 코드 웹 개발 및 운영 시스템 및 이를 이용한 서비스 방법 | |
US10452371B2 (en) | Automating enablement state inputs to workflows in z/OSMF | |
US9904452B2 (en) | Building user specific user interface instances | |
US11675748B2 (en) | External data repository file integration using a virtual file system | |
CN112604273B (zh) | 数据驱动的游戏系统功能加载方法、设备及存储介质 | |
CN113467773A (zh) | 一种实现机器人流程自动化的流程代码复用的方法 | |
KR101902191B1 (ko) | 질의 기반 소프트웨어 논리의 동적 변경 및 실행을 위한 멀티테넌트 지원 장치 및 방법 | |
CN115964030A (zh) | 应用开发系统及应用开发方法 | |
TW201725542A (zh) | 表單管理系統及方法 | |
CN115469807A (zh) | 磁盘功能配置方法、装置、设备及存储介质 | |
CN115328462A (zh) | 一种基于Vue.js的可视化开发工具及使用方法 |
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 |