一种基于低代码DSL的对象解析方法及装置转让专利

申请号 : CN202310907292.6

文献号 : CN116661756B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁伟清

申请人 : 浩鲸云计算科技股份有限公司

摘要 :

本发明提出一种基于低代码DSL的对象解析方法及装置,包括,通过配置管理模块,进行对象、模型、静态数据、序列、索引、测试用例和对象版本的创建、修改、删除、查询和导出;利用对象设计器,配置对象的基本信息、属性赋值规则、对象关系,并生成默认服务;使用对象解析执行引擎,对对象的默认服务或扩展后的服务数据包进行解析和执行;通过对象运维管理模块,实现运行时的运维管理,包括对象导入、对象服务拨测、服务执行日志查询和测试用例的自动化测试。本发明通过整体嵌入业务应用的方式,使得现有系统获得了在线开发扩展的能力。这在大大提升系统的灵活性和扩展性,使其能更好地适应业务需求的变化。

权利要求 :

1.一种基于低代码DSL的对象解析方法,其特征在于,包括:步骤1:在配置管理的对象管理中新建对象,新建对象时设置对象的名称、编码、属性;

步骤2:在配置管理的对象管理中新建对象时支持通过EXCEL导入、外部数据源、SQL方式导入对象文件来创建对象,采用手工创建对象时,直接进行步骤3;

步骤3:在对象设计器里,设置对象的基本信息、属性、赋值规则和对象与对象关系信息,设置完成后,保存对象;具体包括:步骤3.1:对象基本信息设置,在对象基本信息页面设置对象名称、编码、对象类型、分组和标签信息;

步骤3.2:对象属性设置,设置对象属性,包含属性的名称、编码、业务类型、数据长度、组件类型、唯一、默认值、数据字典、校验规则和提示语信息;

步骤3.3:对象赋值规则设置,设置对象在新增、修改场景下,对象属性可以按照规则进行赋值,赋值规则包含序列、随机数、当前时间、业务函数和业务编码;

步骤3.4:对象关系设置,设置对象与对象之间的关系,包含主从和关联关系;

步骤4:对象保存时,自动生成出基于对象的缺省服务,缺省服务包含新增、批量新增、根据主键删除数据、批量删除、根据主键更新数据、根据主键获取数据、根据主键集合获取数据、查询列表、查询分页列表;

步骤5:在对象生成服务的基础上,在默认服务上进行扩展,选定要扩展的服务,进入扩展编辑器里,扩展编辑器里默认展示服务缺省的三个节点:对象初始化、对象校验、对象执行,这三个节点不允许进行删除,在这三个节点之间根据业务逻辑插入节点,插入节点时绑定扩展组件类型,并设置组件属性和节点入参信息,服务扩展编排完成后可以保存服务,对象生成的服务不需要扩展时,步骤5可以跳过;步骤5具体如下:步骤5.1:选择一个对象生成好的服务,查询类的服务不允许进行扩展,只有新增、修改、删除类的服务支持扩展;

步骤5.2:点击新增扩展服务,进入扩展编辑器;

步骤5.3:进入扩展编辑器后,默认生成对象初始化、对象校验、对象执行三个节点,这三个节点不允许进行删除,在这三个节点之间可以插入扩展节点;

步骤5.4:在扩展编辑器上,点击新增节点;

步骤5.5:新增节点时候要绑定对应的节点组件类型,在编辑区域,选择节点组件类型,插入到编辑区域中,节点组件类型包含逻辑类型、SQL类型、脚本类型;

步骤5.6:配置节点组件属性;

步骤5.7:选择节点组件类型后,需要配置节点的参数,根据服务入参或上游节点出参来映射;

步骤5.8:逻辑配置完保存编排的扩展服务;

步骤6:对象生成服务或服务扩展编排完后,对服务进行调试,输入服务的入参信息,调试会返回服务各节点的出入参信息,方便定位服务逻辑编排是否正确;

