CN113703749B - 一种基于可视化编程技术的信息系统及其构建方法 - Google Patents
一种基于可视化编程技术的信息系统及其构建方法 Download PDFInfo
- Publication number
- CN113703749B CN113703749B CN202111038740.0A CN202111038740A CN113703749B CN 113703749 B CN113703749 B CN 113703749B CN 202111038740 A CN202111038740 A CN 202111038740A CN 113703749 B CN113703749 B CN 113703749B
- Authority
- CN
- China
- Prior art keywords
- component
- application
- management
- module
- code
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 44
- 238000005516 engineering process Methods 0.000 title claims abstract description 20
- 238000010276 construction Methods 0.000 title abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000013499 data model Methods 0.000 claims abstract description 15
- 238000007726 management method Methods 0.000 claims description 97
- 230000006870 function Effects 0.000 claims description 57
- 238000011161 development Methods 0.000 claims description 38
- 238000013461 design Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 20
- 238000004806 packaging method and process Methods 0.000 claims description 14
- 238000012550 audit Methods 0.000 claims description 13
- 230000000694 effects Effects 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000013480 data collection Methods 0.000 claims description 3
- 238000003032 molecular docking Methods 0.000 claims 1
- 230000033772 system development Effects 0.000 abstract description 2
- 230000018109 developmental process Effects 0.000 description 39
- 230000006399 behavior Effects 0.000 description 7
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 210000001503 joint Anatomy 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F8/34—Graphical or visual programming
-
- 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
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种基于可视化编程技术的信息系统及其构建方法,属于软件信息系统开发技术领域。所述的基于可视化编程技术的信息系统包括底层组件模块、数据模型模块、可视化编程模块、自动化部署模块,所述底层组件模块中含有若干组件,能够用于信息系统运行的各个环节;所述数据模型模块为一组对信息系统所需数据进行操作的组件库,所述可视化编程模块提供的一套所见即所得的软件设计工具;所述自动化部署模块为在系统用户开发的应用程序完成后,由平台接管余下的代码自动化生成和部署环节。本发明提供一种新型的构建软件应用系统、信息系统的方法,由组件开发人员、系统用户、系统管理员组成,使企业在开发新的业务应用时节省成本。
Description
技术领域
本发明属于软件信息系统开发技术领域,具体涉及一种基于可视化编程技术的信息系统及其构建方法。
背景技术
目前在软件开发领域,尤其是基于浏览器的web应用程序和手机app应用程序,传统开发模式是由产品经理、界面设计人员、软件架构设计师、界面代码编程人员、软件后台编程人员,辅以软件测试人员共同配合完成的系统性工程。现代信息系统逐渐向大型化、复杂化发展,同时具有业务需求灵活多变、系统版本更新频繁的特点。虽然随着技术的进步,软件开发的难度也在降低,但传统开发模式仍然体现了如下缺点:1、开发团队成员角色复杂多样,必然导致管理困难、协调沟通环节多、技术能力差距大的挑战,进而影响整体软件开发的成本和进度,这也是当前企业级软件产品价格居高不下的原因之一;2、需求响应速度慢。现代应用系统快速发展,业务需求不断变化,而在传统开发模式下,为了响应新的需求,需要从设计到编程、测试,经过一系列的验证和实践,才能保证在系统可用的前提下增加功能;3、系统维护困难。系统上线后,为了保证系统正常运行,尤其是大型信息系统,难免对产生的错误和问题进行修改或维护。而一旦超过了系统运维期,再进行系统的维护将会产生大量的维护费用,如果原开发团队解散,甚至会形成无法继续维护的窘境。
近年来,针对传统开发模式的弊端,渐渐出现了新兴的“低代码开发平台”,商业厂家提供基于可视化编程的方式来为客户提供自主应用开发服务,这在一定程度上解决了上述传统开发模式的问题。但同时也带来了相应的不足:1、通常此类服务为适应各行业用户千变万化的需求,会提供非常复杂的功能,使用户的学习成本和使用难度增加;2、厂家捆绑一系列服务,按照时间进行收费,长期使用下来,成本仍然居高不下;3、依赖性强。一旦使用了厂家的服务,并用于正常的生产和业务流转,便很难脱离或迁移,令用户进入被动消费局面。
发明内容
本发明通过提供一种基于可视化编程技术的信息系统及其构建方法,以解决以上技术问题。
为实现上述目的,本发明的技术解决方案是:
一种基于可视化编程技术的信息系统,包括底层组件模块、数据模型模块、可视化编程模块、自动化部署模块,
所述底层组件模块中含有若干组件,所述组件是一种功能能够被复用且不与其他功能产生必要依赖关系的最小应用程序,用于承接数据的采集、数据的清理、数据的呈现、数据的对接、业务功能对数据的应用、界面要素的呈现,能够用于信息系统运行的各个环节;
所述数据模型模块为一组对信息系统所需数据进行操作的组件库,包括数据组件库和业务组件库,所述数据组件库包括数据采集组件、数据模型组件、数据可视组件;所述业务组件库包括界面组件、表单组件、流程组件;
所述可视化编程模块提供的一套所见即所得的软件设计工具,能够将现有组件根据业务需要进行编排,以实现系统用户自主设计并开发应用程序;
所述自动化部署模块为在系统用户开发的应用程序完成后,由平台接管余下的代码自动化生成和部署环节,无需开发人员干预,应用程序即可上线运行。
优选地,所述软件设计工具包括界面设计器、组件选择器、组件属性配置、事件驱动管理、代码能力嵌入、流程设计、实时效果预览、代码生成预览,实现复杂的逻辑交互。
优选地,所述信息系统还包括应用管理模块,所述应用管理模块为系统管理员提供其对所有组件和生成的应用程序进行管理的功能;包括组件和应用程序的上架、下架、更新管理、应用程序的使用权限分配管理、组件的调用权限分配管理、组件和应用程序调用记录审计、平台参与者管理。
本发明还提供一种基于可视化编程技术的信息系统的构建方法,包括以下步骤:
步骤1:建立组件的支撑层底座:在单机服务器或服务器集群中安装和搭建信息化平台所需的基础应用和服务,包括数据库服务、文件存储、大数据平台、中间件、音视频服务、第三方SDK,保证这些服务可以通过接口调用方式为上层应用提供功能;
步骤2:建立可视化编程模块:可视化编程技术通过所见即所得的软件设计工具,提供软件应用界面设计器,用户通过鼠标拖拽方式将组件在设计器中进行编排,并以可视化的方式配置组件的属性和行为,即可实时呈现软件应用功能,并实时生成代码;
步骤3:建立自动化部署模块:将生成的代码以指定流程在后台自动完成打包、分发、上线、更新;基于容器化技术将代码打包并封装到镜像中,通过计算机脚本自动完成镜像文件的分发,将其复制到服务器集群中,最终通过容器管理命令将镜像文件发布为容器并进行生命周期管理;
步骤4:建立应用管理模块:包括应用运行环境平台和应用管理平台,其中应用运行环境平台是已生成应用的主入口和展示平台,应用管理平台是系统管理人员在该平台中进行整个系统的运维管理的介质。
优选地,所述步骤2中可视化编程模块包含界面设计器、组件选择器、组件属性配置、事件驱动管理、代码能力嵌入、流程设计、实时效果预览、代码生成预览;
所述界面设计器支持组件的拖放和布局,支持鼠标拖动改变组件位置和大小,支持选择一个或多个组件,并进行编辑和删除操作;
所述组件选择器为将组件库中的组件按分类进行展示和预览,同时允许用户以拖动的方式将组件放置到所述界面设计器区域中,并提供组件效果展示、组件选择、位置移动的操作功能;
所述组件属性配置为将所选组件的可选配置项在屏幕中进行展示,交由用户为所选组件的可配置项进行定制化修改,从而改变组件的形态,包括界面样式、根据状态而改变的组件内容;
所述事件驱动管理为由用户为组件定义组件交互时的行为和事件响应方法,提供对自定义响应方法的后续解析和匹配的功能,从而实现用户对组件动态行为的管理和定义;
所述代码能力嵌入为在系统中提供代码编译器,接收用户自定义的javascript代码,将此代码整合至系统所生成的代码中,编译器对此两种代码进行共同编译执行;
所述流程设计为由用户自定义流程各节点,从而控制已开发的系统应用间的流转顺序,系统采用整合现有流程引擎的方式实现;
所述实时效果预览为将当前设计的应用进行预览,在窗口中显示各组件当前的运行状态和事件响应情况,从而实现对当前设计的测试;
所述代码生成预览为将设计器中设计的应用进行预览,在窗口中显示当前设计状态下所生成的代码,供专业人员调试功能时使用。
优选地,所述事件驱动管理中,所述组件的事件包括鼠标单击、双击、右键单击、键盘按键事件等,本功能可以响应这些事件;所述自定义响应方法包括预置的打开组件、控制其他组件的显示和隐藏、调整其他组件的属性配置,由用户选择事件所对应的响应方法。
优选地,所述步骤3建立自动化部署模块中,
所述代码打包包括前端页面代码的封装和后台逻辑代码的封装,代码生成后,按照程序各自的开发语言规范进行封装,形成运行时环境可用的部署包;
所述镜像文件的分发为通过服务器命令将镜像文件分发到服务器集群的各节点中,以便进一步完成镜像的发布和运行;或分发至集群管理节点,由管理节点统一进行容器的管理。
优选地,所述步骤4建立应用管理模块中,
所述应用运行环境平台包括统一的用户登录、按权限划分的应用访问列表、按角色划分的功能列表;
所述应用管理平台包括组件物料库的管理、已生成应用的管理、组件开发人员管理、应用设计人员管理、应用使用人员管理、应用权限管理、应用设计流程审计、应用访问情况审计、应用上线和更新管理。
优选地,所述构建方法还包括制定一套开发组件的技术标准,所述技术标准包括定义组件功能范围的原则、界面开发所用到的编程语言、调用其他组件的编码规范、定制本身界面元素所需的参数、组件保存时的文件形式。
优选地,所述技术标准还包括数据模型组件的开发标准,此标准独立于可视化编程模块。
本发明的有益效果是:
1、本发明提供一种新型的构建软件应用系统、信息系统的方法,由组件开发人员、系统用户、系统管理员组成的信息系统开发新模式,使企业或单位由采购外部软件系统或内部组建开发团队的模式,转变为建立基于可视编程技术的信息系统构建体系,使内部业务人员成为系统的开发人员,从而使企业或单位在开发新的业务应用时节省时间成本和人力成本、资金成本。
2、本发明提供一套开发组件的技术标准,得益于组件的开发标准,可随时结合外部的开发人员,基于标准进行组件开发,丰富组件物料库,随着组件的增多,可用物料更多,逐渐达到稳定状态。
3、能够提升大型软件系统的一致性,包括统一的用户认证和鉴权管理;统一的界面风格,包括应用间的风格,不同终端种类间的风格,便于使用;应用功能操作模式的统一;组件开发方式的统一,消除对特定开发团队的依赖。
4、此新型开发模式可适用于大型企业或政府单位构建内部业务应用群,实现快速开发、快速响应、降低成本、可控应用分发等目标。可适用于软件开发公司,实现为客户快速开发的目的,从而提升服务水平。
5、开发者仅需了解所开发组件的功能,避免提供过多企业内部信息。同时,由于数据和功能的自动化封装,减少了人工的参与度,从而降低关键信息泄露的风险。
附图说明
图1是本发明的系统架构图。
图2是应用开发流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例1
参见图1,一种基于可视化编程技术的信息系统,包括底层组件模块、数据模型模块、可视化编程模块、自动化部署模块,
所述底层组件模块中含有若干组件,所述组件是一种功能能够被复用且不与其他功能产生必要依赖关系的最小应用程序,用于承接数据的采集、数据的清理、数据的呈现、数据的对接、业务功能对数据的应用、界面要素的呈现,能够用于信息系统运行的各个环节;包括数据库服务、文件存储、大数据平台、中间件、音视频服务、第三方SDK等。一个组件的功能范围取决于设计人员对业务功能的抽象,对其输入输出项和行为方法进行定义,另外由软件开发人员通过编写代码的方式实现,并保存于组件库中,供用户和其他组件调用。
所述数据模型模块为一组对信息系统所需数据进行操作的组件库,组件库包括数据组件库和业务组件库,所述数据组件库包括数据采集组件、数据模型组件、数据可视组件等;所述业务组件库包括界面组件、表单组件、流程组件等。
所述可视化编程模块提供的一套所见即所得的软件设计工具,能够将现有组件根据业务需要进行编排,以实现系统用户自主设计并开发应用程序;所述软件设计工具包括界面设计器、组件选择器、组件属性配置、事件驱动管理、代码能力嵌入、流程设计、实时效果预览、代码生成预览,实现复杂的逻辑交互。优选地,所述软件设计工具还包括当前生成代码预览功能和保存当前工作状态功能,防止设计的应用状态丢失。
所述自动化部署模块为在系统用户开发的应用程序完成后,由平台接管余下的代码自动化生成和部署环节,无需开发人员干预,应用程序即可上线运行。具有代码生成模板定制功能,影响生成代码的效率和质量;自动化部署模块包括自动打包、基于容器技术的自动发布和持续集成。具体的,自动化部署模块包括前端代码、后台代码、中间件、打包工具、NPM、MAVEN、持续集成工具、操作系统、容器化部署docker/k8s等。
进一步地,所述信息系统还包括应用管理模块,所述应用管理模块为系统管理员提供其对所有组件和生成的应用程序进行管理的功能;包括组件和应用程序的上架、下架、更新管理、应用程序的使用权限分配管理、组件的调用权限分配管理、组件和应用程序调用记录审计、平台参与者管理。平台参与者可以是应用设计人员、组件开发人员、应用使用人员。所述应用管理模块还包括对已生成代码进行审计,评审代码质量;对应用生成、使用中所产生的错误进行统计,以便维护和改进。具体包括应用上架管理、统一鉴权管理、应用审计管理、系统运行监测、应用更新管理等。
实施例2
一种基于可视化编程技术的信息系统的构建方法,包括以下步骤:
步骤1:建立组件的支撑层底座:在单机服务器或服务器集群中安装和搭建信息化平台所需的基础应用和服务,包括数据库服务、文件存储、大数据平台、中间件、音视频服务、第三方SDK,保证这些服务可以通过接口调用方式为上层应用提供功能;
步骤2:建立可视化编程模块:可视化编程技术通过所见即所得的软件设计工具,提供软件应用界面设计器,用户通过鼠标拖拽方式将组件在设计器中进行编排,并以可视化的方式配置组件的属性和行为,即可实时呈现软件应用功能,并实时生成代码;
步骤3:建立自动化部署模块:部署是指将生成的代码以指定流程在后台自动完成打包、分发、上线、更新;实现原理是基于容器化技术将代码打包并封装到镜像中,通过计算机脚本自动完成镜像文件的分发,将其复制到服务器集群中,最终通过容器管理命令将镜像文件发布为容器并进行生命周期管理;
步骤4:建立应用管理模块:完成上述步骤的建立后,至此已实现了基本的程序开发能力,需进一步建立应用运行环境平台和应用管理平台。其中应用运行环境平台是已生成应用的主入口和展示平台,作为登录和访问运行的入口,所有已生成应用无法脱离上层运行环境平台,即应用运行环境平台是已生成应用的主入口和展示平台。应用管理平台是系统管理人员在该平台中进行整个系统的运维管理的介质。
步骤5:开发人员按照组件开发标准进行组件的开发,标准内容在后续说明中具体列举。
步骤6:应用设计人员在步骤4中所述平台中,以步骤2所述功能中开始进行可视化的应用开发,其业务功能由设计人员定义。应用层包含应用上架管理、统一鉴权管理、应用审计管理、系统运行监测、应用更新管理等。
进一步地,所述步骤2中可视化编程模块包含界面设计器、组件选择器、组件属性配置、事件驱动管理、代码能力嵌入、流程设计、实时效果预览、代码生成预览;
所述界面设计器支持组件的拖放和布局,支持鼠标拖动改变组件位置和大小,支持选择一个或多个组件,并进行编辑和删除操作;典型的代码如下所示:
以及:
以及:
所述组件选择器为将组件库中的组件按分类进行展示和预览,同时允许用户以拖动的方式将组件放置到所述界面设计器区域中,并提供组件效果展示、组件选择、位置移动的操作功能;
典例的程序代码如下:
所述组件属性配置为将所选组件的可选配置项在屏幕中进行展示,交由用户为所选组件的可配置项进行定制化修改,从而改变组件的形态,包括界面样式、根据状态而改变的组件内容等,取决于组件开发时提供的配置功能,此实现方法将在组件开发标准中说明。
所述事件驱动管理为由用户为组件定义组件交互时的行为和事件响应方法,提供对自定义响应方法的后续解析和匹配的功能,从而实现用户对组件动态行为的管理和定义;所述组件事件包括鼠标单击、双击、右键单击、键盘按键事件等,本功能可以响应这些事件。所述自定义响应方法包括预置的如打开组件、控制其他组件的显示和隐藏、调整其他组件的属性配置等,由用户选择事件所对应的响应方法。此功能典型的实现代码如下:
所述代码能力嵌入为当系统所提供的预置属性、事件响应等不足以实现用户所需功能时,系统支持嵌入开发者自定义代码,使自定义的代码也能够在系统中生效,从而实现更为灵活的系统功能。实现方式为在系统中提供代码编译器,接收用户自定义的javascript代码,将此代码整合至系统所生成的代码中,编译器对此两种代码进行共同编译执行;
所述流程设计为由用户自定义流程各节点,从而控制已开发的系统应用间的流转顺序,系统采用整合现有流程引擎的方式实现;典型代码如下:
以及:
所述实时效果预览为将当前设计的应用进行预览,在窗口中显示各组件当前的运行状态和事件响应情况,从而实现对当前设计的测试;实现方法是将后台生成的代码放到实时编译器中运行,在新打开的窗口中显示运行的结果。所述实时编译器是一个带有web浏览器内核的小型应用,可以作为基础组件由系统进行集成。
所述代码生成预览为将设计器中设计的应用进行预览,在窗口中显示当前设计状态下所生成的代码,供专业人员调试功能时使用。生成代码的实现方式是首先建立代码模板,实现基本的页面布局方式,原理代码如下:
在模板中设置参数占位符;第2步将组件代码替换到占位符位置;第3步从实时生成的代码写入内存或文件中。
上述功能整合即可完成可视化编程模块的建立。
进一步地,所述步骤3建立自动化部署模块中,
所述代码打包包括前端页面代码的封装和后台逻辑代码的封装,代码生成后,按照程序各自的开发语言规范进行封装,形成运行时环境可用的部署包;本实施例以前端node.js、后台以java语言进行说明。前端页面代码打包为node.js规范下的静态html页文件和动态javascript脚本文件,打包命令为npm run build,系统自动提取dist文件夹下的部署文件。进一步地,系统脚本将部署文件打包到nginx服务器镜像中,打包命令代码为:
FROM nginx
COPY docs//usr/share/nginx/html
EXPOSE 80
对于后台java代码,步骤与前述前端代码的打包流程类似,打包命令为mavenpackage。进一步地,系统脚本将java部署文件打包到java虚拟机镜像中,打包命令代码为:
FROM java:8
VOLUME/tmp
COPY target/*.jar*.jar
RUN bash-c"touch/*.jar"
EXPOSE 8080
ENTRYPOINT["java","-jar","*.jar","-c"]
所述镜像文件的分发为通过服务器命令将镜像文件分发到服务器集群的各节点中,以便进一步完成镜像的发布和运行;或分发至集群管理节点,由管理节点统一进行容器的管理。
自动化部署模块还包括应用上线和更新,基本功能包括:将生成的镜像文件发布到容器服务器中,实现应用的上线和持续更新。
进一步地,所述步骤4建立应用管理模块中,
所述应用运行环境平台包括统一的用户登录、按权限划分的应用访问列表、按角色划分的功能列表,如设计人员进行应用设计、管理人员的管理项目列表等。
所述应用管理平台包括组件物料库的管理、已生成应用的管理、组件开发人员管理、应用设计人员管理、应用使用人员管理、应用权限管理、应用设计流程审计、应用访问情况审计、应用上线和更新管理。
是为了解决开发人员所开发组件能被系统所识别并便于修改的技术问题,而制定的一系列开发标准,所述技术标准包括定义组件功能范围的原则、界面开发所用到的编程语言、调用其他组件的编码规范、定制本身界面元素所需的参数、组件保存时的文件形式。优选地,所述技术标准还包括数据模型组件的开发标准,此标准独立于可视化编程模块。
(1)组件的分类,组件按照其在系统中的作用分为业务组件和数据组件两大类型,业务组件适用于页面布局展示、功能逻辑的处理和数据的输出展示。进一步地,业务组件库在系统中内置界面组件、表单组件、页面样式组件、流程组件等基础组件物料,以便生成最简应用。进一步地,系统支持组件开发人员编写符合标准的业务组件,应具备页面样式,可选地具备配置参数功能。数据组件库包括数据采集组件、数据模型组件、数据可视组件以及其他组件。
数据组件负责连接系统的底层支撑服务和上层业务组件。数据组件不具备可展示的页面形态,但应具备接口和可配置的数据连接选项。进一步地,可视化编程设计器为用户提供可对数据组件进行参数配置的界面。
(2)业务组件开发规范:脚本语言JAVAScript采用ECMAScript 6.0以及以下语法、通过props代码块对外部提供参数配置、使用http协议与数据组件进行数据传输,数据格式为json。
(3)数据组件开发规范:不限定数据组件与底层服务通讯时的开发语言,但要保证组件对外部提供http协议的接口,数据格式为json。通过props代码块对外提供参数配置,允许用户选择性的使用数据。通过method代码块提供事件响应功能,允许用户与数据组件进行交互和调用功能,同时在方法中提供参数输入和结果输出的能力。
(4)组件的抽象原则:组件的开发需要先明确组件要完成的需求,确定该组件的分类并规划界面形态。以最小化原则去设计组件功能,明确组件功能边界,明确应实现哪些功能,应不实现哪些功能,避免组件完成过多不必要的需求从而导致组件复用性不强的问题。
参见图2,在实际应用本发明时,由开发者进行组件的开发,包括组件抽象、组件更新、低代码嵌入等;由用户创建应用,以及应用更新,然后对应用进行设计,包括组件编排、界面布局、选择模板、事件编排等,设计完成后可实时预览,并提交,由系统管理员对应用进行审核,审核通过后将应用上架,及进行其他管理。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种基于可视化编程技术的信息系统的构建方法,基于可视化编程技术的信息系统进行构建,可视化编程技术的信息系统包括底层组件模块、数据模型模块、可视化编程模块、自动化部署模块、应用管理模块,其中:
底层组件模块中含有若干组件,所述组件是一种功能能够被复用且不与其他功能产生必要依赖关系的最小应用程序,用于承接数据的采集、数据的清理、数据的呈现、数据的对接、业务功能对数据的应用、界面要素的呈现,能够用于信息系统运行的各个环节;
数据模型模块为一组对信息系统所需数据进行操作的组件库,包括数据组件库和业务组件库,所述数据组件库包括数据采集组件、数据模型组件、数据可视组件;所述业务组件库包括界面组件、表单组件、流程组件;
可视化编程模块提供的一套所见即所得的软件设计工具,能够将现有组件根据业务需要进行编排,以实现系统用户自主设计并开发应用程序;所述软件设计工具包括界面设计器、组件选择器、组件属性配置、事件驱动管理、代码能力嵌入、流程设计、实时效果预览、代码生成预览,实现复杂的逻辑交互;
自动化部署模块为在系统用户开发的应用程序完成后,由平台接管余下的代码自动化生成和部署环节,无需开发人员干预,应用程序即可上线运行;
应用管理模块,所述应用管理模块为系统管理员提供其对所有组件和生成的应用程序进行管理的功能;包括组件和应用程序的上架、下架、更新管理、应用程序的使用权限分配管理、组件的调用权限分配管理、组件和应用程序调用记录审计、平台参与者管理;
其特征在于,包括以下步骤:
步骤1:建立组件的支撑层底座:在单机服务器或服务器集群中安装和搭建信息化平台所需的基础应用和服务,包括数据库服务、文件存储、大数据平台、中间件、音视频服务、第三方SDK,保证这些服务可以通过接口调用方式为上层应用提供功能;
步骤2:建立可视化编程模块:可视化编程技术通过所见即所得的软件设计工具,提供软件应用界面设计器,用户通过鼠标拖拽方式将组件在设计器中进行编排,并以可视化的方式配置组件的属性和行为,即可实时呈现软件应用功能,并实时生成代码;
步骤3:建立自动化部署模块:将生成的代码以指定流程在后台自动完成打包、分发、上线、更新;基于容器化技术将代码打包并封装到镜像中,通过计算机脚本自动完成镜像文件的分发,将其复制到服务器集群中,最终通过容器管理命令将镜像文件发布为容器并进行生命周期管理;
步骤4:建立应用管理模块:包括应用运行环境平台和应用管理平台,其中应用运行环境平台是已生成应用的主入口和展示平台,应用管理平台是系统管理人员在该平台中进行整个系统的运维管理的介质;
其中,所述步骤2可视化编程模块包含界面设计器、组件选择器、组件属性配置、事件驱动管理、代码能力嵌入、流程设计、实时效果预览、代码生成预览;
所述界面设计器支持组件的拖放和布局,支持鼠标拖动改变组件位置和大小,支持选择一个或多个组件,并进行编辑和删除操作;
所述组件选择器为将组件库中的组件按分类进行展示和预览,同时允许用户以拖动的方式将组件放置到所述界面设计器区域中,并提供组件效果展示、组件选择、位置移动的操作功能;
所述组件属性配置为将所选组件的可选配置项在屏幕中进行展示,交由用户为所选组件的可配置项进行定制化修改,从而改变组件的形态,包括界面样式、根据状态而改变的组件内容;
所述事件驱动管理为由用户为组件定义组件交互时的行为和事件响应方法,提供对自定义响应方法的后续解析和匹配的功能,从而实现用户对组件动态行为的管理和定义;
所述代码能力嵌入为在系统中提供代码编译器,接收用户自定义的javascript代码,将此代码整合至系统所生成的代码中,编译器对此两种代码进行共同编译执行;
所述流程设计为由用户自定义流程各节点,从而控制已开发的系统应用间的流转顺序,系统采用整合现有流程引擎的方式实现;
所述实时效果预览为将当前设计的应用进行预览,在窗口中显示各组件当前的运行状态和事件响应情况,从而实现对当前设计的测试,通过将后台生成的代码放到实时编译器中运行,在新打开的窗口中显示运行的结果,实时编译器是一个带有web浏览器内核的小型应用,作为基础组件由系统进行集成;
所述代码生成预览为将设计器中设计的应用进行预览,在窗口中显示当前设计状态下所生成的代码,供专业人员调试功能时使用。
2.根据权利要求1所述的基于可视化编程技术的信息系统的构建方法,其特征在于,所述事件驱动管理中,所述组件的事件包括鼠标单击、双击、右键单击、键盘按键事件,本功能可以响应这些事件;所述自定义响应方法包括预置的打开组件、控制其他组件的显示和隐藏、调整其他组件的属性配置,由用户选择事件所对应的响应方法。
3.根据权利要求2所述的基于可视化编程技术的信息系统的构建方法,其特征在于,所述步骤3建立自动化部署模块中,所述代码打包包括前端页面代码的封装和后台逻辑代码的封装,代码生成后,按照程序各自的开发语言规范进行封装,形成运行时环境可用的部署包;
所述镜像文件的分发为通过服务器命令将镜像文件分发到服务器集群的各节点中,以便进一步完成镜像的发布和运行;或分发至集群管理节点,由管理节点统一进行容器的管理。
4.根据权利要求2所述的基于可视化编程技术的信息系统的构建方法,其特征在于,所述步骤4建立应用管理模块中,所述应用运行环境平台包括统一的用户登录、按权限划分的应用访问列表、按角色划分的功能列表;
所述应用管理平台包括组件物料库的管理、已生成应用的管理、组件开发人员管理、应用设计人员管理、应用使用人员管理、应用权限管理、应用设计流程审计、应用访问情况审计、应用上线和更新管理。
5.根据权利要求3-4任一项所述的基于可视化编程技术的信息系统的构建方法,其特征在于,所述构建方法还包括制定一套开发组件的技术标准,所述技术标准包括定义组件功能范围的原则、界面开发所用到的编程语言、调用其他组件的编码规范、定制本身界面元素所需的参数、组件保存时的文件形式。
6.根据权利要求5所述的基于可视化编程技术的信息系统的构建方法,其特征在于,所述技术标准还包括数据模型组件的开发标准,此标准独立于可视化编程模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111038740.0A CN113703749B (zh) | 2021-09-06 | 2021-09-06 | 一种基于可视化编程技术的信息系统及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111038740.0A CN113703749B (zh) | 2021-09-06 | 2021-09-06 | 一种基于可视化编程技术的信息系统及其构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703749A CN113703749A (zh) | 2021-11-26 |
CN113703749B true CN113703749B (zh) | 2024-07-19 |
Family
ID=78660504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111038740.0A Active CN113703749B (zh) | 2021-09-06 | 2021-09-06 | 一种基于可视化编程技术的信息系统及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703749B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114138256A (zh) * | 2021-12-03 | 2022-03-04 | 广东亿迅科技有限公司 | 一种Web端可视化开发方法、系统及存储介质 |
CN114168121B (zh) * | 2021-12-07 | 2022-08-16 | 济南红旗信息科技有限公司 | 一种基于代码工厂模式开发软件系统、终端和存储介质 |
CN114461208A (zh) * | 2022-01-06 | 2022-05-10 | 深圳安巽科技有限公司 | 一种软件自动化编排方法、系统 |
CN114489844A (zh) * | 2022-01-17 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 基于组件实现的云通信方法及系统 |
CN114527970B (zh) * | 2022-01-26 | 2024-08-02 | 朗新科技集团股份有限公司 | 所见即所得的低代码软件界面设计开发系统 |
CN114115835B (zh) * | 2022-01-27 | 2022-05-17 | 广州庚亿信息科技有限公司 | 自动编码执行流程构建方法、装置、存储介质及智能终端 |
CN114860205B (zh) * | 2022-05-09 | 2024-08-23 | 维沃移动通信有限公司 | 低代码开发平台的应用扩展系统、方法和装置 |
CN114995879B (zh) * | 2022-06-28 | 2023-02-03 | 北京慧点科技有限公司 | 一种基于低代码化平台的信息处理方法及系统 |
CN115016781A (zh) * | 2022-07-14 | 2022-09-06 | 北京智芯半导体科技有限公司 | 嵌入式软件开发方法、装置、电子设备及可读存储介质 |
CN115373696B (zh) * | 2022-10-26 | 2022-12-23 | 宇动源(北京)信息技术有限公司 | 软件资源生成的低代码配置方法、系统、设备及存储介质 |
CN115658084A (zh) * | 2022-11-09 | 2023-01-31 | 华润数字科技有限公司 | Web前端架构及其页面部署方法、装置、设备及介质 |
CN116301813B (zh) * | 2023-05-17 | 2023-08-15 | 壹药网科技(上海)股份有限公司 | 低代码平台开发方法及系统 |
CN117348861A (zh) * | 2023-10-31 | 2024-01-05 | 慧之安信息技术股份有限公司 | 一种面向设备端应用的低代码开发方法和系统 |
CN117762397A (zh) * | 2024-01-04 | 2024-03-26 | 四川九洲软件有限公司 | 一种基于控制引擎的系统快速开发平台和方法 |
CN117648081B (zh) * | 2024-01-30 | 2024-05-07 | 北京微迪航天科技有限公司 | 一种可视化软件集成开发方法、系统及存储介质 |
CN118012494B (zh) * | 2024-04-03 | 2024-07-02 | 青岛鼎信通讯股份有限公司 | 嵌入式软件配置管理、复用系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744647A (zh) * | 2013-10-18 | 2014-04-23 | 北京邮电大学 | 一种基于工作流GPD的Java工作流开发系统及其方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080209405A1 (en) * | 2007-02-28 | 2008-08-28 | Microsoft Corporation | Distributed debugging for a visual programming language |
US10101976B2 (en) * | 2015-04-30 | 2018-10-16 | OpenMethods, Inc. | Method, system and apparatus for visual programming of interaction workflows for omni-channel customer contact centers with integrated customer relationship management |
CN105677446B (zh) * | 2016-01-28 | 2019-05-28 | 中国电子科技集团公司第十研究所 | 分布式仿真平台的可视化建模方法 |
JP7113765B2 (ja) * | 2019-01-30 | 2022-08-05 | 株式会社日立製作所 | コード管理システムおよびコード管理方法 |
CN112230907B (zh) * | 2019-07-15 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 程序生成方法、装置、终端及存储介质 |
CN110704044A (zh) * | 2019-09-11 | 2020-01-17 | 苏州德创测控科技有限公司 | 一种可视化编程系统 |
CN111522543A (zh) * | 2020-04-16 | 2020-08-11 | 科大国创云网科技有限公司 | 一种可视化应用组件编排方法及系统 |
CN111831276B (zh) * | 2020-06-30 | 2022-09-13 | 中国船舶重工集团公司第七一六研究所 | 软件可视化快速开发系统 |
CN111796815A (zh) * | 2020-07-13 | 2020-10-20 | 成都起微网络技术有限公司 | 一种全自动可视化软件搭建平台的应用 |
CN112015413A (zh) * | 2020-08-25 | 2020-12-01 | 同方股份有限公司 | 一种免编程数据可视化Web展示系统及其实现方法 |
CN112256258A (zh) * | 2020-10-22 | 2021-01-22 | 北京神州数字科技有限公司 | 微服务编排自动代码生成方法及系统 |
CN112527373A (zh) * | 2020-12-11 | 2021-03-19 | 浪潮云信息技术股份公司 | 一种基于运行综合管理中心业务的可视化平台拓展方法 |
CN113127630A (zh) * | 2021-04-08 | 2021-07-16 | 国网福建省电力有限公司信息通信分公司 | 一种电力可视化数据资源管理平台系统 |
-
2021
- 2021-09-06 CN CN202111038740.0A patent/CN113703749B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744647A (zh) * | 2013-10-18 | 2014-04-23 | 北京邮电大学 | 一种基于工作流GPD的Java工作流开发系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113703749A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113703749B (zh) | 一种基于可视化编程技术的信息系统及其构建方法 | |
US7448024B2 (en) | System and method for software application development in a portal environment | |
US8712953B2 (en) | Data consumption framework for semantic objects | |
CN1997948B (zh) | 过程配置和控制环境中的图形集成 | |
US6016394A (en) | Method and system for database application software creation requiring minimal programming | |
US7925977B2 (en) | Architecture solution map builder | |
US20020161777A1 (en) | Universal data editor | |
EP1603033A2 (en) | Method and apparatus for generating forms using form types | |
US11893218B2 (en) | Intelligent manipulation of dynamic declarative interfaces | |
US20050065951A1 (en) | Visualization of commonalities in data from different sources | |
KR20060087995A (ko) | 작업 흐름을 모델링하는 방법 및 시스템 | |
US20130167050A1 (en) | Method and system for customizing a graphic user interface of a manufacturing execution system screen | |
Plakalovic et al. | Applying MVC and PAC patterns in mobile applications | |
Snell et al. | Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2 | |
US7168062B1 (en) | Object-oriented software system allowing live modification of an application | |
Chin et al. | The Definitive Guide to Modern Java Clients with JavaFX 17 | |
CN113835691B (zh) | 一种iOS应用开发方法、系统、设备、介质和程序产品 | |
US7574336B1 (en) | Model workspaces in modeling environments | |
US20080155457A1 (en) | Embedding visual content of an embedder in an embedded component | |
Mainkar | Expert Android Programming: Master skills to build enterprise grade Android applications | |
Vanderdonckt et al. | A Design Space for Context-Sensitive User Interfaces. | |
JPH11102293A (ja) | プログラム自動生成方法 | |
Bilgin | Hands-on Mobile Development with. NET Core: Build Cross-platform Mobile Applications with Xamarin, Visual Studio 2019, and. NET Core 3 | |
EP3462309A1 (en) | Method for generating user interfaces from a manufacturing application model | |
Grinev | Mastering JavaFX 10: Build advanced and visually stunning Java applications |
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 |