一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用集成系统及相应计算机设备和存储介质的制作方法

2022-12-20 00:56:11 来源:中国专利 TAG:


1.本技术涉及电数字数据处理领域,尤其涉及应用集成系统及相应计算机设备和计算机可读存储介质。


背景技术:

2.企业信息化的应用集成的本质是把企业中原本分离的同构或异构系统连接在一起,然后深度发展企业业务,创造最大的商业价值。应用集成帮助企业解决了企业信息化中普遍面临的信息资源共享难、信息孤岛严重、it系统之间难以协同以及it系统难以及时快速响应业务需求等难题。
3.应用集成的建设,从最初孤岛建设、点对点集成、服务集成到现在的混合云集成,既需要有企业应用集成实施方法论以及解决方案,同时也需要应用集成平台软件或工具的支撑。企业应用集成平台或工具一般分为服务集成、数据集成、消息集成等三种类型,各有各的产品或中间件,比如:服务集成一般是esb总线,以webservice、restapi的接口集成为主;数据集成一般是etl或elt方式;消息集成则一般是使用mq消息中间件。应用集成虽然得到了国内企业、软件厂商、集成商等客户的接受并实施,但在这些年的企业信息化实践中,仍然存在着以下问题:
[0004]-商用或开源的集成平台产品缺少可视化编程方式或缺少高效率的可视化编程方式,它们所提供的集成应用编辑器的技术门槛高,操作复杂,使用人员需要具备较高的技术背景,并且通过专业培训。对于一些自定义集成场景,脚本功能不足,不能线上代码编辑、动态执行,只能在线下依据约定sdk规范编写扩展的集成代码;
[0005]-一些大的企业应用集成场景需要同时支持服务集成、数据集成、消息集成三种情况,如果每种集成方式都购买或使用对应的中间件,软件购买成本、学习成本会明显上升,因此,最好的一种企业集成方案是有能同时支持这三种集成场景的产品或工具;
[0006]-对于基于流行的、开源的apache camel研发的应用集成平台或工具,设计上存在一个问题。apache camel的dsl没有集成应用的产品概念,对集成应用是从技术角度而非业务角度来表达,产品表达不清晰,需要进一步封装抽象;
[0007]-对于应用集成纯的定制开发,需要使用者学习各种开源的应用集成相关技术进行硬编码,研发成本高,且软件可维护性差。
[0008]
因而,需要提供一个轻量级的、有清晰集成应用概念的、基于低代码的应用集成系统。


技术实现要素:

[0009]
本发明提供一种应用集成系统及相应计算机设备和存储介质,其基于低代码交互模式,使研发人员和实施人员均能使用,可降低研发成本、提高实施效率。
[0010]
在本发明的第一方面,提供一种应用集成系统,其包括:
[0011]
可视化web设计器,用于响应于新增集成应用,通过拖拉拽相应图元配置集成应用
的组件组合并绘制集成应用的处理流程而获得可视化web设计结果,所述图元包括终端组件、路由组件、处理器组件、消息、有向连线、终端属性、路由属性、处理器属性,所述终端组件是接收或访问外部资源的连接器组件,所述路由组件是对输入消息进行中间处理的组件,所述处理器组件是路由的处理节点组件,一根所述有向连线两端是源与目标组件及连线箭头表示消息的流向,所述终端组件包括in、in-out、out、out-in四种类型,每个集成应用包括一个in或in-out类型终端、一个或多个路由、一个或多个out或out-in类型终端,每个路由包括一个输入、一个或多个处理器、一个或多个输出;
[0012]
前端转换模块,用于将所述可视化web设计结果转换为相应的元数据定义文件,所述元数据定义文件描述终端、路由、处理器各组件的坐标位置以及相互关系;
[0013]
后端api接口模块,用于调用相应api接口将所述元数据定义文件保存到数据库。
[0014]
在本发明的第二方面,提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现根据本发明的第一方面的系统的功能。
[0015]
根据本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据本发明的第一方面的系统的功能。
[0016]
按照本发明,通过响应于新增集成应用,通过拖拉拽相应图元配置集成应用的组件组合并绘制集成应用的处理流程而获得可视化web设计结果,将所述可视化web设计结果转换为相应的元数据定义文件,及调用相应api接口将所述元数据定义文件保存到数据库而完成相应集成应用,实现了一个轻量级的、基于低代码设计器的应用集成系统。专业的研发人员与懂业务的实施人员都能容易地使用这样的应用集成系统,降低了应用集成的技术门槛,降低了研发成本,同时提高了实施效率。
[0017]
结合附图阅读本发明实施方式的详细描述后,本发明的其它特点和优点将变得更加清楚。
附图说明
[0018]
图1为根据本发明系统的一实施例的框图;
[0019]
图2为图元的示例;
[0020]
图3为一个集成应用示例的可视化web设计结果;
[0021]
图4为图3中“路由《返回处理》”的配置子页面示例。
[0022]
为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。
具体实施方式
[0023]
下面参照附图对本发明的实施方式和实施例进行详细说明。
[0024]
通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。
[0025]
图1示出了根据本发明的应用集成系统的一优选实施例的框图。该应用集成系统是一个b/s结构的web系统,包括可视化web设计器(也称为低代码设计器)102、前端转换模块104、后端api接口模块106、集成应用管理模块108、集成引擎110、系统管理模块112。在其
它实施例中,应用集成系统可包括部分前述模块,也可除前述模块之外包括其它模块。
[0026]
可视化web设计器102用于响应于新增集成应用,通过拖拉拽相应图元配置集成应用的组件组合并绘制集成应用的处理流程而获得可视化web设计结果。
[0027]
低代码设计器的核心图元包括:终端、路由、处理器、消息、有向连线、组件(终端、路由、处理器)属性。其中,终端分in、in-out、out、out-in等四种类型;消息分为输入消息、输出正常消息、输出异常信息等三种类型。图2示出了图元的示例。
[0028]
终端是接收或访问外部资源的连接器组件。从集成方式角度,包含http、webservice、数据库、定时任务、kafka终端等五种常用终端;从通讯方式角度,划分为in与out两种类型,其中in是供外部调用,集成引擎接收外部消息或返回;out是集成引擎访问或得到外部资源,分为:1)in类型:集成引擎发布api给第三方调用,但不返回应答消息,适用于http、webservice终端;2)in-out类型:集成引擎发布api给第三方调用,同时返回应答消息,适用于http、webservice、定时任务终端;3)out类型:集成引擎往数据库更新数据,但不关心是否成功,适用于http、webservice、数据库终端;4)out-in类型:集成引擎调用第三方的api接口,且需要得到对方应答消息,适用于http、webservice终端。
[0029]
路由是对输入消息进行中间处理的组件,可实现消息处理、消息路由、消息转换、异常处理等功能,并把处理结果输出给下一个终端或路由节点。
[0030]
处理器是路由的处理节点组件,把企业集成模式(eip)的消息处理、路由、转换的经典操作进行封装,可提供数据过滤、数据映射、数据转换、数据拆分、发送消息响应、脚本、日志等功能。
[0031]
低代码设计器可提供默认的、可扩展的终端、路由、处理器基础组件。例如包括:http、webservice、数据库、定时器等四种终端;参数处理(消息处理的一种)、eip处理(例如消息路由、消息转换)、错误处理(异常处理的一种)三种路由;数据过滤、数据转换、发送消息响应、groovy脚本、日志记录等五种处理器组件。不同类型的终端、路由处理器都有自己独立的可视化属性编辑器。
[0032]
低代码设计器的交互总体逻辑是在总页面进行集成应用的总体流程绘制,即终端、路由的组合处理流程,然后进入到每个路由的配置子页面,进行处理器组合处理流程的绘制。每个集成应用包括一个in或in-out类型终端、一个或多个路由、一个或多个out或out-in类型终端,同时,每个路由包括一个输入、一个或多个处理器、一个或多个输出。终端不能直接连接终端,必须要通过路由,路由可以连接路由。
[0033]
每个集成应用与路由都有input、output两个虚节点,表示处理流程的开始与结束。一般来说,它们存在一个开始状态与一个或多个结束状态。集成应用第一个终端默认表示流程开始,不显示input字样,消息最后流向的组件显示output字样;路由处理则需要显式表示开始,如果只有一个结束处理器,默认表示流程结束,不显示output字样。
[0034]
图3示出了一个集成应用示例的可视化web设计结果。图4示出了图3中“路由《返回处理》”的配置子页面示例。
[0035]
前端转换模块104用于将可视化web设计结果转换为相应的元数据定义文件。
[0036]
元数据定义需要完整描述一个集成应用与其所包含的终端、路由、处理器等组件以及相互关系,同时还包括各组件属性。
[0037]
依据类型与通讯方式,各终端与处理器的属性集是不同的,需要分别事先定义,其
中:out-in的http终端的核心属性有hostname(远方主机ip)、port(端口)、resourceuri(url地址)、method(http方法)、requestheaders(请求消息头)、requestbody(请求消息体)、requesttimeout(请求延时);in-out的http终端的核心属性有hostname(主机ip)、port(端口)、resourceuri(url地址)、enablecors(是否支持跨域)、compressresponse(是否支持压缩)、responsetimeout(响应超时)等;out-in的webservice终端的核心属性有serviceaddress(服务地址)、operationname(操作方法)、portname(wsdl端口名称)、servicename(wsdl服务名)、namespaceuri(命名空间)、requestheaders(消息体)、connectiontimeout(连接超时)、soaprequesttemplate(soap请求模板);in-out的webservice终端的核心属性有serviceaddress(服务地址)、portname(wsdl端口名称)、servicename(wsdl服务名)、namespaceuri(命名空间)、responsetimeout(响应超时);数据库终端的核心属性有datasource(数据源)、type(操作类型有insert、update、delete、query)、script(sql语句)、params(参数列表)、enabletransaction(是否支持事务)、timeout(操作延时);定时器终端的核心属性有cron(cron表达式)、ifparallelprocess(是否并行)、dependencies(任务属性)。
[0038]
数据过滤处理器是对消息头的特征数据依据条件进行分支判断,依据分支,流转到下一个处理节点,它可以包含多个过滤条件,每个过滤条件的属性如下:cname(过滤条件名称)、id(目标节点id)、subtype(条件类型)、guimeta(页面过滤条件配置元数据)、expression(过滤的条件表达式)。各常用处理器属性各异,在此不再赘述。
[0039]
元数据定义需要描述低代码设计器画布上终端、路由、处理器各组件的坐标位置以及相互关系,相互关系通过连线来表达,一根连线两端是源与目标组件,连线箭头表示消息的流向。
[0040]
元数据定义可以json或xml数据格式来表达。
[0041]
元数据定义的核心结构及说明如下:
[0042]
[0043][0044]
通过可视化编程低代码设计器画布上的拖拉拽,确定集成应用的组件组合与流程定义,进而形成集成应用模型元数据定义文件。
[0045]
为了提高低代码编程效率,用户可以直接在groovy脚本处理器进行线上编程。即,基于开源的groovy脚本的web代码文本编辑器,所见即所得,编程操作跟线下ide基本一致,直接编辑代码,动态编译执行、测试发布,在web页面进行测试,能看到程序执行结果。发布后可以与groovy脚本处理器所属的集成应用建立绑定关系。集成引擎在执行集成应用时,动态执行该集成应用节点的脚本。
[0046]
后端api接口模块106用于调用相应api接口将元数据定义文件保存到数据库。后端api接口模块可遵循标准http restful api定义规范,核心接口有集成应用创建、修改、删除、查询等。
[0047]
新增接口:
[0048]
http://ip:端口号/create
[0049]
post方式
[0050]
请求体参数:元数据定义json文件
[0051]
返回体参数:成功或失败
[0052]
修改接口:
[0053]
http://ip:端口号/update?id=《集成应用id》
[0054]
post方式
[0055]
请求体参数:修改后的元数据定义json文件
[0056]
返回体参数:成功或失败
[0057]
删除接口:
[0058]
http://ip:端口号/delete?id=《集成应用id》
[0059]
post方式
[0060]
返回体参数:成功或失败
[0061]
本发明可不依赖前端框架,可以选择目前流行的react、vue等也可以使用原生的javascript/css/html5的方式来实现。
[0062]
集成应用管理模块108用于对完成的集成应用进行统一的生命周期管理,通过服务注册中心对外发布或反发布。发布新建的集成应用是把集成应用模型的元数据定义通知集成引擎并触发执行流程,同时同步到服务注册中心供外部调用。反之,反发布是中止集成引擎对集成应用的执行,同时删除服务注册中心相应的外部服务地址。
[0063]
集成引擎110用于在执行容器里对集成应用进行正确地部署、解析与执行,完成协议转换、数据转换、服务路由、服务编排、数据留存等核心功能、同时支持脚本执行。
[0064]
在实施例中,集成引擎基于开源apache camel与springboot来实现,集成引擎把数据库里的集成应用模型元数据定义转换为apache camel spring dsl文件,动态加载到spring环境,然后apache camel对spring dsl进行解析、构建与执行。
[0065]
集成应用模型元数据定义的核心解析转换规则例如包括:
[0066]
1)一个集成应用对应一个camelcontext;一个终端对应一个from或to函数;一个路由对应from与to之间多个处理函数的执行流片断或一个routeid;一个路由的处理器对应from与to之间的一个apache camel预置或自定义的处理函数;
[0067]
2)终端类型依据from或to函数的属性说明进行区别;
[0068]
3)对于参考apache camel的常见的、基础的处理器,两边直接映射解析,自定义处理器需要遵循apache camel自定义处理器定义规范。
[0069]
另外,为了保证groovy脚本的执行,集成引擎需要预置提供groovy的执行环境,同时,提供公共通用的系统资源管理例如数据源管理、变量管理、转换字典管理等。
[0070]
系统管理模块112用于对集成应用执行进行跟踪监控,提供日志,也可提供相关安全策略,对集群模式的节点进行统一管理。例如,可对各集成应用的终端、路由的输入、输出消息流进行细粒度实时监控:1)各终端、路由默认携带消息输入队列,输入输出两端增加数据统计切口,提供请求队列长度、消息总数、错误消息数、处理速率(消息数/秒);2)对错误消息进行捕获,记录错误堆栈;3)提供elasticsearch搜索引擎保证最小粒度信息记录留存以及快速查询。
[0071]
服务注册中心是集成应用的服务目录,服务目录提供in类型http或webservice终端对外提供的服务,服务相关信息包括:服务名称、服务访问地址等,它也是外部访问应用集成系统对外服务的公开唯一入口。集成引擎基于分布式架构,可以进行集群部署。二者结合可以对外提供高可用、高性能的数据集成服务入口。系统管理模块对服务注册中心与应用集成集成引擎集群进行统一管理,它们的相互关系为:应用集成管理模块发布、触发集成应用运行并同步到服务注册中心,服务注册中心通知调用方有新服务信息变更,调用方从服务注册中心获取服务信息并放到本地缓存,集成引擎运行集成应用,调用方从集成引擎进行服务调用。
[0072]
服务注册中心作为集成应用管理模块的一个子模块,技术实现可以用数据库、zookeeper、redis,本身是集群模式,对于应用集成引擎集群采用对等集群,可以使用nginx
做负载均衡作为前置分担服务的访问压力。
[0073]
应用集成系统的总体核心流程为:启动应用集成系统;集成引擎加载camel运行环境、加载自定义环境如groovy等;使用低代码设计器设计集成应用,包括新增、修改和/或删除,或者反发布后进行编辑;集成应用管理模块发布集成应用,触发集成应用运行,并同步到服务注册中心;集成引擎解析集成应用模型元数据定义而生成spring dsl并动态加载,camel解析和运行spring dsl;系统管理模块进行集成应用流程的实时监控跟踪。
[0074]
上面实施例的应用集成系统提供一种轻量级的、基于低代码设计器的完整解决方案,其提供了基于良好的应用集成模型定义的低代码交互模式,专业的研发人员与懂业务的实施人员都能容易地使用,降低了应用集成的技术门槛,同时可降低研发成本、提高实施效率。
[0075]
在另一实施例中,应用集成系统还可包括前端逆转换模块,用于响应于修改集成应用,将相应集成应用的元数据定义文件反向转换为相应的可视化web设计结果并在可视化web设计器的画布显示,用户可在可视化web设计器的画布进行重新设计,之后,前端转换模块根据修改后的可视化web设计结果形成修改后的元数据定义文件,后端api接口模块调用相应api接口将修改后的元数据定义文件更新到数据库。
[0076]
在另一实施例中,应用集成系统还可包括删除模块,用于用户查找要删除的集成应用并进行页面提交,之后,后端api接口模块调用相应api接口删除数据库中相应的元数据定义文件。
[0077]
在另一实施例中,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现结合图1所示所述的系统实施例或其它相应系统实施例的功能,在此不再赘述。
[0078]
在另一实施例中,本发明提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现结合图1所示所述的系统实施例或其它相应系统实施例的功能,在此不再赘述。
[0079]
在此所述的多个不同实施方式或者其特定特征、结构或特性可在本发明的一个或多个实施方式中适当组合。另外,在某些情形下,只要适当,流程图中和/或流水处理描述的步骤顺序可修改,并不必须精确按照所描述的顺序执行。另外,本发明的多个不同方面可使用软件、硬件、固件或者其组合和/或执行所述功能的其它计算机实施的模块或装置进行实施。本发明的软件实施可包括保存在计算机可读介质中并由一个或多个处理器执行的可执行代码。计算机可读介质可包括计算机硬盘驱动器、rom、ram、闪存、便携计算机存储介质如cd-rom、dvd-rom、闪盘驱动器和/或具有通用串行总线(usb)接口的其它装置,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。本发明可结合任何适当的操作系统使用。
[0080]
除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。
[0081]
前面说明了本发明的一些优选实施例,但是应当强调的是,本发明不局限于这些
实施例,而是可以本发明主题范围内的其它方式实现。本领域技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明做出各种变型和修改,这些变型或修改仍落入本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献