步骤7:确认对象服务调试无误后,将对象服务进行发布,发布的服务对外提供能力。

2.根据权利要求1所述的一种基于低代码DSL的对象解析方法,其特征在于,步骤2具体为:步骤2.1:在对象管理里新增对象时,选择上传对象文件,上传的文件的类型支持EXCEL、SQL文件;同时支持连接对应的数据库,查询出数据库的表,勾选需要创建为对象的表;

步骤2.2:导入对象文件时,校验对象文件中的格式是否准确,同时校验文件中的对象编码在应用里是否已经存在,如果格式不对或者对象编码已存在,则提示对象文件校验不通过,对象导入结束;

步骤2.3:对象文件进行解析,解析后调用对象创建API;

步骤2.4:调用服务创建对象到数据库中。

3.根据权利要求1所述的一种基于低代码DSL的对象解析方法,其特征在于,步骤4具体为:步骤4.1:在对象创建页面,点击保存,调用对象创建API服务;

步骤4.2:获取对象创建API服务传递过来的对象属性;

步骤4.3:根据对象属性,按照查询、新增、修改、删除这四种服务类型,拼装每种服务需要生成的服务节点,其中查询类只有一个执行节点,新增、修改、删除类的服务生成初始化、校验、执行三个服务节点,生成完成后调用对象服务创建API;

步骤4.4:调用服务把对象的服务写入到数据库中。

4.根据权利要求1所述的一种基于低代码DSL的对象解析方法,其特征在于,步骤6具体为:步骤6.1:点击调试后,需要输入服务入参信息;

步骤6.2:点击执行会调用服务解析引擎进行调试;

步骤6.3:前端获取到服务解析引擎的返回数据;

步骤6.4:调试界面会展示服务的每个节点的出入详情和每个节点的执行时间和耗时。

5.根据权利要求4所述的一种基于低代码DSL的对象解析方法,其特征在于,步骤6.2具体为:步骤A.1:触发调用一次解析执行引擎;

步骤A.2:根据入参得到调用的对象编码和ID,到缓存查询DSL数据;

步骤A.3:把DSL内容解析为执行引擎上下文结构,形成节点信息、节点关系、节点参数和节点参数映射信息;

步骤A.4:跟节点信息获取到入参节点;

步骤A.5:把引擎入参设置到入参信息中;

步骤A.6:把入参节点信息设置到本次执行的上下文中;

步骤A.7:跟入参节点获取下一个节点;

步骤A.8:根据节点绑定组件类型获取到组件类型;

步骤A.9:从上下文件获取到节点的入参信息,并调用组件执行接口执行当前节点;

步骤A.10:把当前节点组件执行结果保存到上下文中;

步骤A.11:在根据当前节点重复步骤A.7 步骤A.10,直到执行到出参节点。

~

6.根据权利要求1所述的一种基于低代码DSL的对象解析方法,其特征在于,还包括:AI辅助设计,具体为:收集历史的对象设计数据;

对收集到的数据进行清洗和格式化,保证数据的质量,将这些数据转换为机器学习模型可以理解的格式;

使用这些处理过的数据训练一个预测模型;

测试这个模型的预测效果,对模型进行优化;

将训练好的模型集成到对象设计的流程中,当用户在设计新的对象时,模型就根据用户已经输入的数据进行预测,给出建议;

收集用户的反馈,以及模型的预测效果数据,持续优化模型的预测性能。

7.根据权利要求6所述的一种基于低代码DSL的对象解析方法,其特征在于,所述收集历史的对象设计数据包括已经设计过的对象的属性、关联关系、以及对象使用中的性能数据。

8.一种基于低代码DSL的对象解析装置,适用于权利要求1至7中的任一项所述的一种基于低代码DSL的对象解析方法,其特征在于,包括配置管理模块、对象设计器模块、对象解析执行引擎模块和对象运维管理模块。

9.根据权利要求8所述的一种基于低代码DSL的对象解析装置,其特征在于,对象设计器模块用于提供对象的配置开发能力,包括对象的基本信息、属性赋值规则、对象关系的配置,以及生成默认服务和扩展服务。

