掌桥专利:专业的专利平台
掌桥专利
首页

一种基于微服务架构的低代码MOM平台

文献发布时间:2024-04-18 19:48:15


一种基于微服务架构的低代码MOM平台

技术领域

本申请涉及计算机技术领域,特别是涉及一种基于微服务架构的低代码MOM平台。

背景技术

随着互联网和移动互联网的快速发展,越来越多的企业开始构建自己的应用程序来满足业务需求。传统的MOM服务平台通过开发人员写作修改代码,打包部署、更新发布完后便可实现控制。在实现现有技术的过程中,发明人发现:传统的MOM服务平台的所要模块都集中在同一项目,导致整个项目变得臃肿,在后续开发者进行维护时需要耗费较长的时间,导致MOM开发平台的开发成本以及维护成本增加。因此需要提供一种成本较低的MOM服务平台以解决现有技术中MOM开发平台的开发成本以及维护成本高的问题。

发明内容

本申请实施例提供一种成本较低的MOM服务平台以解决现有技术中MOM开发平台的开发成本以及维护成本高的问题。

在本申请提供的一种基于微服务架构的低代码MOM平台,包括:

前端代码平台,编辑器,后端代码平台,所述后端代码平台包括数据库模块,对象管理模块,语句生成模块,服务生成打包发布模块,所述语句生成模块包括对象语句生成模块,对象语句转换模块。

进一步的,在本申请提供的一种优选实施方式中,所述数据库模块至少包括mysql、oracle、sqlserver中其中一种数据源。

进一步的,在本申请提供的一种优选实施方式中,所述对象管理模块,具体包括:

生成对象单元,用于生成预设需求的对象;

对象映射单元,用于将所述对象映射至数据库表;

其中,所述对象至少包括工单属性、物料清单属性;

所述工单属性至少包括工单的物料名称、物料料号;

将所述对象映射至数据库表,具体包括所述对象基于ORM框架,映射至数据库表结构。

进一步的,在本申请提供的一种优选实施方式中,将所述对象应用于预设自定义对象方法中,生成对应的SQL语句;

所述预设自定义对象方法根据定义对象从所述预设自定义对象方法集合中选出。

进一步的,在本申请提供的一种优选实施方式中,所述对象语句转换模块,具体用于:通过Spring Boot框架,将所述SQL语句转换为SERVICE;

所述Spring Boot框架中至少包括对所述SQL语句进行函数、注解转换为SERVICE。

进一步的,在本申请提供的一种优选实施方式中,服务生成打包发布模块用于将对象语句转换模块转换的SERVICE发布至平台。

进一步的,在本申请提供的一种优选实施方式中,所述低代码MOM平台,还包括:

统一的接口地址模块,以便于微服务架构的交互。

进一步的,在本申请提供的一种优选实施方式中,所述编辑器,还包括代码纠错模块,用于对后端代码平台的代码进行纠错。

进一步的,在本申请提供的一种优选实施方式中,所述前端代码平台,至少包括可配置化界面,用于配置预设需求。

本申请实施例提供的技术方案,至少具有如下有益效果:通过本申请提供的一种基于微服务架构的低代码MOM平台,能够解决现有技术中MOM开发平台的开发成本以及维护成本高的问题。此外本申请提供的低代码MOM平台,简化项目的开发难度,不需要维护数据库表结构和项目打包和发布的问题,减少了开发难度和开发时间。前端使用拖拽组件的形式,不需要写前端代码了,快速和简化前端开发的时间。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的一种基于微服务架构的低代码MOM平台的结构框图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参照图1,为本申请实施例提供的一种基于微服务架构的低代码MOM平台,具体包括:前端代码平台,编辑器,后端代码平台,所述后端代码平台包括数据库模块,对象管理模块,语句生成模块,服务生成打包发布模块,所述语句生成模块包括对象语句生成模块,对象语句转换模块。

具体的,传统的原生代码开发平台需要进行代码开发,开发完成之后需要进行测试以及bug修复的一系列繁琐工作。此外,传统的原生代码开发平台涉及到一些上下游合作方是紧耦合的串行开发模型,依赖方不提供接口,上游服务也没有办法进行该接口的开发工作。这增加了开发过程中大量的沟通成本和时间成本。而本申请提供的基于微服务架构的低代码平台技术人员可通过前端代码平台输入需求,然后通过后端代码平台实现该需求。降低了技术人员的工作量和对编码人员开发技能的要求。低代码平台套用封装代码,基本消除测试修复bug的环节。同时,低代码开发平台是松耦合的并发开发模型,大大降低开发中对合作方的依赖性,从而降低沟通和时间成本。