10.根据权利要求8所述的一种基于低代码DSL的对象解析装置,其特征在于,对象运维管理模块用于提供对象服务运行时的运维管理,包括对象的导入、对象服务拨测、服务执行日志查询和测试用例的自动化测试。

说明书 :

一种基于低代码DSL的对象解析方法及装置

技术领域

[0001] 本发明涉及软件开发技术领域,具体涉及一种基于低代码DSL的对象解析方法与装置。

背景技术

[0002] 随着信息化和数字化浪潮的推进,企业信息技术系统面临着前所未有的挑战。快速变化的市场环境对IT系统提出了迅速响应的要求。然而,传统的开发方式,这种开发方式依赖于专业开发人员的编码能力,其开发效率已经无法满足企业IT的需求。
[0003] 在这种环境下,低代码技术应运而生。低代码技术能够降低开发门槛,提高开发效率,对于快速响应市场变化和提高业务效率具有重要的价值。然而,当前的低代码技术还存在一些问题。
[0004] 首先,目前低代码的对象建模生成的缺省服务相对简单,大多数仅实现数据的增删改查服务,不能进行在线扩展,无法满足实际业务生产需要。其次,对象建模后,通过代码生成工具生成的缺省服务代码,服务上线后如果需要扩展服务逻辑,往往需要手动编写代码,并进行需求研发和版本升级,这使得业务需求实现周期较长。再次,目前的对象生成服务往往不能适配各种主流数据库。

发明内容

[0005] 为克服现有技术的不足,本发明提出一种基于低代码DSL的对象解析方法与装置,通过整体嵌入业务应用的方式,使得现有系统获得了在线开发扩展的能力。这在大大提升系统的灵活性和扩展性,使其能更好地适应业务需求的变化。
[0006] 为实现上述目的,本发明提供一种基于低代码DSL的对象解析方法,包括:
[0007] 步骤S1: 通过配置管理模块,进行对象、模型、静态数据、序列、索引、测试用例和对象版本的创建、修改、删除、查询和导出;
[0008] 步骤S2:利用对象设计器,配置对象的基本信息、属性赋值规则、对象关系等,并生成默认服务;
[0009] 步骤S3:使用对象解析执行引擎,对对象的默认服务或扩展后的服务数据包进行解析和执行,它还支持对象服务在不同的数据库上运行。;
[0010] 步骤S4:通过对象运维管理模块,实现运行时的运维管理,包括对象导入、对象服务拨测、服务执行日志查询和测试用例的自动化测试。
[0011] 进一步地,步骤S1具体为:
[0012] 步骤S11:进行对象的列表查询,对象的新增、修改、删除、复制、导出管理;
[0013] 步骤S12:管理模型,进行模型的列表查询,模型的修改、查看管理;
[0014] 步骤S13:静态数据管理,包括静态数据的列表查询,静态数据的新增、修改、删除、查看管理,同时支持手工、EXCEL导入方式去创建静态数据;
[0015] 步骤S14:提供序列的列表管理,序列的新增、删除、修改管理;
[0016] 步骤S15:索引管理,提供当前应用下的索引的列表管理,索引的新增、删除管理;
[0017] 步骤S16:每个对象服务的测试用例列表查询,进行测试用例的新增、修改、删除、导出管理;
[0018] 步骤S17:查询出每个版本的操作日志,进行不同版本对比、回退。
[0019] 进一步地,步骤S2具体为:
[0020] 步骤S21:配置对象基本信息;
[0021] 步骤S22:对象属性配置以及设定对象赋值规则;
[0022] 步骤S23:配置对象关系;
[0023] 步骤S24:在对象配置过程中,根据平台预置的行业对象、当前应用里的对象、对象关系、配置人员当前操作,自动推荐出要建的对象、属性、关系。
[0024] 步骤S26:配置好的对象,自动生成缺省服务。
[0025] 进一步地,步骤S3具体为:
[0026] 步骤S31:解析请求数据包、响应数据包;
[0027] 步骤S32:执行数据包;
[0028] 步骤S33:根据对象配置的服务解析出SQL或者NoSQL,然后在对应的数据库上执行。
[0029] 进一步地,步骤S4具体为:
[0030] 步骤S41:对对象的XML描述进行导入,对象导入在不同的环境间进行对象配置的迁移;
[0031] 步骤S42:定时对服务的拨测,实时获取服务的可用性,服务出现异常时及时发出告警;
[0032] 步骤S43:对服务执行的日志进行查询;
[0033] 步骤S44:对服务的测试用例进行自动化测试,支持接口级别、交易级别的自动化测试。
[0034] 进一步地,还包括:
[0035] AI辅助设计,具体为:
[0036] 步骤S51:收集历史的对象设计数据;
[0037] 步骤S52:对收集到的数据进行清洗和格式化,保证数据的质量。然后,将这些数据转换为机器学习模型可以理解的格式。
[0038] 步骤S53:使用这些处理过的数据训练一个预测模型。这个模型应该能根据用户已经输入的数据,预测出可能需要的对象属性和关联关系。
[0039] 步骤S54:测试这个模型的预测效果,如果效果不满意,就需要对模型进行优化,比如改进算法、增加数据等。
[0040] 步骤S55:将训练好的模型集成到对象设计的流程中。当用户在设计新的对象时,模型就根据用户已经输入的数据进行预测,给出可能的对象属性和关联关系的建议。
[0041] 步骤S56:在实际使用中,收集用户的反馈,以及模型的预测效果数据,持续优化模型的预测性能。
[0042] 进一步地,步骤S51中对象设计数据包括已经设计过的对象的属性、关联关系、以及对象使用中的性能数据。
[0043] 一种基于低代码DSL的对象解析装置,适用于上述任一项所述的一种基于低代码DSL的对象解析方法,包括配置管理模块、对象设计器模块、对象解析执行引擎模块和对象运维管理模块。
[0044] 进一步地,对象设计器模块用于提供对象的配置开发能力,包括对象的基本信息、属性赋值规则、对象关系的配置,以及生成默认服务和扩展服务。
[0045] 进一步地,对象运维管理模块用于提供对象服务运行时的运维管理,包括对象的导入、对象服务拨测、服务执行日志查询和测试用例的自动化测试。
[0046] 与现有技术相比,本发明的有益效果是:
[0047] 1.本发明提供了一种基于低代码DSL的对象解析方法与装置,该方法通过整体嵌入业务应用的方式,使得现有系统获得了在线开发扩展的能力。这在大大提升系统的灵活性和扩展性,使其能更好地适应业务需求的变化。
[0048] 2.本发明提供了一种基于低代码DSL的对象解析方法与装置,通过独立部署对象设计器和开发服务,该方法能够生成具备解析执行能力的服务,从而简化了开发过程,提高了开发效率。
[0049] 3.本发明提供了一种基于低代码DSL的对象解析方法与装置,开发出来的对象服务、服务解析引擎和服务运维可以作为模块集成到业务应用中,强化了服务的集成能力,提升了业务处理效率。
[0050] 4.本发明提供了一种基于低代码DSL的对象解析方法与装置,完全独立部署的应用模式提供了对外开发服务的可能,进一步扩大了业务覆盖范围,提升了服务的利用率。

附图说明

[0051] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0052] 图1是本发明流程图;
[0053] 图2是本发明功能模块图;
[0054] 图3为本发明对象配置样例图;
[0055] 图4为本发明对象导入流程图;
[0056] 图5为本发明对象设计流程图;
[0057] 图6为本发明对象生成服务流程图;
[0058] 图7为本发明对象服务扩展流程图;
[0059] 图8为本发明对象服务调试图;
[0060] 图9为本发明对象服务运行解析流程。

具体实施方式