进一步的,所述数据库模块至少包括mysql、oracle、sqlserver中其中一种数据源。

具体的,本申请中数据库模块内设有多种数据源,包括mysql、oracle、sqlserver等。通过数据库内设的多种数据源,可根据用户需求调取数据库中与其相匹配的数据源进行使用。

进一步的,所述对象管理模块,具体包括:生成对象单元,用于生成预设需求的对象;对象映射单元,用于将所述对象映射至数据库表;其中,所述对象至少包括工单属性、物料清单属性;所述工单属性至少包括工单的物料名称、物料料号;将所述对象映射至数据库表,具体包括所述对象基于ORM框架,映射至数据库表结构。

具体的,生成对象单元用于生成预设需求的对象通常是指在软件开发过程中,根据用户或业务方的需求,定义一个或多个具有特定属性和行为的对象。这些对象可以是实体(Entity)对象、值对象(Value Object)或者领域对象(Domain Object)。在本申请提供的一种优选实施例中,工单(Work Order),物料清单(BOM),生产版本(Production Version),工艺路线(Routing)等都是被定义成对象的实体,需要定义其对应的属性,如工单的物料名称、物料料号、产线、工艺路线、生产版本、生产数量、工单类型、工单状态、开始时间、结束时间等,对于工艺路线对象,还需要定义与生产版本之间的关系,如关联关系、包含关系等。

基于ORM框架(Object-Relational Mapping Framework),将对象映射至数据库表结构。ORM框架可以将对象中的属性与数据库表中的列一一对应,从而实现对数据库的操作。在使用ORM框架时,需要先定义好数据库表的结构,包括表名、列名、数据类型、主键等信息。然后,通过ORM框架提供的API,将开发对象中的属性与数据库表中的列进行映射。在进行数据库操作时,可以直接调用ORM框架提供的方法,如增删改查等,从而实现对数据库的操作。应当指出的是,通过ORM框架的使用,可提高开发效率和代码质量。

总之,通过生成对象单元和对象映射单元能够规范对象的创建方法,减少代码的bug机率,可以提高开发效率和代码质量。

进一步的,所述对象语句生成模块,具体用于将所述对象应用于预设自定义对象方法中,生成对应的SQL语句;所述预设自定义对象方法根据定义对象从所述预设自定义对象方法集合中选出。

具体的,对象是指每个对象包含一组属性和方法,例如,对象为用户对象时,用户对象中可以是包含对象的姓名、年龄、性别等属性。预设自定义对象方法则是至少根据对象的属性从预设自定义对象集合中选出来的。例如在本申请提供的一个优选实施例中,预设自定义对象方法可以是一个排程方法,该排程方法至少根据对象的工单属性、工单属性和物料清单属性至少其中之一生成。例如,排程方法根据生产版本中的根据工单的物料获取对应的生产版本信息和物料清单中对象中根据物料料号获取该物料料号的物料清单树数据,会将工单排到某天某个产线生产的数量和物料信息。

还应当理解的是,排程方法可以是根据对象的一个属性或多个属性生成的,也即自定义对象方法集合中根据对象的属性数量生成多种自定义方法,也即自定义对象方法集合。

进一步的,所述对象语句转换模块,具体包括:通过Spring Boot框架,将所述SQL语句转换为SERVICE;所述Spring Boot框架中至少包括对所述SQL语句进行函数、注解转换为SERVICE。

具体的,SQL语句转换为对应的SERVICE,可以理解为转换为数据库操作语句,数据库可以是数据库模块中任一数据源。

还应当指出的是,对象语句转换模块,具体包括以下步骤:将生成的SQL语句通过Spring Boot框架中的函数或注解转换为对应的SERVICE。例如,在Spring Boot框架中,可以使用@Service注解将一个类定义为服务的实现类,使用@Repository注解将一个类定义为数据访问层的实现类。

进一步的,服务生成打包发布模块用于将对象语句转换模块转换的SERVICE发布至平台。服务生成打包发布模块是指将对象语句转换模块生成的SERVICE打包并发布到平台上,以便其他应用程序可以调用这些SERVICE。具体包括以下步骤:生成SERVICE:通过对象语句转换模块,将定义好的对象映射到相应的SERVICE中,生成对应的SERVICE代码。打包SERVICE:将生成的SERVICE代码打包成可执行文件或WAR文件,以便在平台上部署和运行。部署SERVICE:将打包好的SERVICE文件上传到平台上,并进行部署。在部署过程中,需要指定SERVICE的名称、端口号等信息,以便其他应用程序可以正确地调用该SERVICE。发布应用程序:在平台上发布应用程序时,可以将需要调用的SERVICE作为依赖项一起发布。当应用程序启动时,会自动加载并调用相应的SERVICE,从而实现各种功能。

进一步的,所述低代码MOM平台,还包括:统一的接口地址模块,以便于微服务架构的交互。

具体的,统一的接口地址模块是指为微服务提供一个公共的入口,以便于微服务的交互。具体包括以下步骤:确定接口地址:根据微服务的功能和部署情况,确定需要提供的接口地址。例如,可以将所有的RESTFUL接口都映射到/api路径下。配置负载均衡:在微服务架构中,通常会使用负载均衡来分发请求,从而提高系统的可用性和性能。因此,需要在负载均衡器中配置相应的规则,将请求转发到正确的微服务实例上。统一路由规则:为了方便应用程序进行调用,需要在应用程序中统一使用相同的路由规则。例如,可以使用SpringCloud框架中的@FeignClient注解来定义统一的路由规则。实现安全认证:在微服务架构中,安全性非常重要。因此,需要实现相应的安全认证机制,以保护系统的安全性。例如,可以使用OAuth2协议来进行身份验证和授权。

进一步的,所述编辑器,还包括代码纠错模块,用于对后端代码平台的代码进行纠错。

具体的,代码纠错模块还可以拓展为以下几个方面:智能提示:通过分析上下文信息和历史代码记录,提供更加智能化的代码提示功能,帮助开发者更快地找到需要的代码片段。错误检测:除了语法错误外,代码纠错模块还应该能够检测出其他类型的错误,如逻辑错误、类型不匹配等,并给出相应的提示和建议。

所述编辑器,还包括页面的签出签入功能,平台多人协作时,在协作环境下,多人可能需要对同一个页面进行编辑。如果多人同时编辑同一页面,就会发生编辑冲突,例如不同人对同一段代码进行修改,这就会造成混乱和错误。

为了避免这种情况发生,页面签出/签入是一个实用的功能。在这个模式下,每一个人在开始编辑页面之前,必须“签出”该页面。签出该页面后,其他人将无法编辑这个页面,直到签出人签入该页面。

这样,就可以避免多人同时编辑同一页面的问题。签出人可以放心地进行编辑,而其他人可以看到该页面已被签出,并知道他们应该等到签出人签入后,再进行编辑。

当签出人完成编辑,并提交他们的更改时,页面就会被“签入”。此时,其他人将可以再次进入该页面进行编辑。

总之,页面签出/签入功能是一个非常有用的协作工具,可以帮助多人在共享页面时,避免编辑冲突和错误,从而提高协作效率。

进一步的,所述前端代码平台,至少包括可配置化界面,用于配置预设需求。

具体的,前端代码平台的可配置化界面可以理解为用户可操作的界面,用户通过将作业需求在可操作的界面中进行拖拉拽的操作,生成初始的预设需求。

进一步的,前端代码平台通过用户需求,通过后端代码平台生成需要执行的方法,该执行方法通过平台的定时任务功能,以应对分布式系统中需要执行的定时任务,由于集群中的节点可能分布在不同的服务器上,因此需要将这些节点协调起来,按时执行各自的定时任务。该方法用户只需要聚焦在业务层面,不需要考虑配置部署定时任务的问题。

应当指出的,前端代码平台用于生成预设需求,然后后端代码平台根据前端代码平台的预设需求进行代码的编辑生成。该过程降低了研发人员的工作量和对编码人员开发技能的要求。低代码平台套用封装代码,基本消除测试修复bug的环节。同时,低代码开发平台是松耦合的并发开发模型,大大降低开发中对合作方的依赖性,从而降低沟通和时间成本。

前端代码平台除了可配置化界面外,可配置化界面具体包括:可视化编辑器,通过引入可视化编辑器技术,可以使前端代码平台更加易于使用和理解。开发者可以通过拖拽、连线等方式快速搭建页面,而不需要手动编写HTML、CSS等代码。组件库,前端代码平台可以提供丰富的组件库,包括常用的UI组件、图表组件等,以供开发者快速调用和使用。这样可以减少重复编写代码的工作量,提高开发效率。数据可视化,前端代码平台可以将数据可视化,通过图表等方式直观地展示数据,帮助开发者更好地理解数据特征和趋势。同时,也可以通过数据可视化来发现潜在的问题和异常情况。自动化测试,前端代码平台可以集成自动化测试工具,对页面进行自动化测试,以保证页面的质量和稳定性。这样可以减少手动测试的工作量,提高测试效率和准确性。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

技术分类

06120116307751