[0061] 下面将结合附图、通过对本发明的优选实施方式的描述,更加清楚、完整地阐述本发明的技术方案。
[0062] SQL和NoSQL分别代表两种很常见的数据库类型。SQL代表结构化查询语言,主要用在关系型数据库管理系统中。
[0063] NoSQL指的是“没有SQL”(不使用SQL来查询)或者不仅仅是SQL(使用SQL和非SQL查询方式)两种的区别包括创建方式、结构、存储的数据类型和数据的存储和查询方式[0064] 如图1所示,本发明具体为:
[0065] 步骤S1: 通过配置管理模块,进行对象、模型、静态数据、序列、索引、测试用例和对象版本的创建、修改、删除、查询和导出;
[0066] 步骤S2:利用对象设计器,配置对象的基本信息、属性赋值规则、对象关系等,并生成默认服务;
[0067] 步骤S3:使用对象解析执行引擎,对对象的默认服务或扩展后的服务数据包进行解析和执行,它还支持对象服务在不同的数据库上运行。;
[0068] 步骤S4:通过对象运维管理模块,实现运行时的运维管理,包括对象导入、对象服务拨测、服务执行日志查询和测试用例的自动化测试。
[0069] 功能模块如图2所示,
[0070] 配置管理模块提供对象管理、模型管理、静态数据管理、序列管理、索引管理、测试用例管理、对象版本管理等能力。
[0071] 具体为:
[0072] 配置管理提供对象管理、模型管理、静态数据管理、序列管理、索引管理、测试用例管理、对象版本管理等能力。
[0073] 对象管理提供对象的列表查询,对象的新增、修改、删除、复制、导出管理。
[0074] 模型管理提供模型的列表查询,模型的修改、查看管理。
[0075] 静态数据管理提供静态数据的列表查询,静态数据的新增、修改、删除、查看管理。在新增静态数据时,支持手工、EXCEL导入方式去创建静态数据。
[0076] 序列管理提供序列的列表管理,序列的新增、删除、修改管理。
[0077] 索引管理提供当前应用下的索引的列表管理,索引的新增、删除管理。
[0078] 测试用例管理提供每个对象服务的测试用例列表查询,测试用例的新增、修改、删除、导出管理。在新增测试用例时,能够根据服务的类型、入参、出参缺省生成对应的用例值,配置人员可以在此基础上进行调整。
[0079] 对象版本管理提供了对象的版本列表查询,可以查询出每个版本的操作日志,可以进行不同版本对比、回退。
[0080] 对象设计器模块提供对象的配置开发能力,配置对象的基本信息、属性、赋值规则、对象关系等,配置完对象后默认生成出缺省服务,并且支持对生成出来的缺省服务进行扩展。开发完后提供服务调试功能,方便定位服务逻辑开发是否正确。
[0081] 具体为;
[0082] 对象设计器提供对象的配置开发能力,配置对象的基本信息、属性赋值规则、对象关系等,配置完对象后默认生成出缺省服务,并且支持对生成出来的缺省服务进行扩展。开发完后提供服务调试功能,方便定位服务逻辑开发是否正确。
[0083] 对象基本信息提供了对象名称、编码、类型、分组、标签、备注等信息的配置。
[0084] 对象属性提供对象属性的名称、编码、业务类型、数据长度、组件类型、唯一、默认值、数据字典、校验规则、提示语等信息的配置。
[0085] 对象赋值规则提供了对象在不同场景下,对象属性可以按照规则进行赋值设置。赋值规则包含序列、随机数、当前时间、业务函数、业务编码等。
[0086] 对象关系提供了对象与对象之间的关系设置,对象管包含主从、关联关系等类型。
[0087] 自动推荐是指在对象配置过程中,根据平台预置的行业对象、当前应用里的对象、对象关系、配置人员当前操作等,自动推荐出要建的对象、属性、关系等,减少配置人员的填写操作。
[0088] 对象生成服务提供了对象配置好了后,自动生成缺省服务的能力。缺省生成的服务包含新增、批量新增、根据主键删除数据、批量删除、根据主键更新数据、根据主键获取数据、根据主键集合获取数据、查询列表、查询分页列表。
[0089] 服务扩展编排器提供扩展服务的可视化开发,提供丰富的图元组件,通过对图元组件的组装和图元出入参映射快速扩展服务逻辑。
[0090] 服务扩展编排器提供了服务画布、服务调试和图元组件。
[0091] 服务画布提供可视化方式展示服务逻辑,并可以在画布上进行修改服务逻辑,并可以通过画布进行服务逻辑的图元节点的参数映射。
[0092] 服务调试提供服务开发完后的调测,可以调试整个服务是否执行正确和每个服务节点编排设置是否正确。
[0093] 图元组件是本方案封装了一系列可视化组件,把服务开发中经常使用到的逻辑处理、数据访问等能力简化为一个图元组件,便于服务画布中对图元组件进行组装,形成业务逻辑处理要求。图元组件封装了逻辑类、SQL类、对象类、脚本类等不同类型的图元组件。
[0094] 逻辑类提供循环图元、跳出图元、判断图元、分支图元、变量图元、出参图元。循环图元对应到编程的循环控制,跳出图元搭配循环图元,是结束循环。判断图元对应if判断。分支图元对应if… else条件控制。变量图元用于定义服务的变量,可以在各个服务节点中引用变量值。出参图元用于定义服务分支处理结束场景。
[0095] SQL类提供SQL图元,SQL图元提供按SQL方式查询、更新相关数据源的数据,也可以通过SQL图元来调用存储过程。
[0096] 脚本类提供了Python脚本图元和Groovy脚本图元。Python脚本图元可以调用Python编写的函数或代码块。Groovy脚本图元可以调用Groovy编写的函数或代码块。
[0097] 对象类为对象生成的服务自带三个服务节点,分别为对象初始化、对象校验、对象执行,这三个节点不允许进行删除,在这三个节点之间可以根据业务逻辑需要插入节点,插入节点时需要绑定扩展组件类型,并设置组件属性和节点入参信息。
[0098] 对象解析执行引擎模块是对对象的缺省服务或扩展编排后的服务数据包进行解析执行,执行引擎的数据库适配能力支持对象服务在不同数据库能够适配执行。
[0099] 具体为:
[0100] 对象解析引擎提供数据包解析、执行引擎、图元执行组件,同时多数据库适配能力让引擎在不同的数据库中适配运行。
[0101] 数据包解析是解析对象服务的DSL数据包,形成执行引擎需要的上下文信息。
[0102] 执行引擎是根据对象数据包解析和执行。对象数据包会定义对象服务出入参、服务节点、服务节点关系。对象解析执行引擎会解析对象服务节点关系,根据定义的节点序和节点的组件类型来执行节点逻辑,比如节点的初始化图元组件是调用对象封装好的内部API。
[0103] 图元执行组件提供对象类、SQL类、脚本类和部分逻辑类的执行接口。
[0104] 对象类图元执行接口提供调用对象封装的内部API执行能力,包含对象服务初始化、对象服务校验、对象服务执行这三种API能力。
[0105] SQL图元执行接口提供SQL执行接口,根据数据源调用JDBC驱动执行SQL。
[0106] Python&Groovy图元脚本执行接口提供脚本函数或代码块的解析执行。
[0107] 逻辑图元组件是在执行引擎中处理。
[0108] 多数据库适配提供执行引擎在运行对象类服务时,能够根据当前数据库类型去拼装、转换出最终运行的SQL语句。
[0109] 对象运维管理模块提供对象服务运行时的运维管理能力,提供对象导入导入、对象服务拨测和对象服务执行日志查询等管理能力,同时可以配置每个对象测试用例的执行策略,通过定时任务去触发每个测试用例,实现对象服务的自动化测试。
[0110] 对象运维是用于对象发布到实际运行环境后,对象的导入、对象服务拨测、服务执行日志查询、测试用例的自动化测试。
[0111] 对象导入提供对象数据包的导入处理,把从对象设计器导出对象数据包导入到运行环境。
[0112] 对象服务拨测是提供对象服务表管理,并可以对对象的服务进行拨测,确认服务是否能正确执行。
[0113] 日志查询是提供对象服务执行的日志查看,用于对象服务运行时故障和性能分析。
[0114] 自动化测试是指在运行平台导入测试用例,配置每个对象测试用例的执行策略,通过定时任务或手工去触发每个测试用例,实现对象服务的自动化测试。每个测试用例执行完后,可以查看测试用例执行日志及结果。
[0115] 实施例1:配置一个对象,生成缺省服务,对缺省服务进行扩展,并进行服务调测。如图3
[0116] 步骤1新建对象:在配置管理的对象管理中新建一个对象,新建对象时需要设置对象的名称、编码、属性等。
[0117] 步骤2对象导入:在配置管理的对象管理中新建对象时支持通过EXCEL导入、外部数据源、SQL方式等来导入对象文件来创建对象。如果采用手工创建对象,此步骤可跳过。
[0118] 步骤3对象设计:在对象设计器里,设置对象的基本信息、属性、赋值规则、对象与对象关系等信息,设置完成后,保存对象。
[0119] 步骤4对象生成服务:对象保存时,自动生成出基于对象的缺省服务,缺省服务包含新增、批量新增、根据主键删除数据、批量删除、根据主键更新数据、根据主键获取数据、根据主键集合获取数据、查询列表、查询分页列表。
[0120] 步骤5对象服务扩展:在对象生成服务的基础上,可以在这些默认服务上进行扩展,选定要扩展的服务,进入扩展编辑器里,扩展编辑器里默认展示服务缺省的三个节点:对象初始化、对象校验、对象执行,这三个节点不允许进行删除,在这三个节点之间可以根据业务逻辑需要插入节点,插入节点时需要绑定扩展组件类型,并设置组件属性和节点入参信息。服务扩展编排完成后可以保存服务。如果对象生成的服务不需要扩展,此步骤可以跳过。
[0121] 步骤6服务调试:对象生成了服务或服务扩展编排完后,对服务进行调试,输入服务的入参信息。调试会返回服务各节点的出入参信息,可以方便定位服务逻辑编排是否正确。
[0122] 步骤7对象发布:确认对象服务调试无误后,可以将对象服务进行发布,发布的服务可以对外提供能力。
[0123] 其中步骤2对象导入有多个步骤,如图4。
[0124] 步骤2.1上传对象文件:在对象管理里新增对象时,选择上传对象文件,上传的文件的类型支持EXCEL、SQL文件;同时支持连接对应的数据库,查询出该数据库的表,勾选需要创建为对象的表。
[0125] 步骤2.2对象文件校验:导入对象文件时,校验对象文件中的格式是否准确,同时校验文件中的对象编码在应用里是否已经存在,如果格式不对或者对象编码已存在,则提示对象文件校验不通过,对象导入结束。
[0126] 步骤2.3对象文件解析:对象文件进行解析,解析后调用对象创建API。
[0127] 步骤2.4对象生成:调用服务创建对象到数据库中。
[0128] 其中步骤3对象设计有多个步骤,如图5。
[0129] 步骤3.1对象基本信息设置:在对象基本信息页面设置对象名称、编码、对象类型、分组、标签等信息。
[0130] 步骤3.2对象属性设置:设置对象属性,包含属性的名称、编码、业务类型、数据长度、组件类型、唯一、默认值、数据字典、校验规则、提示语等信息。
[0131] 步骤3.3对象赋值规则设置:设置对象在新增、修改场景下,对象属性可以按照规则进行赋值,赋值规则包含序列、随机数、当前时间、业务函数、业务编码等。
[0132] 步骤3.4对象关系设置:设置对象与对象之间的关系,包含主从、关联关系等。
[0133] 其中步骤4对象生成服务有多个步骤,如图6。
[0134] 步骤4.1对象保存:在对象创建页面,点击保存,调用对象创建API服务。
[0135] 步骤4.2对象属性获取:获取对象创建API服务传递过来的对象属性。
[0136] 步骤4.3对象服务节点生成:根据对象属性,按照查询、新增、修改、删除这四种服务类型,拼装每种服务需要生成的服务节点,其中查询类只有一个执行节点,新增、修改、删除类的服务生成初始化、校验、执行三个服务节点,生成完成后调用对象服务创建API。
[0137] 步骤4.4对象服务生成:调用服务把对象的服务写入到数据库中。
[0138] 其中步骤5也有多个步骤,如图7:
[0139] 步骤5.1选择服务:选择一个对象生成好的服务,查询类的服务不允许进行扩展,只有新增、修改、删除类的服务支持扩展。
[0140] 步骤5.2新增扩展服务:点击新增扩展服务,进入扩展编辑器。
[0141] 步骤5.3生成对象服务缺省节点:进入扩展编辑器后,默认生成对象初始化、对象校验、对象执行三个节点,这三个节点不允许进行删除,在这三个节点之间可以插入扩展节点。
[0142] 步骤5.4新增节点:在扩展编辑器上,点击新增节点。
[0143] 步骤5.5选择节点组件类型:新增节点时候要绑定对应的节点组件类型。在编辑区域,选择节点组件类型,插入到编辑区域中,节点组件类型包含逻辑类型、SQL类型、脚本类型。
[0144] 步骤5.6配置节点组件属性:例如SQL节点,需要写入SQL,自动解析出节点的出入参。
[0145] 步骤5.7映射节点参数:选择节点组件类型后,需要配置节点的参数,可以根据服务入参或上游节点出参来映射。
[0146] 步骤5.8保存服务:所有逻辑配置完可以保存编排的扩展服务。
[0147] 其中步骤6也有多个步骤,如图8:
[0148] 步骤6.1输入服务参数:点击调试后,需要输入服务入参信息。
[0149] 步骤6.2调用服务解析引擎:点击执行会调用服务解析引擎进行调试。
[0150] 步骤6.3执行返回:前端获取到服务解析引擎的返回数据。
[0151] 步骤6.4界面展示执行结果:调试界面会展示服务的每个节点的出入详情和每个节点的执行时间和耗时。
[0152] 其中步骤6.2有多个执行步骤,如图9:
[0153] 步骤A.1调用对象服务执行引擎:触发调用一次解析执行引擎。
[0154] 步骤A.2查询DSL:根据入参得到调用的对象编码和ID,到缓存查询DSL数据。
[0155] 步骤A.3解析DSL为上下文:把DSL内容解析为执行引擎上下文结构,形成节点信息、节点关系、节点参数、节点参数映射等信息。
[0156] 步骤A.4获取入参节点:跟节点信息获取到入参节点。
[0157] 步骤A.5设置入参:把引擎入参设置到入参信息中。
[0158] 步骤A.6设置上下文:把入参节点信息设置到本次执行的上下文中。
[0159] 步骤A.7获取下一个节点:跟入参节点获取下一个节点。
[0160] 步骤A.8分析节点组件类型:根据节点绑定组件类型获取到组件类型。
[0161] 步骤A.9调用组件执行接口:从上下文件获取到节点的入参信息,并调用组件执行接口执行当前节点。
[0162] 步骤A.10设置上下文:把当前节点组件执行结果保存到上下文中。
[0163] 步骤A.11执行结束:在根据当前节点重复A.7 A.10,直到执行到出参节点。~
[0164] 上述具体实施方式仅仅对本发明的优选实施方式进行描述,而并非对本发明的保护范围进行限定。在不脱离本发明设计构思和精神范畴的前提下,本领域的普通技术人员根据本发明所提供的文字描述、附图对本发明的技术方案所作出的各种变形、替代和改进,均应属于本发明的保护范畴。本发明的保护范围由权利要求确定。